Serpentine3D 0.7.0
Changed
curvedraws by control points now, andinterpcrvis its own
command. These are Rhino's names, and they finally mean what Rhino
means by them:curve(aliascv, for control vertex) pulls a NURBS
curve toward the points you pick, andinterpcrvruns one through them.
Serpentine'scurveused to be the interpolating one, so a Rhino user
typing the command they use most got the other tool with no sign that
anything was wrong: both make a smooth curve through roughly the right
place, and only the control points give it away. A script, alias or habit
that relied oncurveinterpolating should sayinterpcrv.
Added
-
You can see the curve while you are drawing it. Both curve commands
now ghost the curve the next click would make, instead of showing only
the points already picked and the straight chain between them. That chain
is the one shape the curve is not: an interpolated curve bulges away from
it, and a control point curve does not go through the middle of it at
all. Sointerpcrvdrops the chain entirely, whilecurvekeeps it,
because there the chain is the control polygon and part of what you are
drawing rather than a stand-in for it. -
dirandflip, Rhino's pair for direction. Which way a curve runs
and which way a surface faces are invisible until something draws them,
and then they decide what happens next: which end an offset comes out on,
which way a sweep travels, which side a shell thickens.dirstands green
arrows on what you picked, along a curve or off a surface, and stays up
with Flip on the prompt so you can turn a face round and watch the arrows
come back the other way.flipis the same edit without the looking.
Reversing works on the geometry rather than the topology, so a circle
turned round is still a circle rather than the b-spline a conversion would
leave behind. The arrows are a fixed size on screen and they belong to the
command: they go when it ends, including on Escape. -
undoviewandredoview, a history for the camera. An orbit that
went too far leaves the drawing exactly as it was, so the general undo is
no help at all: there is nothing about the model to take back, and what
you want is the view you had a second ago. A whole gesture is one step, so
a drag that turns the model right round comes back in one, and so does a
burst of wheel clicks. Typingtopor runningzoomextentsis a step
like any other. Each pane keeps its own history, because where the Top
view has been says nothing about where Perspective has been. -
lockother, the other half of isolate. Isolate takes the rest of the
drawing off the screen; this leaves it up to line the new work against and
only stops you picking it, which is what you actually wanted when the
thing you keep catching is a background curve you have no intention of
moving. What you picked stays picked, andunlockallreleases the rest.
The scripting API reportslockedon every object now, so a script can
see why a pick found nothing. -
insertknot,insertcontrolpoint,removeknotand
removecontrolpoint, under Rhino's names. Inserting a knot is the one
edit that hands you a control point without moving the curve by so much
as a tolerance, so you can get a handle where you want to pull from
rather than making do with the ones the curve was built with; Automatic
puts one in the middle of every span. Removing a knot goes the other way
and does move the curve, so the command says by how far. With several
curves picked, the point you click says which one you meant and which
knot you meant. Both commands turn the control points on for what you
picked, and both preview under the cursor: the control polygon you would
get for an insertion, the curve you would be left with for a removal.
Fixed
- A closed control point curve is now closed all the way round.
make_control_curve(..., closed=True)took the argument and ignored it,
and built an open curve. It builds a periodic one, so the poles are a
ring with no first or last and the curve runs through the seam as
smoothly as it runs anywhere else, rather than meeting itself at a
corner.