Action:
|
Controls the type of blend surface used when a variable-radius blend is created.
|
|
Name String:
|
bl_envelope_surf
|
|
Scheme:
|
boolean
|
#f, #t
|
#t
|
|
Test Harness:
|
integer
|
0, 1
|
1
|
|
C++:
|
logical
|
FALSE, TRUE
|
TRUE
|
|
Description:
|
If this option is on (true), a
rolling ball envelope blend surface is created for the variable-radius blend. If it is off (false), a
rolling ball snapshot blend surface is created.
|
|
Example:
|
; bl_envelope_surf
|
|
; Unite two blocks, then create two blends, one
|
|
; with bl_envelope_surf off, and one with it on
|
|
(define block1 (solid:block (position 0 5 0)
|
|
|
(position 5 10 10)))
|
|
;; block1
|
|
(define block2 (solid:block (position 0 0 0)
|
|
|
(position 10 10 5)))
|
|
;; block2
|
|
(solid:unite block1 block2)
|
|
;; #[entity 2 1]
|
|
(iso)
|
|
;; #[view 1077019000]
|
|
(zoom-all)
|
|
;; #[view 1077019000]
|
|
(ray:queue 35.8763 -51.7115 28.5678
|
|
|
-0.408248 0.816497 -0.408248 1)
|
|
;; #[ray (35.8763 -51.7115 28.5678)
|
|
;; (-0.408248 0.816497 -0.408248)]
|
|
(define edge1 (pick-edge))
|
|
;; edge1
|
|
(solid:blend-edges edge1 2)
|
|
;; (#[entity 2 1])
|
|
(ray:queue 32.557 -50.0111 35.2878
|
|
|
-0.408248 0.816497 -0.408248 1)
|
|
;; #[ray (32.557 -50.0111 35.2878)
|
|
;; (-0.408248 0.816497 -0.408248)]
|
|
(define edge2 (pick-edge))
|
|
;; edge2
|
|
(solid:blend-edges edge2 2)
|
|
;; (#[entity 2 1])
|
|
(define radii (abl:two-ends-rad 1 2))
|
|
;; radii
|
|
|
; Turn option off and create a blend
|
|
(option:set "bl_envelope_surf" #f)
|
|
;; #t
|
|
(ray:queue 29.4386 -53.3763 31.6758
|
|
|
-0.408248 0.816497 -0.408248 1)
|
|
;; #[ray (29.4386 -53.3763 31.6758)
|
|
;; (-0.408248 0.816497 -0.408248)]
|
|
(define edge3 (pick-edge))
|
|
;; edge3
|
|
(define edges (blend:get-smooth-edges edge3))
|
|
;; edges
|
|
(blend:var-rad-on-edge edges 0 2)
|
|
;; (#[entity 6 1] #[entity 7 1] #[entity 8 1])
|
|
(blend:network edges)
|
|
;; #[entity 2 1]
|
|
; Turn option on and create another blend
|
|
(option:set "bl_envelope_surf" #t)
|
|
;; #f
|
|
(ray:queue 29.639 -52.2681 33.6918
|
|
|
-0.408248 0.816497 -0.408248 1)
|
|
;; #[ray (29.639 -52.2681 33.6918)
|
|
;; (-0.408248 0.816497 -0.408248)]
|
|
(define edge4 (pick-edge))
|
|
;; edge4
|
|
(define edges (blend:get-smooth-edges edge4))
|
|
;; edges
|
|
(blend:var-rad-on-edge edges 0 2)
|
|
;; (#[entity 9 1] #[entity 10 1] #[entity 11 1])
|
|
(blend:network edges)
|
|
;; #[entity 2 1]
|
|
; Check convexity of edges
|
|
(ray:queue 34.0659 -49.9426 33.9158
|
|
|
-0.408248 0.816497 -0.408248 1)
|
|
;; #[ray (34.0659 -49.9426 33.9158)
|
|
;; (-0.408248 0.816497 -0.408248)]
|
|
(define edge5 (pick-edge))
|
|
;; edge5
|
|
(edge:convexity edge5)
|
|
;; "convex"
|
|
(ray:queue 35.9327 -50.5213 30.8918
|
|
|
-0.408248 0.816497 -0.408248 1)
|
|
;; #[ray (35.9327 -50.5213 30.8918)
|
|
;; (-0.408248 0.816497 -0.408248)]
|
|
(define edge6 (pick-edge))
|
|
;; edge6
|
|
(edge:convexity edge6)
|
|
;; "convex_smooth"
|