* Name a side drawn on several sketch curves by all of them An extrude named each side wall after the one sketch curve its profile segment lies on. A wall along two coincident lines (squares drawn edge to edge) or along collinear lines merged into one profile segment had no single curve, so it was named from geometry and could not carry a sketch attachment. One sketch extruded up and down and joined (the logo) refused a sketch on every one of its side walls. Such a side is now named by every curve it lies on, in sketch order: the first is its name, the others aliases. The set is fixed by the sketch, so the name is exact. The refusal message no longer blames merged faces. Adds the reported logo design and a synthetic up-and-down join to the action-matrix designs, and a regression test that sketches and extrudes on every flat face, fresh and after save and reopen. Fixes #954 Co-Authored-By: Claude Opus 5.5 <[email protected]> * Action matrix: record the up-and-down join designs Co-Authored-By: Claude Opus 5.5 <[email protected]> --------- Co-authored-by: Claude Opus 5.5 <[email protected]>
12 lines
1.0 KiB
JSON
12 lines
1.0 KiB
JSON
{"description": "One sketch of four squares drawn edge to edge, three extruded up and three down from it and joined: every side wall spans both extrudes or runs along two coincident sketch lines.",
|
|
"commands": [
|
|
{"command": "sketch.create", "params": {"plane": "XY", "name": "Squares"}},
|
|
{"command": "sketch.rectangle.two_point", "params": {"p0": [0, 0], "p1": [10, 10]}},
|
|
{"command": "sketch.rectangle.two_point", "params": {"p0": [-10, 0], "p1": [0, 10]}},
|
|
{"command": "sketch.rectangle.two_point", "params": {"p0": [0, -10], "p1": [10, 0]}},
|
|
{"command": "sketch.rectangle.two_point", "params": {"p0": [-10, -10], "p1": [0, 0]}},
|
|
{"command": "sketch.finish", "params": {}},
|
|
{"command": "solid.extrude", "params": {"sketch": "Squares", "profiles": [{"point": [-5, 5]}, {"point": [-5, -5]}, {"point": [5, -5]}], "distance": 10}},
|
|
{"command": "solid.extrude", "params": {"sketch": "Squares", "profiles": [{"point": [5, 5]}, {"point": [5, -5]}, {"point": [-5, 5]}], "distance": 10, "direction": "negative", "operation": "join"}}
|
|
]}
|