Repository navigation
Face mates, component state, angled planes and chamfers, thin walls (#209) - #216
Merged
Merged
Conversation
…, angled chamfers
… thin walls (#209) The tools the U-joint demo was missing, each checked live on SolidWorks 2026 (tests/live/test_live_sw_ujoint_tool_gaps.py, 8 tests): - add_mate takes a face as a point on it in that part's own coordinates (face_a, face_b), searched among that component's faces only: a pin mates concentric in its hole. add_mate is now stable. - set_component_state (new) fixes or floats a component, and makes a sub-assembly rigid or flexible; CompConfigProperties5 is given back every setting it read, so only solving changes. - create_reference_plane: an angle about a named axis, and face_point for a plane on or off a flat face, sloped or not. create_axis names its axis. - add_chamfer: angle and flip (it always called the angle-distance type at a fixed 45 degrees). - create_extrusion: thin_side, and its reply reports the end condition SolidWorks used instead of echoing direction. - The tool boundary validates a plain dict as the tool's input model, so every tool can be called from a script; the dead per-tool dict fallbacks are gone and the export tools' format_type is optional.
…wo face mates (#209) Eight motion GIFs recorded on SolidWorks 2026, one per live test, on the Demos page ("The tools the U-joint was missing") and two in the README grid. The face-mate and interference tests now seat the pin with two face mates (concentric, and the bottoms coincident), so the pin passes through the hole and the clearance check means something; a concentric mate alone let it slide up off the plate. Tests pick components by name, not list order, and use their own part names. Live captures refuse a minimized window.
…e result Each step now captions the recording as it starts, so a GIF shows the whole build, not only the final result. The last frame holds for 5 s before the GIF loops (make_demo_gif --end-seconds). The component-state test also proves the switch back to rigid. (#209)
Owner
Author
|
Live demos on SolidWorks 2026, one per test in A pin seated in its hole by two face matesInterference: 1 overlap, then 0 once the pin is seatedFixed, floating, flexible and rigid againA bent plate from an open outlineBoth directions, and the reply says MidPlaneA 60 degree chamfer, and flipping itA plane at 40 degrees about an axisA plane off a sloped face |
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.








What this does
Adds the tools both agent sessions were missing when they built the U-joint demo. Each one is checked live on SolidWorks 2026 by
tests/live/test_live_sw_ujoint_tool_gaps.py(8 tests, all passing).add_matetakesface_a/face_b: a point on the face, in that part's own coordinates. Only that component's faces are searched, so a pin and its hole can't be confused.add_mateis now stable.set_component_state. To change only solving, it passes back every setting it read.create_reference_planetakesanglewith anaxis;create_axisnow names the axis it madecreate_reference_planetakesface_point; sloped faces workadd_chamfertakesangleandflipflipswaps the slope from 60° to 30°both_directionslooked ignoreddirection: blind. The reply now gives the end condition SolidWorks used.MidPlanethin_sideinput; an open outline worksThe stale
check_interferenceresult was the router cache that #213 removed. The live test confirms it: 1 overlap before the mate, 0 after.Notes for review
design.md).add_chamferalways called the angle-distance chamfer type (the code's comment said equal distance). At the default 45° nothing changes.format_type, which they ignored anyway.openspec/changes/ujoint-tool-gaps/.Checks
ruffandmkdocs build --strictare clean.The demo GIFs are on the Demos page under "The tools the U-joint was missing", and in the comments below.
Closes #209