# 3.1.1: Assemble Model

In order to calculate the behavior of a real world structure one needs to define its geometry, loads and supports. The component **“Assemble”** gathers all the necessary information and creates a structural model from it (see fig. 3.1.1.1).

![ Fig. 3.1.1.1: The “Assemble”-component gathers data and creates a model from it.](/files/-M9XuThZ0cvHKIC4L3g9)

In case that some beams were defined by node indexes then these will refer to the list of points given at the **“Pt”**-input-plug: the first node in the list has index zero in the model, the next one index one, and so on. The **“Pt”**-input can also be used to give the model nodes a specific order.

The value at the input-plug **“LDist”** defines the distance of points below which they will be merged to one. This helps in dealing with inaccurate geometry. The limit distance default value is $$5mm$$.

{% hint style="info" %}
By default, elements with coincident nodes get rigidly connected.
{% endhint %}

Snapping together of nodes does not apply to points given via the **“Pt”**-input-plug. This can be used for defining zero length springs – think e.g. of the bolt which connects the two pieces of a scissor mechanism. In such a case one can provide duplicate points via the **“Pt”**-input. Elements, which connect to these points do so in alternating fashion: the first element in the model connects to the first duplicate node, the elements after that to the second, and so on. The actual connection between the elements can be made via a spring with zero length as shown in fig. 3.1.1.2. The local axes of zero length spring elements correspond by default to the global coordinate system. In order to define zero length elements provide duplicate points at the **“Pt”**-input of the **“Assemble”**- and **“LineToBeam”**-component. Elements attach to these nodes in alternating fashion.

![Fig. 3.1.1.2: Zero length elements](/files/-M9XuThbBQHeFpvDrZ5D)

Cross sections of elements and materials can be defined either upon creating an element or at the **“Assemble”**-component. The latter option overrides the former and assigns cross sections and materials via element identifiers. Using regular expressions for selecting identifiers of elements provides a flexible means of attaching cross sections and materials to different parts of a model.

The output-plug **“Mass”** renders the mass of the structure in kilogram and includes user specified point-masses. **“COG”** represents the position of the center of gravity. When being plugged into a panel the model prints basic information about itself: number of nodes, elements, and so on. At the start of the list the characteristic length of the model is given, which is calculated as the distance between opposing corners of its bounding box.


---

# 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://manual-1-3.karamba3d.com/3-in-depth-component-reference/3.1-model/3.1.1-assemble-model.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.
