Hello,
with API II, I noticed the following bug when creating the MembersTable:
The first member in the table is always assigned a support upon creation, even if this attribute is False.
This behavior occurs exclusively during creation (.create), not during updating (.update).
Of course, I have attached an exemplary model and script to reproduce the issue.
Best regards
20260604_Bug_Report_SteelJoint_MembersTable.rf6 (1.1 MB)
from dlubal.api import rfem
from dlubal.api.rfem.steel_joints_objects import SteelJoint
def _make_joint(no: int, name: str) -> SteelJoint:
return SteelJoint(
no=no,
user_defined_name_enabled=True,
name=name,
nodes=[1],
members=SteelJoint.MembersTable(
rows=[
SteelJoint.MembersRow(
no=1,
is_active=True,
status="Member 1",
members_no=[1],
end_type=SteelJoint.MembersRow.END_TYPE_MEMBER_ENDED,
supported=False,
),
SteelJoint.MembersRow(
no=2,
is_active=True,
status="Member 2",
members_no=[2],
end_type=SteelJoint.MembersRow.END_TYPE_MEMBER_CONTINUOUS,
supported=True,
),
SteelJoint.MembersRow(
no=3,
is_active=True,
status="Member 3",
members_no=[3],
end_type=SteelJoint.MembersRow.END_TYPE_MEMBER_CONTINUOUS,
supported=False,
),
],
),
comment="",
to_design=True,
all_nodes_to_design=True,
components={},
ultimate_configuration=1,
stiffness_analysis_configuration=0,
)
def main() -> None:
joint_1: SteelJoint = _make_joint(no=1, name="Joint without update call")
joint_2: SteelJoint = _make_joint(no=2, name="Joint with update call")
with rfem.Application() as rfem_app:
rfem_app.create_object_list(objs=[joint_1, joint_2])
rfem_app.update_object(obj=joint_2)
if __name__ == "__main__":
main()