blend:on-vertex
List of: Scheme Extensions
Subjects: Blending, Modifying Models
Contents: Blending

Action: Attaches vertex blend attributes to each vertex in the input list.

Filename: blnd/blnd_scm/blnd_scm.cxx

Syntax: (blend:on-vertex entity-list [setback=-1 [bulge=1]] |


[flag [bulge]])

Arg Types: entity-list vertex | (vertex ... )

setback real

bulge real

flag boolean

Returns: vertex | vertex ...

Description: This extension attaches vertex blend attributes to each vertex in the input entity-list. The optional setback argument is a distance from the vertex to the start of the blended edge. setback changes the setback value on any blended edge leading into the vertex. The default value indicates the edge setback is not changed.


If the logical flag is set to #t then auto-setback is performed. Setbacks are computed and applied to each edge of the vertex. Setback values depend on the geometry of the body local to the blended vertex and on the sizes of blends already assigned to edges ending in the vertex.


entity-list is a list of input entities.


setback argument is a distance from the vertex to the start of the blended edge.


bulge controls the fullness of the vertex blend. It must range from 0 to 2. The default value is suitable for most blends.


flag is set to #t then auto-setback is performed.


This extension returns the input list.

Example: ; blend:on-vertex

; Create a solid block.

(define block1


(solid:block (position -20 -20 -20)


(position 20 20 20)))

;; block1

; Get a list of the solid block's edges.

(define list1 (entity:edges block1))

;; list1

; Create a short list of edges.

(define short-list


(list (car list1)


(car (cdr (cdr (cdr list1))))


(car (cdr (cdr (cdr (cdr (cdr (cdr (cdr (cdr


(cdr list1))))))))))))

;; short-list

; Get a list of the solid block's vertices.

(define vert1 (entity:vertices block1))

;; vert1

; OUTPUT Original


; Set a constant radius blend for the given edges.

(define radblend (blend:const-rad-on-edge


short-list 5))

;; radblend

; (#[entity 3 1] #[entity 6 1] #[entity 12 1])

; Set the vertex blend for one of the vertices.

(define blend (blend:on-vertex (car vert1) 10))

;; blend

; Blend the network of edges and vertices.

(define network (blend:network (car list1)))

;; network

; OUTPUT Result



Figure 2-12. blend:on-vertex
PDF/BLND/02SC.PDF
HTM/DATA/BLND/BLND/02SC/0017.HTM