bl_envelope_surf
List of: Options
Subjects: Blending, Modeler Control
Contents: Kernel

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"
PDF/KERN/40OPT.PDF
HTM/DATA/KERN/KERN/40OPT/0008.HTM