`sketch.constraint.symmetry` (line), `parallel`, `perpendicular`, `collinear`, `tangent` and `coincident` (point on curve) now take `x` / `y` for the sketch's own axes, matching what `solid.revolve` means by lowercase x|y. A real curve with that id still wins. An axis becomes a linked construction line on it: a new `LinkSource::SketchAxis` resolved in sketch coordinates, so it stays on the sketch's axis on any plane, is shared by every constraint on that axis, is left out of profiles and is reported in `created`. Equal, concentric, midpoint and horizontal/vertical keep refusing axes, since the axis line's finite length or fixed direction would make them meaningless. Claude-Session: https://claude.ai/code/session_01YDDPmNdRoBgkHcLeUDKVfb Co-authored-by: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
722bd007c8
commit
0dee9deec1
5 files changed
+332
-17
No files matched your search
@@ -259,6 +259,9 @@ fn resolve_uncached(
|
||||
_ => vec![LinkGeom::Point(o)],
|
||||
}
|
||||
}
|
||||
LinkSource::SketchAxis { name } => {
|
||||
vec![solidcraft_sketch::sketch_axis_geom(name).ok_or_else(|| DocError::Unknown(format!("sketch axis `{name}`")))?]
|
||||
}
|
||||
LinkSource::Text { text, at, height, angle } => solidcraft_sketch::text_geometry(text, *at, *height, *angle)?,
|
||||
LinkSource::Plane { name } => {
|
||||
let pr =
|
||||
|
||||
Reference in new issue
Block a user