# 3.3: Cross Section

Karamba3D offers cross section definitions for beams, shells and springs. They can be generated with the “Cross Sections” multi-component. Use the drop-down list on the bottom to chose the cross section type.

The dimensions of each cross section may be defined manually or by reference to a list of cross sections (see section [3.3.10](/3-in-depth-component-reference/3.3-cross-section/3.3.10-cross-section-selector.md)).

<figure><img src="/files/AZyqYap5HIKv89lHGT7m" alt=""><figcaption><p>Fig. 3.3.1: Cantilever with four different kinds of cross sections</p></figcaption></figure>

Cross sections can be plugged directly into the components for creating elements (**“LineToBeam”**, **“MeshToShell”**, …). Alternatively when fed into an **“Assemble”**-component (see fig. 3.3.1) they act on the elements whose identifiers match the string given via **“Elem|Id”**. In case an element is provided at the **“Elem|Id”**-input, its identifier is used for attaching the cross section to elements. A cross section added via the **“Assemble”**-component overrides a cross section provided directly at an element-creation-component.

The indirect cross section specification through the **“Assemble”**-component has the advantage that elements can be specified using regular expressions. Upon assembly all element identifiers are compared to the **“Elem|Id”** entry of a cross section. In case of a match the cross section is attached to the element. An empty string – which is the default value – signifies that the cross section shall be applied to all elements. If two cross sections refer to the same element then that which gets processed later by the assemble-component wins. It makes no sense to attribute beam cross sections to shells and vice versa – Karamba3D ignores any such attempts.

{% file src="/files/u5zQvqZAHs4L036LiSV6" %}

{% file src="/files/c0rqpKNdrLvtuC04u9cQ" %}


---

# 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.karamba3d.com/3-in-depth-component-reference/3.3-cross-section.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.
