|
Action:
|
Sweeps an array of faces along a path defined by the faces adjacent to the given faces.
|
|
|
Filename:
|
lop/lop_scm/lop_scm.cxx
|
|
|
APIs:
|
api_sweep_more
|
|
|
Syntax:
|
(lop:sweep-more face-list distance [box-l box-h]
|
|
|
[acis-opts])
|
|
|
Arg Types:
|
face-list
|
face | (face ...)
|
|
distance
|
real
|
|
box-l
|
position
|
|
box-h
|
position
|
|
acis-opts
|
acis-options
|
|
|
Returns:
|
body
|
|
|
Errors:
|
In addition to the following, refer to the Errors listed for the Scheme extension,
lop:tweak-faces.
|
|
|
|
Some of the following errors result in an entity, which indicates where the error occurs, being highlighted. The entity type follows the error message below.
|
|
|
|
Distance must be non-zero, or error;
|
|
|
LOP_MOVE_BAD_TRANSFORM
|
|
|
|
Rail and path information on adjacent swept face must be good, or error;
|
|
|
LOP_SWP_BAD_RAIL_OR_PATH (FACE *)
|
|
|
|
Note that entities returned in the outcome
standard_error_info object are highlighted.
|
|
|
Description:
|
Replaces surfaces of supplied faces with surfaces moved along the sweep path. The sweep path is determined by a face that is not in that set of faces given but is adjacent to at least one of those faces. Note, this face must determine the sweep path, i.e., it must be a cone, cylinder, plane, torus,
sweep_spl_sur,
rot_spl_sur,
sum_spl_sur, or an offset of one of these surfaces.
|
|
|
The optional intersection box limits the size of intersections between surfaces which might otherwise be very long. It cannot be used to choose faces. Its main purpose is to speed up complicated cases where the intersection curves might be very long, thus improving performance. The box must contain the final faces and if omitted defaults to the size box.
|
|
|
Topology Changes:
|
|
|
Refer to the topology changes listed for the Scheme extension,
lop:tweak-faces.
|
|
|
Geometry Changes:
|
|
|
Refer to the geometry changes listed for the Scheme extension,
lop:tweak-faces.
|
|
|
Arguments:
|
|
|
face-list identifies faces of a body to be moved.
|
|
|
distance is the distance along the sweep path that the faces are moved.
|
|
|
box-h specifies one position defining a diagonal box for an intersection limit.
|
|
|
box-l specifies one position defining a diagonal box for an intersection limit.
|
|
|
acis-opts specifies options such as versioning and journaling.
|
|
|
Example:
|
; lop:sweep-more
|
|
; Make a spring
|
|
(define path
|
|
|
(edge:law "vec(cos(x),sin(x),x/10)" 0 10))
|
|
;; path
|
|
; Define a profile
|
|
(define profile
|
|
|
(edge:ellipse (position 1 0 0)
|
|
|
(gvector 0 1 0) (gvector .2 0 0)))
|
|
;; profile
|
|
(define sweep (sweep:law profile path))
|
|
;; sweep
|
|
; sweep => #[entity 4 1]
|
|
; Zoom to see the model
|
|
(zoom-all)
|
|
;; #[view 1076896136]
|
|
(render:rebuild)
|
|
;; ()
|
|
; OUTPUT Original and OUTPUT Rendered Original
|
|
|
; Pick the face to sweep more
|
|
(define f (pick:face (ray (position 1 0 0)
|
|
|
(gvector 0 -1 0))))
|
|
;; f
|
|
(define sweep (lop:sweep-more f 1))
|
|
;; sweep
|
|
(render)
|
|
;; ()
|
|
; OUTPUT Result and OUTPUT Rendered Result
|
|
|
|
|
|
|
|
|
Figure 2-12. lop:sweep-more
|