fix(export): skip axis inference for fixed joints - #203
Open
Hwajila wants to merge 1 commit into
Open
Conversation
brawner
reviewed
Sep 3, 2026
| } | ||
| } | ||
|
|
||
| internal static bool JointUsesAxis(string jointType) |
Collaborator
There was a problem hiding this comment.
I don't think a separate function is needed. You can just put this logic directly into the places where it is called.
| link.Joint.CoordinateSystemName = "Automatically Generate"; | ||
| } | ||
| if (!CheckRefAxisExists(link.Joint.AxisName)) | ||
| // Fixed URDF joints do not have an axis. Marking a missing fixed-joint axis |
Collaborator
There was a problem hiding this comment.
I don't think the comment is needed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
CheckRefGeometryExiststreats a missing or stale axis on every joint asAutomatically Generate.CreateJointthen invokes the automatic DOF estimator whenever the axis is automatic. For a fixed joint this work is unnecessary because fixed URDF joints have no axis. The estimator can temporarily fix/unfix components and suppress/unsuppress mates during export.This matches the fixed-joint behavior reported in #135.
Fix
Testing
Added five focused cases confirming that fixed joints do not use an axis while revolute, continuous, prismatic, and automatically detected joints do.
All five focused tests pass. The project also builds successfully in the x64 Test configuration (using the installed .NET 4.8 targeting pack as a local override; the project target is unchanged).
End-to-end validation on SolidWorks 2025 x64 showed no component fix/unfix or mate suppression operations during the patched export.
Addresses #135.