# Simplified bolt connection with beam element and rigid constraints

**URL:** <https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328>\
**Category:** General Questions\
**Created:** [March 10, 2026, 8:19am UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328 "2026-03-10T08:19:54Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![qfontaine](https://avatars.discourse-cdn.com/v4/letter/q/94ad74/32.png) [@qfontaine](https://prepomax.discourse.group/u/qfontaine)\
**Post date:** [March 10, 2026, 8:19am UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/1 "2026-03-10T08:19:54Z")

</div>

Hello,

I am using PrePoMax with the CalculiX solver and I would like to model a simplified bolted connection using a beam element. I do not model the bolt or washers as solids; I just want to connect two clamped surfaces.

I understand that I need to:

- create a **beam section** for the bolt, and

- connect the degrees of freedom of the surfaces to the beam nodes using \*EQUATION or similar constraints.

Could you please provide a simple, detailed example model showing step-by-step how to:

1. Create the beam section.

2. Define reference nodes for the surfaces.

3. Connect the surfaces to the beam nodes so that all relevant DOFs are properly transferred.

A small example file or a workflow description would be extremely helpful for understanding the correct way to implement this in PrePoMax.

Thank you very much for your help.

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [March 10, 2026, 8:22am UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/2 "2026-03-10T08:22:51Z")

</div>

Bolts are the most common topic here, so you can find many threads and examples about them. However, in PrePoMax/CalculiX, they are usually modeled using solid elements, sometimes springs or rigid links (couplings/rigid body constraints). The approach with beams is more tricky. Here are some examples:

> [@Beam Element connections between Two plates (2D)](https://prepomax.discourse.group/t/beam-element-connections-between-two-plates-2d/2821):
>
> Good afternoon to all If any one can help me to create (circular beam elements in between two plates ). I am Struggling to get output results . i got this type of error as show in the pictures . Explain where i made mistake . Thanks …

> [@Modeling bolt connection with preloaded beam element](https://prepomax.discourse.group/t/modeling-bolt-connection-with-preloaded-beam-element/1412):
>
> Hi everybody, it’s my first time here so i’d like, first, to say thank you to the people that are improving the software. I’m planning to test this software in some jobs where i’m using Ansys (some simple structures). The future objective is to use PrePoMax in the early stage of the design and Ansys only for the final checks. The software has almost all the needed features, the only thing that is missing is the design of bolt connections. I’m tryng to create the missing parts with the editor …

For the other 1D element approaches see those threads:

> [@Why the top plate displacement is zero?](https://prepomax.discourse.group/t/why-the-top-plate-displacement-is-zero/2667):
>
> I run the model in PrePoMax . the model is like lap joint of two plates with help of three rivets for this model rivets replaced with springs . after running the model . i got the top plate displacement is zero. if anyone can clarify my doubt . below are the results images .

> [@Quick connection of assembled parts](https://prepomax.discourse.group/t/quick-connection-of-assembled-parts/2058):
>
> Hello! I hope you’re all doing fine. Since I work mostly with riveted joints with dozens, hundreds if not thousands of rivets, usually setting up so many connections is very tedious. To improve this aspect and bring new functionalities to the software, I would like to suggest faster ways to connect many parts. RBE connecting many geometric features: in this tool, the selected geometries would be connected together using a RBE. One can select adjacent edges that will be glued or welded togethe…

And a video example here: [https://www.youtube.com/watch?v=AiLCzKAOdx0](https://www.youtube.com/watch?v=AiLCzKAOdx0)

---

<div class="post-metadata">

**Author:** ![qfontaine](https://avatars.discourse-cdn.com/v4/letter/q/94ad74/32.png) [@qfontaine](https://prepomax.discourse.group/u/qfontaine)\
**Post date:** [March 10, 2026, 11:39am UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/3 "2026-03-10T11:39:21Z")

</div>

Thank you so much for your help this morning!

Here is my model :

 ![image](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/2/2d31dbd0238593610af0b038aa757913b5ecfb40.jpeg)

 ![image](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/6/6f5d1ca15a5e0d2dcf6af4d40b211d4c77910090.jpeg)

I’ve reached the following stage in my `.inp` file:

```auto
**
** Heading +++++++++++++++++++++++++++++++++++++++++++++++++
**
*Heading
Hash: DNXQftHo, Date: 03/10/2026, Unit system: MM_TON_S_C
**
** Nodes +++++++++++++++++++++++++++++++++++++++++++++++++++
**
*Node
... hidden data ...
25965, 0, 0, 0
**
** Elements ++++++++++++++++++++++++++++++++++++++++++++++++
**
*Element, Type=C3D10, Elset=B
... hidden data ...
*Element, Type=C3D10, Elset=A
... hidden data ...
*Element, Type=B32, Elset=EBolt0
9614, 25964, 25965, 25966
**
** Node sets +++++++++++++++++++++++++++++++++++++++++++++++
**
*Nset, Nset=head
... hidden data ...
*Nset, Nset=nut
... hidden data ...
*Nset, Nset=Internal-1_sHead
... hidden data ...
*Nset, Nset=Internal-1_sNut
... hidden data ...
*Nset, Nset=Internal_Selection-1_Fixed-1
... hidden data ...
*Nset, Nset=force
... hidden data ...
*Nset, Nset=Internal-1_sForce
... hidden data ...
*Nset, Nset=cA
... hidden data ...
*Nset, Nset=cB
... hidden data ...
*Nset, Nset=Internal-1_sCA
... hidden data ...
*Nset, Nset=Internal-1_sCB
... hidden data ...
**
** Additional node sets ++++++++++++++++++++++++++++++++++++
**... hidden data ...
**
** Element sets ++++++++++++++++++++++++++++++++++++++++++++
**
*Elset, Elset=Internal-1_sHead_S4
... hidden data ...
*Elset, Elset=Internal-1_sHead_S1
... hidden data ...
*Elset, Elset=Internal-1_sHead_S3
... hidden data ...
*Elset, Elset=Internal-1_sHead_S2
... hidden data ...
*Elset, Elset=Internal-1_sNut_S1
... hidden data ...
*Elset, Elset=Internal-1_sNut_S4
... hidden data ...
*Elset, Elset=Internal-1_sNut_S2
... hidden data ...
*Elset, Elset=Internal-1_sNut_S3
... hidden data ...
*Elset, Elset=Internal-1_sForce_S3
... hidden data ...
*Elset, Elset=Internal-1_sForce_S2
... hidden data ...
*Elset, Elset=Internal-1_sForce_S4
... hidden data ...
*Elset, Elset=Internal-1_sForce_S1
... hidden data ...
*Elset, Elset=Internal-1_sCA_S1
... hidden data ...
*Elset, Elset=Internal-1_sCA_S2
... hidden data ...
*Elset, Elset=Internal-1_sCA_S4
... hidden data ...
*Elset, Elset=Internal-1_sCA_S3
... hidden data ...
*Elset, Elset=Internal-1_sCB_S2
... hidden data ...
*Elset, Elset=Internal-1_sCB_S1
... hidden data ...
*Elset, Elset=Internal-1_sCB_S3
... hidden data ...
*Elset, Elset=Internal-1_sCB_S4
... hidden data ...
*Elset, Elset=Internal_Selection-1_Solid_Section-1
... hidden data ...
**
** Surfaces ++++++++++++++++++++++++++++++++++++++++++++++++
**
*Surface, Name=sHead, Type=Element
Internal-1_sHead_S4, S4
Internal-1_sHead_S1, S1
Internal-1_sHead_S3, S3
Internal-1_sHead_S2, S2
*Surface, Name=sNut, Type=Element
Internal-1_sNut_S1, S1
Internal-1_sNut_S4, S4
Internal-1_sNut_S2, S2
Internal-1_sNut_S3, S3
*Surface, Name=sForce, Type=Element
Internal-1_sForce_S3, S3
Internal-1_sForce_S2, S2
Internal-1_sForce_S4, S4
Internal-1_sForce_S1, S1
*Surface, Name=sCA, Type=Element
Internal-1_sCA_S1, S1
Internal-1_sCA_S2, S2
Internal-1_sCA_S4, S4
Internal-1_sCA_S3, S3
*Surface, Name=sCB, Type=Element
Internal-1_sCB_S2, S2
Internal-1_sCB_S1, S1
Internal-1_sCB_S3, S3
Internal-1_sCB_S4, S4
**
** Physical constants ++++++++++++++++++++++++++++++++++++++
**
**
** Coordinate systems ++++++++++++++++++++++++++++++++++++++
**
**
** Materials +++++++++++++++++++++++++++++++++++++++++++++++
**
*Material, Name=S355
*Density
7.8E-09
*Elastic
210000, 0.28
*Expansion, Zero=20
1.1E-05
*Conductivity
14
*Specific heat
440000000
**
** Sections ++++++++++++++++++++++++++++++++++++++++++++++++
**
*Solid section, Elset=Internal_Selection-1_Solid_Section-1, Material=S355
*Beam Section, elset=EBolt0, material=S355, section=CIRC
8.0
1,0,0
 ** M16

*EQUATION
2
25964,1,1.,1,1,-1.
2
25964,2,1.,1,2,-1.
2
25964,3,1.,1,3,-1.
*EQUATION
2
25966,1,1.,2,1,-1.
2
25966,2,1.,2,2,-1.
2
25966,3,1.,2,3,-1.
**
** Pre-tension sections ++++++++++++++++++++++++++++++++++++
**
**
** Constraints +++++++++++++++++++++++++++++++++++++++++++++
**
*Rigid body, Nset=Internal-1_sHead, Ref node=25964, Rot node=25965
*Rigid body, Nset=Internal-1_sNut, Ref node=25966, Rot node=25967
*Rigid body, Nset=Internal-1_sForce, Ref node=25968, Rot node=25969
**
** Surface interactions ++++++++++++++++++++++++++++++++++++
**
*Surface interaction, Name=Surface_Interaction-1
*Surface behavior, Pressure-overclosure=Linear
10000000, 2.86
*Friction
0.1
**
** Contact pairs +++++++++++++++++++++++++++++++++++++++++++
**
*Contact pair, Interaction=Surface_Interaction-1, Type=Surface to surface
sCB, sCA
**
** Amplitudes ++++++++++++++++++++++++++++++++++++++++++++++
**
**
** Initial conditions ++++++++++++++++++++++++++++++++++++++
**
**
** Steps +++++++++++++++++++++++++++++++++++++++++++++++++++
**
**
** Step-1 ++++++++++++++++++++++++++++++++++++++++++++++++++
**
*Step
*Static
**
** Controls ++++++++++++++++++++++++++++++++++++++++++++++++
**
**
** Output frequency ++++++++++++++++++++++++++++++++++++++++
**
**
** Boundary conditions +++++++++++++++++++++++++++++++++++++
**
*Boundary, op=New
** Name: Fixed-1
*Boundary
Internal_Selection-1_Fixed-1, 1, 6, 0
**
** Loads +++++++++++++++++++++++++++++++++++++++++++++++++++
**
*Cload, op=New
*Dload, op=New
** Name: Concentrated_Force-1
*Cload
25968, 3, -50000
**
** Defined fields ++++++++++++++++++++++++++++++++++++++++++
**
**
** History outputs +++++++++++++++++++++++++++++++++++++++++
**
**
** Field outputs +++++++++++++++++++++++++++++++++++++++++++
**
*Node file
RF, U
*El file
S, E, NOE
**
** End step ++++++++++++++++++++++++++++++++++++++++++++++++
**
*End step

```

Should I enable NL geom?

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [March 10, 2026, 11:51am UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/4 "2026-03-10T11:51:13Z")

</div>

Can you share the .pmx file ?

I would try without Nlgeom first. Nonlinearities (and other complex features) should be introduced gradually.

---

<div class="post-metadata">

**Author:** ![qfontaine](https://avatars.discourse-cdn.com/v4/letter/q/94ad74/32.png) [@qfontaine](https://prepomax.discourse.group/u/qfontaine)\
**Post date:** [March 10, 2026, 11:53am UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/5 "2026-03-10T11:53:38Z")

</div>

[test\_bolt.pmx](https://prepomax.discourse.group/uploads/short-url/f4qzsDj9p3INOatPvGhngCk4zLz.pmx) (770.0 KB)

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [March 10, 2026, 12:47pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/6 "2026-03-10T12:47:09Z")

</div>

Since you already have rigid body constraints there, you can just try adding beam element nodes to rigid body constraint node sets. Then you won’t need \*EQUATION:

[test\_bolt 2.pmx](https://prepomax.discourse.group/uploads/short-url/7dvhPSys1QpECgYCtEO5lrxR8Cy.pmx) (779.3 KB)

I also changed the beam profile to rectangular so that two-node beam element (B31) can be used.

If you want to use a different approach, the recommended way is to use \*EQUATION with distributing coupling constraints: [Modeling bolt connection with preloaded beam element - #5 by FEAnalyst](https://prepomax.discourse.group/t/modeling-bolt-connection-with-preloaded-beam-element/1412/5)

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [March 10, 2026, 1:00pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/7 "2026-03-10T13:00:32Z")

</div>

first the model is unstable since one bolt only, add rotational restraint around Z axes at load nodes and below my approach by using B32R element.

p.s beam and shell element connected to rigid body not allowed in latest CalculiX solver.

 ![2026-03-10 19_51_43-](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/2/21dde638d565f3c5eb74391503dcc7cb87847628.png)

 ![2026-03-10 19_57_44-](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/b/b0a0172f157a764df955a00ed8547ad10e829632.png)

---

<div class="post-metadata">

**Author:** ![qfontaine](https://avatars.discourse-cdn.com/v4/letter/q/94ad74/32.png) [@qfontaine](https://prepomax.discourse.group/u/qfontaine)\
**Post date:** [March 10, 2026, 1:03pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/9 "2026-03-10T13:03:29Z")

</div>

Thank you for your time. I will study this approach.

---

<div class="post-metadata">

**Author:** ![qfontaine](https://avatars.discourse-cdn.com/v4/letter/q/94ad74/32.png) [@qfontaine](https://prepomax.discourse.group/u/qfontaine)\
**Post date:** [March 10, 2026, 1:04pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/10 "2026-03-10T13:04:36Z")

</div>

Can you send me your .pmx file ?

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [March 10, 2026, 1:05pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/11 "2026-03-10T13:05:11Z")

</div>

As can be seen in this example, rigid body constraint can work with beam elements (at least without Nlgeom) so it’s another, very good reason to ask Guido to remove this limitation introduced in ccx 2.23: [Rigid body cannot be used with shells at all in ccx 2.23 · Issue #134 · Dhondtguido/CalculiX · GitHub](https://github.com/Dhondtguido/CalculiX/issues/134)

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [March 10, 2026, 1:07pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/12 "2026-03-10T13:07:31Z")

</div>

attached modified files,

[test\_bolt\_mod.pmx](https://prepomax.discourse.group/uploads/short-url/w7ScJcC0NYtxKst8a27zAyYcYZZ.pmx) (772.8 KB)

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [March 10, 2026, 1:16pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/13 "2026-03-10T13:16:21Z")

</div>

> [@FEAnalyst](#):
>
> so it’s another, very good reason to ask Guido to remove this limitation introduced in ccx 2.23

i hope so, these features keep i.e not change but i did not know exactly about the reason to remove. Maybe this modeling approach leading to many problems and raised to bunch of repetitive question since user expected to work in general case.

---

<div class="post-metadata">

**Author:** ![qfontaine](https://avatars.discourse-cdn.com/v4/letter/q/94ad74/32.png) [@qfontaine](https://prepomax.discourse.group/u/qfontaine)\
**Post date:** [March 10, 2026, 1:17pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/15 "2026-03-10T13:17:49Z")

</div>

Why did you create two beams in your model ? One for Ref and one for Rot ? Why did blocked the displacements U2 displacements here ?

 ![image](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/6/6771996bb25e91ed7a437cf090fc2386ce98b554.jpeg)

Can you tell me what is the difference between B32 and B32R ?

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [March 10, 2026, 1:28pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/16 "2026-03-10T13:28:08Z")

</div>

> [@qfontaine](#):
>
> Can you tell me what is the difference between B32 and B32R ?

R stands for reduced integration - less integration points for stress/strain calculations.

> The B31 and B31R elements are expanded into C3D8I and C3D8R elements, respectively. Since the C3D8R element has only one integration point in the middle of the element, bending effect cannot be taken into account. Therefore, the B31R element should not be used for bending.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [March 10, 2026, 1:35pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/17 "2026-03-10T13:35:28Z")

</div>

> [@qfontaine](#):
>
> Why did you create two beams in your model ?

it’s for clamping to generate bending and shear transfer mechanism.

> [@qfontaine](#):
>
> Why did blocked the displacements U2 displacements here ?

one bolt is prone in stability of model, previously i do quick checking in Z axes force loads only. Released Y translation restraint when load in this direction needed to consider.

 ![2026-03-10 20_25_37-](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/0/0db97ee3d82b52ed007328b629d28ec5efddff92.png)

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [March 10, 2026, 1:41pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/18 "2026-03-10T13:41:10Z")

</div>

> [@qfontaine](#):
>
> Why did you create two beams in your model ? One for Ref and one for Rot ?

It’s something like this, basically (of course, the red and blue lines are the two beams, offset from each other just to visualize them):

 ![bolt](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/e/e733334996fcc37727d03422495b8c30761c99e2.png)

```auto
*Element, Type=B32R, Elset=EBolt
9614, 25964, 25968, 25966
*Element, Type=B32R, Elset=EBolt
9615, 25965, 25969, 25967

*Rigid body, Nset=Internal-1_sHead, Ref node=25964, Rot node=25965
*Rigid body, Nset=Internal-1_sNut, Ref node=25966, Rot node=25967
*Rigid body, Nset=Internal-1_sForce, Ref node=25968, Rot node=25969

25968, 0, 0, 0
25969, 0, 0, 0

```

Note the force RP nodes being moved to serve as beam midside nodes.

Unfortunately, this won’t work in ccx 2.23 (PrePoMax uses 2.23 for now anyway):

```auto
 *ERROR in gen3dmpc: nodes belonging to
        beam elements must not be
        subject to a RIGID MPC.

```

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [March 10, 2026, 1:55pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/19 "2026-03-10T13:55:01Z")

</div>

> [@FEAnalyst](#):
>
> Note the force RP nodes being moved to serve as beam midside nodes.

so, i miss at this when nodes 25968 already used in reference point. Two extra nodes need to start after these number.

below corrected ones.

 ![2026-03-10 20_52_42-](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/5/52bd80c956588be62e9d7a3388fdddb1e34dbf90.png)

 ![2026-03-10 20_53_23-](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/7/7420f47b6781ee3488c0b993bc24baafd6dd050e.png)

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [March 10, 2026, 2:00pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/20 "2026-03-10T14:00:35Z")

</div>

25969 is also used in the Force rigid body constraint as it’s ROT node. So shouldn’t the extra nodes be 25970 and 25971 ?

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [March 10, 2026, 2:05pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/21 "2026-03-10T14:05:36Z")

</div>

> [@FEAnalyst](#):
>
> So shouldn’t the extra nodes be 25970 and 25971 ?

right i still missing, let me review again my modeling approach.

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [March 10, 2026, 2:11pm UTC](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328/22 "2026-03-10T14:11:21Z")

</div>

Then I guess we just end up with this:

 ![bolt 2](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/b/b4e4501651800a6cbbf9773bac957ef77d1af33d.png)

[test\_bolt\_mod 2.pmx](https://prepomax.discourse.group/uploads/short-url/6KSDquT5y7L7OtwG2qV6kyBSLkm.pmx) (774.4 KB)

[Next page](https://prepomax.discourse.group/t/simplified-bolt-connection-with-beam-element-and-rigid-constraints/3328.md?page=2)
