> For the complete documentation index, see [llms.txt](https://manual-2.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-2.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)

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/Or6oXVgpA6Pep3dS5Vkr" %}

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

{% file src="/files/1yHI6Wq3tMOmQOSxZCMM" %}
