Orca3D News

Tuesday, December 14, 2010

2D Scaling and Moving Control Points, using ScaleByPlane

For those of you who used FastShip, you may remember that it had the ability to scale a patch of control points about a local origin, stretching the patch in two dimensions as you moved your mouse. This could be very useful when you wanted to edit an entire column in your control net. This capability has been replicated in Rhino 4 (as a plug-in), and is a native command in Rhino 5.
For example, say you wanted to increase the slope of the stem of your boat. You could move each control point individually, but this would be cumbersome, and if you wanted to maintain a straight stem, you'd have to snap each point into a line. You could rotate the stem, but that would have the effect of lowering the tip of the stem. With Scale2D, you can only scale along a line.
With ScaleByPlane, you can simultaneously stretch and move a group of control points in 2 dimensions.
To use ScaleByPlane, begin by selecting control points to be scaled, then select an origin about which things will be scaled. Then select the reference point and begin stretching.
If you want to use this command in Rhino 4, you'll need to download the scalebyplane.rhp plug-in, and then install it using the PlugInManager command. It's a built-in function in Rhino 5, so you can use it by just typing the command.
In the following example, we have the default hull from the sailboat assistant, but we'd like more slope to the stem.
Turn on the Orca control points:
Run ScaleByPlane, and follow the prompts; first, select all of the control points on the stem column. Then select the forefoot corner point as the origin, then select the control point at the top of the column as the first reference point, and drag to the new location.
Here are the control points in the new location. In one step, we've moved all of the points up and forward.
And here is the modified hull.