Skip to content

Prismatic/cylindric joint modelling issues#42

Merged
kmokstad merged 3 commits intomainfrom
gui-issue-110
Jan 31, 2026
Merged

Prismatic/cylindric joint modelling issues#42
kmokstad merged 3 commits intomainfrom
gui-issue-110

Conversation

@kmokstad
Copy link

@kmokstad kmokstad commented Jan 31, 2026

When creating a line joint (prismatic or cylindric) between existing triads, one of the end triads can not already be member of an existing line object of another joint. Neither can both end triads be member of two different line objects. Only if the two end triads matches the end triads of the same existing line it is allowed, and that line is then reused without the option to decline it.
This is to ensure that the multi-master triads will not have conflicting orientations if used by several multi-master joints.

Also extending the FmTriad::isRotatable() method, to detect whether a multi-master triad can rotate about the local Z-axis of the joint in the modelling stage.

Change return type of method FmIsPositionedBase::isRotatable() to char.
This is used in the overridden FmTriad method, which returns 3 if the
triad is a multi-master triad (for prismatic or cylindric joints),
to signal that this triad is allowed to rotate about the local Z-axis
of the owning multi-master joint.
When creating a line joint between existing triads, then enforce
the reuse of matching line object, or cancel the create operation.
Also cancel if any of the selected end triads already are used by
other line objects. This is illegal due to conflicting orientation.
@kmokstad kmokstad merged commit 526f957 into main Jan 31, 2026
2 checks passed
@kmokstad kmokstad deleted the gui-issue-110 branch January 31, 2026 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant