I admit it; there might be a smarter and more convenient way to do this already, but if not, I’d like to have a command which can give me an “implicit plane” to snap or project a point onto, See picture below:
- Select a row of ControlPoints (>1 pts) as pictured below (4 in this case)
- Type a Command “SetPtToImplicitPlane”, which would temporarily provide a plane constructed from
- 2.1 the selected CPs (green)
- 2.2 And the nearby points in the other direction (red). Now an “Implicit Plane” should be in place
- Pick the point(s) you would want to “Project” to that ImplicitPlane (the blue CP(s)).
- Done. Point(s) would now be projected to the red position ( = on the “implicit plane”)
Now, the command would perhaps have a problem guessing things in the scenario described above, but let’s say that,
#1. if no CPs are selected in the “cross direction” (as pictured above) then construct the ImPlane based only on the nearest points on each side of the selected (green) CPs (3 pts in the U direction x 4pts in the V direction = 12 pts => a “Fit Plane to points” kind of thing).
#2. If Selecting CPs in two directions, then use only the selected CPs to cinstruct the temporal Plane.
Since the picking of the points would determine the plane, it wouldn’t really matter if the surface with the selected CPs is curved or not, the plane should be based on the “Fit Plane” concept, and if picking only three points the definition of the Plane would be crystal clear.
#3. The axis orientation of the Implicit Plane could be derived from the underlaying surfaces.
Below I illustrate an example of following the workflow described above, but manuallly oriented a CPlane (3pt) to the corners of the left surface (already oriented in the picture below), and then selected a bunch a CPs on the right (flat) surface,
…and those selected CPs where then projected to that CPlane, like so:
With an automated command sequence, the CPlane should be dropped after the projection finnished (option default: “Keep Implicit Plane=No”)