OSNAPZ-like projected snapping defeated by UCS orientation
Following elegant resolution by Roy Gebbinck in
of my question (challenge?) about "Moving a face by distance measured not perp to the face",
here, below, is another case.
I've been trying to use the same magic property of Temporary Tracking to solve this one too, but looks like it can't be applied to this one.
Both these are just sample cases of a general question, for which I proposed an all-purpose solution:
that the direction of Move, Extrude, PushPull, dmMove, Navigator etc operations,
needs to be optionally separated from the dimensional framework that will define the direction/plane/normal of the distance or alignment that will define the Move.
Something like an optional subsidiary UCS that can be defined, that works only to set the plane/normal (incl SHIFT to lock snap tracking) of
- the distance of the Move,
- or the Move's snap-intersection with plane, edge or point, or with a projection of plane or edge,
- or the Move's perp-to-ref-plane projected alignment using 'ignore entity snap elevation' and 'entity snap to negative Z'.
And/or something like setDirection>2Points/Xaxis/Yaxis/Zaxis, as in dmExtrude, to set the dimensional framework.
AI/ML could make this all predictively easy, like never before on the drawing board on in CAD 2D.
Or, summed up in Michael Mayer's words:
to separate Extrusion Vector from Dimension Vector and do the math for you.
Short of that, all suggested methods so far are mere workarounds, to an unaddressed general problem - incl Roy's use of Temporary Tracking, however elegant in that particular case.
Temporary tracking doesn't seem to work (please prove me wrong!) in the case below (which was previously asked in
See attached dwg.
A 2D roof-timbering Plan (a Block) lies in the horizontal plane above the 3D 'flat' roof sloping at 10o, that is being constructed by snapping to points of the Plan.
Two sample timbers are shown already placed on the decking plane.
Red lines show how their endpoints were projected vertically from points of the Plan i.e. projected perp to the Plan but therefore not perp to the sloping roof plane.
The timbers are created as Linear Polysolids, which means that UCS has to be oriented with its XY plane on the roof plane.
The two sample timbers were done by creating 'helper elements', later deleted - prob many ways of doing that.
But I want Brics to place start and end of the Linear Polysolid simply by snapping to points of the Plan, with the aid of snap settings such as OSNAPZ.
If the roof plane was horizontal, same as the Plan, then no problem - with DUCS off, Elevation = 0, Snap 'Ignore entity snap elevation' (OSNAPZ) would do it easily - clicking on a point of the Plan would place a snappable point on the XY plane of the UCS i.e. on the roof plane, as start or end of the Linear Polysolid.
But when the roof plane and therefore the UCS is sloped 10o, the UCS's Z-direction along which the clicked point is projected is no longer perp to (straight down from) the Plan and so lands on the roof plane in quite the wrong place.
So - how can Temporary Tracking help here, or any other way of direct snapping without resorting to 'helper elements'?