WIP Initial mirror groups implementation. #592
Closed
+195
−4
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.
WIP so this isn't ready. I am looking for some help.
This implements mirror groups (SHIFT-M) which can be a sketch or a solid. It creates a non-visible mirror plane between the original and copy of the sketch/model. In 3D you get 3DoF. In 2D it constrains the mirror to be orthogonal to the sketch plane so only 2DoF. That's what works. What I'd like help with is the following:
Faces of the solid are not selectable for either the original or copy.
After mirroring a 2D sketch, you can't extrude the resulting 2D entities.
In 2D I'd like to optionally select 2 points or a point-and-vector to constrain the mirror plane. Not sure where or how to store the selection information for use later when constraints on the mirror are created.
Same issue as Add cxx feature cxx_noexcept #3 but for 3D. I'd like to be able to select a face and constrain the mirror plane to that. Optionally if one is selected when the group is created.
I don't think it wise to merge this until these issues are resolved. Any advice or code would be appreciated. Oh, or comments on how it should be done differently.