feat: preserve adaptive sketch profiles and curved modeling workflows
This commit is contained in:
1 parent
4c4a0449a4
commit
4e595deff2
62 files changed
+7114
-362
No files matched your search
@@ -26,6 +26,14 @@ one undo step, including downstream parameter changes. Editing a placed componen
|
||||
edited feature before its downstream history. Cylindrical Emboss profile guides follow the
|
||||
sketch's chosen occurrence frame.
|
||||
|
||||
Newly selected adaptive profiles store complete outer and hole source identities when the
|
||||
entire boundary can be qualified. Changing an ellipse or periodic offset after extrusion can
|
||||
then change its spline span count while keeping the same selected material region. A partial,
|
||||
intersected or ambiguous boundary cannot satisfy that whole-source reference; changing the
|
||||
hole identities also makes it lost. Older curve-span selections retain their exact stored
|
||||
multisets. If an older feature has already lost its profile after subdivision changed, edit
|
||||
the feature and reselect the intended current region to capture the new identity.
|
||||
|
||||
New symmetric revolves split the entered angle evenly around the sketch profile, regardless
|
||||
of which way the selected axis points. Two Sides measures the second angle backward and the
|
||||
first angle forward along the sketch-normal sweep direction. Profiles on opposite sides of
|
||||
@@ -96,4 +104,8 @@ canvases). It runs as one undoable step and lists the features that would go wit
|
||||
|
||||
Face Extrude, face Revolve, and Press Pull retain linked generated profiles. When a modified planar face has no construction certificate, these internal profiles use the legacy named-face attachment and projection behavior so upstream edits still update the plane and outline. This compatibility path is private to those modeling tools: newly attached user sketches require a certified face or an explicitly fixed plane. Legacy internal attachments can follow the nearest matching face after topology changes; inspect their result after major upstream edits. Activate the intended occurrence before generating a face profile from a repeated component; capture a separately moved source position before creating a legacy profile across components.
|
||||
|
||||
A negative Press Pull across a planar face containing a round through-hole can still fail when the Boolean cutter has coincident curved faces. This operation reports an error and preserves the design atomically; positive face extrusion and Press Pull retain the hole and remain linked.
|
||||
Negative Press Pull across supported aligned prismatic faces retains round through-holes,
|
||||
including after a joined extrusion and in a rotated component occurrence. The cut partitions
|
||||
the current material into axial sections, preserving the hole through undo, redo, and reopen.
|
||||
Walls that cannot be qualified as a parallel extrusion still use the general Boolean path
|
||||
and may report an unsupported coincident-surface operation atomically.
|
||||
@@ -47,9 +47,17 @@ DXF pocket boundaries use `POCKET_BOTTOM_Z…_TO_…_MM`, `POCKET_TOP_Z…_TO_
|
||||
`POCKET_INTERNAL_Z…_TO_…_MM` layers. These are machining operations, so do not treat every
|
||||
pocket layer as a through-cut contour when importing the drawing into a CAM tool.
|
||||
|
||||
Extrude Intersect on a straight base or an unfolded sheet retains the exact planar material,
|
||||
including interior holes and detached islands. A completely empty intersection removes the
|
||||
sheet and its metadata together. Pocket profiles can move with planar panels when forming,
|
||||
Extrude Intersect on a straight base or an unfolded sheet retains the material inside both
|
||||
the current tool footprint and its depth interval, including interior holes, detached islands
|
||||
and earlier pockets. A shallow intersection records the removed layers above and below the
|
||||
retained material as top and bottom pockets. The sheet rule keeps the original stock gauge;
|
||||
the remaining solid can be thinner. A completely empty intersection removes the sheet and
|
||||
its metadata together. DXF records pocket depth in its layer names; importing that DXF as
|
||||
ordinary sketch geometry does not reconstruct the machining depths automatically. Each
|
||||
positive retained or removed depth layer must meet the kernel's 0.000001 mm extrusion
|
||||
resolution; smaller layers report an error rather than being rounded away. To Object can
|
||||
retain a tool that trims to a straight prism, using its actual trimmed footprint. A curved
|
||||
tool with varying depth is refused before changing sheet geometry. Pocket profiles can move with planar panels when forming,
|
||||
but a pocket crossing a bend zone cannot yet be refolded. Machining folded bend material,
|
||||
tapered sheet cuts and other unsupported 3D sheet Cut/Intersect operations report an error before changing
|
||||
the design; they cannot silently restore removed material during a later sheet rebuild.
|
||||
@@ -4,6 +4,13 @@ A sketch lies on a plane: an origin plane, a construction plane or a planar face
|
||||
**Create Sketch** (`sketch.create`) and click a plane, or pick a face first. **Finish Sketch**
|
||||
returns to the model.
|
||||
|
||||
Curves adapt to the current zoom and display scale. Picking and highlighting use the same
|
||||
visible boundary, including small circles at Fit and sketches in rotated components.
|
||||
Profile shading follows those curves while preserving holes. Zooming changes the display
|
||||
without changing sketch geometry, dimensions, or undo history.
|
||||
On short windows or enlarged displays, the Sketch Palette's options scroll while its
|
||||
constraint status and **Finish Sketch** button remain visible.
|
||||
|
||||
## Geometry
|
||||
|
||||
Lines and polylines (L), rectangles (two-point R, three-point, centre), circles (centre C,
|
||||
@@ -24,6 +31,21 @@ Extend finds intersections with exact ellipses, rational conics and spline spans
|
||||
original line or circular support and extends only beyond the selected endpoint; conflicting
|
||||
constraints or an ambiguous overlap leave the sketch unchanged.
|
||||
|
||||
Closed convex chains of tangent lines and circular arcs support inward offsets that consume
|
||||
a rounded corner. When the offset passes the corner radius, the neighbouring straight
|
||||
supports meet at a sharp corner. The surviving lines and endpoint IDs stay stable; the
|
||||
retired arcs return under their original IDs if a later edit restores their radius.
|
||||
Whole-boundary profile selections follow this transition through save and reopen, so an
|
||||
extruded lip can remain associative. Existing eligible closed analytic offsets upgrade
|
||||
without changing their saved geometry or IDs.
|
||||
|
||||
This transition requires a closed convex boundary with tangent junctions and a certified
|
||||
nonempty region. An extinguished arc referenced individually by a constraint or another
|
||||
offset cannot retire. Creating another offset from an already sharp retired boundary also
|
||||
requires breaking its association first. Open, nonconvex and mixed free-form chains keep
|
||||
their existing behavior. Break Offset Association freezes the current boundary, including
|
||||
private arc centres and construction flags, for independent editing.
|
||||
|
||||
Offsets of smooth ellipses, conics and splines follow their source after dimension changes,
|
||||
dragging and reopening a design. Their stored cubic spline has a whole-span normal-distance
|
||||
error bound of 0.002 mm. Singular tangents, curvature cusps, possible self-intersections and
|
||||
|
||||
@@ -146,6 +146,8 @@ value lists support up to 128 expressions. These bounds are checked before saved
|
||||
decoded. Driven appearance/material rules and repeated fixed-point evaluation are outside
|
||||
the current rule scope.
|
||||
|
||||
Newly saved designs use file format 11, including optional durable face attachments. Older designs upgrade on opening without
|
||||
Newly saved designs use file format 12, including optional durable face attachments and
|
||||
analytic offset boundary identities and qualified adaptive whole-profile references, including
|
||||
holes. Older designs upgrade on opening without
|
||||
changing their existing configuration values. Older SolveCraft versions must be updated to
|
||||
open newly saved designs.
|
||||
@@ -47,7 +47,7 @@ A missing author path also requires explicit repair. Reattachment and creation c
|
||||
pending positions only on the involved source and author paths. Failed commands restore
|
||||
those pending positions; undo restores the previous attachment and placement state.
|
||||
|
||||
File format 11 saves these optional attachments. Existing designs with face references
|
||||
File format 11 introduced these optional attachments, which format 12 also preserves. Existing designs with face references
|
||||
without an attachment retain their legacy geometry and lookup behavior when opened; they
|
||||
are not silently upgraded. Redefining such a sketch onto a supported selected face creates
|
||||
the stronger attachment. Unsupported legacy geometry can instead be retained on an explicit
|
||||
|
||||
Reference in new issue
Block a user