Serpentine3D 0.7.1
Added
-
A layer carries a print width and a linetype you can set in the panel.
The layers panel grows a Print column and a Type column: Print is the pen
width in millimetres a layer plots at, blank for the device default, and
Type cycles the layer's linetype. A detail on a layout now plots each
layer's edges at that layer's width, in PDF and in DXF, rather than the one
width every line used to get. The on-screen weight is untouched, so nothing
looks different in the viewport, and the width round-trips through a .3dm as
Rhino's PlotWeight. Requested by Jonas Pedrotti. -
mergeallcoplanarfacestidies a polysurface after a boolean. A union
of two boxes side by side leaves each spanning side split into two
coplanar strips, so the result has ten faces where six would do.
mergeallcoplanarfaces(aliasmergeallfaces) fuses coplanar neighbours
and drops the seam edges with them, so the box reads as a box again. This
is Rhino's MergeAllCoplanarFaces. The volume does not move, and an object
with nothing to merge is left alone. Requested by Jonas Pedrotti. -
joinworks on surfaces, not just curves. Pick two surfaces that
share an edge andjoin(aliasj) now stitches them into one
polysurface, exactly as it always has for curves. Surfaces that close up
a volume between them, the six faces of a box for instance, come back as
a solid rather than a hollow shell. Surfaces that touch nothing are left
where they are, and the command says so instead of quietly bundling them
together. Requested by Jonas Pedrotti.
Fixed
-
A boolean that cuts a solid in two now gives you two objects. Saw a
bar in half withbooleandifferenceand Serpentine kept it as one: one
name in the layers panel, one gumball sitting in the gap, and both halves
moving together. The kernel was never confused, it handed back a compound
with a solid in it per piece, but nothing downstream looked inside. Now
each loose piece is its own object, the first one keeping the original's
id so its name, its layer and anything built from it survive the cut.
Union and intersection do the same, so unioning two solids that never
touch leaves two objects rather than one. Anything still joined is left
alone, including a solid with a void in it, which has a second shell but
is emphatically still one object. Reported by Jonas Pedrotti. -
explodeon a severed solid gives you the pieces, not the faces.
A bar cut in half exploded into twelve faces rather than the two bars,
because the shape was asked what kind of thing it was before it was asked
what it held. Compounds of curves exploded into nothing at all, and now
come apart properly too. -
Text files are UTF-8 everywhere, not the machine's locale. A document,
a config, an autosave, an .obj, an .stl, a .usda or a journal was read and
written in whatever encoding the operating system defaulted to, which is
UTF-8 on Linux and macOS but can be cp1252 on a Windows box in a non-English
locale. A layer name or a file path outside ASCII round-tripped to mojibake,
or raised, on that one machine and nowhere we could reproduce. Every text
file now states UTF-8.