Figure 1-6 and Figure 1-7 show before and after entity bending, respectively. The Scheme commands to create the figure are given in the example that follows. In this case, it uses fixed-end bending, meaning that a portion of the model retains its original orientation, a portion accommodates the bend, and a portion is simply transformed.
|
|
|
|
Figure 1-6. Before Entity Fixed-end Bending
|
|
The WCS in Figure 1-6 was conveniently selected such that its origin,
x-axis, and
y-axis coincided with the neutral root, bending axis, and bending direction, respectively.
|
|
|
|
Figure 1-7. After Entity Fixed-end Bending
|
|
Figure 1-7 shows the portion of the original entity that remained fixed in space, the portion that was bent through entity bending, and the portion that was transformed.
|
|
Scheme Example
|
|
; Create something to bend.
|
(define a_part (solid:block (position -10 9 -.25)
|
|
(position 10 11 0.25)))
|
; Begin non-critical information to show WCS and bend angle.
|
(define my_wcs (wcs (position 0 0 0) (gvector 0 10 0)
|
|
(gvector 0 0 10)))
|
(entity:set-color (list a_part) 4)
|
(define p1 (list
|
|
(edge:linear (position 0 12 -2) (position 0 8 -2))
|
|
(edge:linear (position 0 8 -2) (position 0 8 2))
|
|
(edge:linear (position 0 8 2) (position 0 12 2))
|
|
(edge:linear (position 0 12 2) (position 0 12 -2))))
|
(define p2 (list
|
|
(edge:linear (position 5.5 12 -2) (position 5.5 8 -2))
|
|
(edge:linear (position 5.5 8 -2) (position 5.5 8 2))
|
|
(edge:linear (position 5.5 8 2) (position 5.5 12 2))
|
|
(edge:linear (position 5.5 12 2) (position 5.5 12 -2))))
|
; bending angle
|
(env:set-default-color(color:rgb .0 .0 .0))
|
(define ba1 (edge:ellipse (position 0 10 10)
|
|
(gvector 0 1 0) 10 1 60 90))
|
(define ba2 (edge:linear (position 0 10 10) (position 0 10 0)))
|
(define ba3 (edge:linear (position 0 10 10)
|
|
(position 5 10 (* 10 (- 1 (/ (sqrt 3) 2))))))
|
(define ba4 (edge:ellipse (position 0 10 10)
|
|
(gvector 0 1 0) 2 1 60 90))
|
(define ba5 (edge:ellipse (position 0 10 10)
|
|
(gvector 0 1 0) 2.15 1 60 90))
|
(view:compute-extrema)
|
(render:rebuild)
|
(view:refresh)
|
(env:set-default-color(color:rgb .8 .8 .8))
|
; End non-critical information.
|
; Output to first figure.
|
; Bend the bar
|
(entity:bend a_part (position 0 0 0) (gvector 0 1 0)
|
|
( gvector 0 0 1) 10 30)
|
; Begin more non-critical information.
|
; Move the defining region
|
(define trans_1 (transform:translation (gvector -5.5 0 0)))
|
(entity:transform p2 trans_1)
|
(define trans_2 (transform:rotation (position 0 10 10)
|
|
(gvector 0 1 0) -30))
|
(entity:transform p2 trans_2)
|
; Output to second figure.
|
|
|
|
Figure 1-8. Entity Fixed-end Bending
|