A polyline sweep with a closure tag creates another kind of closed surface. First, the polyline segments are connected by faces, just as without the closure tag. Then, each set of end points is joined to make a polygon, one for each end. A code for several views of a cylindrical prism follows.
def n_cyl_segs 20 def n_views 5 def I [1,0,0] def endopts [fillcolor=lightgray] repeat { n_views, rotate(180/n_views, [I]) then translate([I] * 2.1) } sweep[endopts]{ n_cyl_segs<>, rotate(360/n_cyl_segs, [0,1,0]) } line[fillcolor=white](1,-1)(1,1)It produces this drawing.
The options of the swept line, if any, are applied to the faces
produced by sweeping the line, but not the end polygons. Otherwise,
the sweep options are applied throughout.
The def in this example is an option definition.
References to options must be enclosed in square brackets, e.g.
[foo].
You can concatenate several sets of options with a single
reference, e.g.
[color, size, style]
would cause the option definitions for color
, size
,
and style
to appear in sequence in the output
created by the sketch
command containing the reference.
Happily, the syntax of sketch
is such that
options references can never be confused with vector references. While
not apparent in this example, options references are useful when
defining many objects with a similar appearance.