A
rigid sweep is one in which the profile that is swept is translated--but not rotated--along the sweep path. It accomplishes a rigid extrusion of a profile along a path (Figure 1-26).
|
|
The
rigid option specifies whether or not to make the cross-sections of a sweep parallel to one another. The default is
FALSE, which means the cross-sections are perpendicular to the sweep path.
|
|
No checks are made when a rigid sweep is performed; consequently, the resulting surface is self-intersecting if the given path is closed, or if the direction of the path changes more than 180 degrees.
|
|
The following examples demonstrate how to use the Scheme extension
sweep:options ("rigid") to do a rigid sweep. In the first example, three linear edges are converted into a wire body. The rigid sweep is done on the wire body to create the solid.
|
|
Scheme Example
|
|
; Rigid sweep
|
; define a profile
|
(define e1 (edge:linear (position 0 0 0) (position 0 10 0)))
|
(define e2 (edge:linear (position 0 10 0) (position 10 10 0)))
|
(define e3 (edge:linear (position 10 10 0) (position 10 0 0)))
|
(define e4 (edge:linear (position 10 0 0) (position 0 0 0)))
|
(define profile1 (wire-body (list e1 e2 e3 e4)))
|
; define a path
|
(define e5 (edge:linear (position 5 5 0) (position 5 5 10)))
|
(define e6 (edge:linear (position 5 5 10) (position 35 5 30)))
|
(define e7 (edge:linear (position 35 5 30) (position 35 5 45)))
|
(define path1 (wire-body (list e5 e6 e7)))
|
; OUTPUT Start
|
|
; define a rigid sweep
|
(define sweep1 (sweep:law profile1 path1
|
|
(sweep:options "rigid" #t)))
|
; OUTPUT Finish
|
|
Example 1-20. Rigid Sweep
|
|
|
|
Figure 1-26. Rigid Sweep
|