> For the complete documentation index, see [llms.txt](https://manual.karamba3d.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manual.karamba3d.com/3-in-depth-component-reference/3.4-joint/3.3.5-beam-joint-agent.md).

# 3.4.2: Beam-Joint Agent

![Fig. 3.4.2.1: Defining a hinge based on geometric relations using a “Beam-Joint Agent”-component](/files/-MCkE_VrLfIVuI4O-B3r)

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

The **“Beam-Joint Agent”**-component creates hinges on beams based on geometric relations. Fig. 3.3.2.1 shows three different but equivalent possibilities for defining a joint. The element or the group of elements where the joint(s) shall be placed is set by providing a list of element identifiers at the **“AtElemsIds”** input-plug. Upon assembly, the beam-joint agent tests the model-elements and places hinges when **all** of the following conditions - in case specified by the user - apply:

* The node on the at-element connects to an element whose identifier is listed in the **“ToElemIds”** input.
* The node on the at-element connects to a node which has a number listed in the **“ToNodeInd”** input.
* The node on the at-element lies on one of the geometric items supplied in **“ToGeom”**. This can be points, curves, planes, breps or meshes. The tolerance for two geometric items touching in space is **“LDist”** as defined on model assembly (see section [3.1.1](/3-in-depth-component-reference/3.1-model/3.1.1-assemble-model.md)).

The meaning of **“Ct”**, **“Cr”** and **“Dofs”** is analogous to that of the Beam-Joints-component featured in section [3.4.1](/3-in-depth-component-reference/3.4-joint/3.3.6-beam-joints.md).

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

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

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