# Components

In the composite element, components can be created directly. The function '2-1-1 Constant Cross-Section General' from DICAM is generally used with the option 'point to point'.

When a component is created, it is assigned a component number automatically: B1, B2, etc.

* The component number is displayed on the left in the tree element of the composite element.
* Point symbols can be applied to these components. For this purpose, the components are specified in the point symbols using their component number: B1, B2, etc.
* A description can be entered on the right below the auxiliary image. This is used for documentation. The first part of the description is also displayed on the left in the tree element of the composite element. This makes it much faster to identify the component in the tree element.

'insert in composite element' and conditions:

* Here, the conditions under which the component is to be created can be defined. Further information can be found in the chapter 'Conditions'.

Identification numbers can be set as fixed values or queried via variables.

* These identification numbers can be queried together with the other variables. The identification browser is opened via the browser button.
* Identification numbers can be queried via variables with the unit 'IdnroP' (identification number without profile description) or 'IdnrB' (identification number of components). Alternatively, enumerations (enum) or text inputs (txt) can also be used.
* The identification number can also be taken from a query body.
* The identification number can also be composed from text fragments. In this way, a dimension can be incorporated into the identification number, for example. Example: An identification number is to be composed from the text '**Pipe**' and the length from **VL** in mm without decimal places. The expression for the identification number is then: **Pipe#VL\[mm,0]#**. See also the chapter 'Variables in Texts, Identification Numbers'

Texture set and additional color for the texture can be set as fixed values or queried via variables.

* In variable query, the texture browser is opened via the browser button, from which textures are selected with graphical preview. Accordingly, the color browser is opened for the 'additional color for texture'.

Insert into group / building element:

* The generated component is assigned to the specified group (MOS).
* The generated component is assigned to the specified building element.
* The group can also be defined via variables, so it can be queried. Variables with the units number, txt (texts), or Enum (enumerations) are taken into account. For an entry in the 'Group' field, the variable must be enclosed in # : **#VGruppe#**.

Insert into position (empty = outside) / orientation:

* Orientation = free: The component is created directly at the specified points. It is then assigned to the building element specified above, but has an orientation corresponding to the insertion coordinate system.
* Orientation = parallel to building element: A position can now also be specified. The specified points are projected perpendicularly to the building element into the position. Only then is the component created at the projected points. The further orientation is based on the base coordinate system of the building element.
* For position = empty, the points are projected onto the surface of the building element. For walls and frame structures, this is the front or back side, depending on the position of the insertion coordinate system. For ceilings and roof surfaces, this is always the top side.
* For insertion into a storey, roof, or free construction, the orientation is automatically set to 'free'.
* The position can also be defined via variables, so it can be queried. Variables with the units number, txt (texts), or Enum (enumerations) are taken into account. For an entry in the 'Position' field, the variable must be enclosed in # : **#VLage#**.
* After creation, the component can be assigned to any number of free MOS.
* The free MOS are simply specified as text; multiple entries are separated by tilde \~.
* Length and cross-section dimensions can be entered as fixed values, queried via variables, or determined using formulas.
* Likewise, the extensions at the start and end can be specified.
* For precise positioning, the corresponding points on the component (corners or axis) are selected.
* In addition, the offsets and the tilt angle are specified.
* The coordinates of the insertion points for point-to-point insertion are specified in pairs. A component is created for each pair. The coordinate systems must be observed when specifying the point coordinates; see chapter 'Coordinate Systems'.

Distributions in components

In the coordinates of the position points of components, repetitions can be formulated:

* Each coordinate receives an entry in the form (**start value\~increment\~count**). Count 1 means that no increment is performed, so only one object is created at the start value.
* When repeats are defined, they must be generated in X, Y, and Z.

> **X(1.0\~0.1\~5)Y(0.0\~0.0\~1)Z(0.0\~0.0\~1)** Row along X with 5 elements, starting at 1.0 with increment 0.1
>
> **X(1.0\~0.1\~5)Y(0.0\~0.2\~4)Z(0.0\~0.0\~1)** Row along X with 5 elements, starting at 1.0 with increment 0.1, this row 4 times along Y with spacing 0.2.

* These repetitions can be used to create rows, grids, or 3D grids of components in a single step.
* For components, there is a start point and an end point. For the components, the first start point is connected to the first end point, the second to the second, and so on.
* If components are referenced elsewhere (B1, B2, ..), for example in connections, then the entry includes all components that were created with the repetition.

Connection start, connection end:

* For the connection at the start and end of the component, suitable settings for tenons, offsets, etc. can be selected.
* These connections are executed at the end of the component generation, i.e., if necessary after cutting out with a position. Cutting out with a position can therefore also be used together with connections for an initial reduction in length.
* When connecting, all other components created with the current composite element are also found. If a second component has the corresponding length, then an initially created component will also connect to it. Since the lengths of the components change due to the connection, the result may still differ depending on the order.
* The connection functions search from the ends of the generated component for components to connect to. In doing so, they are extended by at most the limit value specified in DICAM 1-7-8; this is independent of the current model area.
* No connection is made to components that are completely penetrated by the currently generated component. The generated component must therefore initially end before or within the other component.
* As a rule, the connections are described in the settings with fixed values. However, if variables were used in the settings, they can also be set in the composite element. They are passed on to the connection setting. See also the external identifier in the chapter on the variable system.

Cutting out with position, offset A/I:

* Each component can be cut out using the contour of a position. The component does not have to lie in this position or be assigned to it. It may also lie completely outside the building element geometrically. Cutting out is also independent of the component type, so the component does not have to be a slab.
* For cutting out, the lines of the outer and inner polygons of the specified position are first shifted by the offsets A/I: Offset A refers to the outer polygons, offset I to the inner polygons (openings). A positive offset enlarges the material area, thus shifting an outer line further outward and an inner line further into the opening.
* The adjusted polygon is now shifted perpendicular to the building element for cutting out the component.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dietrichs.com/dietrichs-intelligent-documentation/docs-de-en/combined-elements/create-edit-combined-elements/components.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
