Interactive Skinning with Guide Curves
List of: Discussion Topic
Subjects: Skinning and Lofting
Contents: Advanced Surfacing

Scheme Extensions:slinterface:skin-guide

C++ APIs:api_add_guide_curve_sli

Scheme Example

(part:clear)
(define frame1 (wcs (position 0 0 0) (gvector 1 0 0)

(gvector 0 1 0)))
(define wire_0 (wire-body (list

(edge:linear (position -60 0 0) (position 60 0 0))

(edge:linear (position 60 0 0) (position 60 50 0))

(edge:linear (position 60 50 0) (position -60 50 0))

(edge:linear (position -60 50 0) (position -60 0 0)))))
(define wire_1 (wire-body (list

(edge:linear (position -30 0 100) (position 30 0 100))

(edge:linear (position 30 0 100) (position 30 40 100))

(edge:linear (position 30 40 100)(position -30 40 100))

(edge:linear (position -30 40 100) (position -30 0 100)))))
(define wire_3 (wire-body (list (edge:circular

(position 0 -85 150) 25 0 360))))
(define guide1 (edge:spline (list (position 0 0 0)

(position 0 20 50) (position 0 0 100) (position 0 -20 160)

(position 0 -50 160) (position 0 -60 150))))
(zoom-all)
(define interface (slinterface:skinning

(list wire_0 wire_1 wire_3) #f #t #t #f #t #f #f #t))
(define skinningWires (slinterface:wires interface))
(entity:set-color skinningWires 1)
(slinterface:align-wires interface)
(slinterface:minimizetwist-wires interface)
(slinterface:breakup-wires interface)
(body:reverse (list-ref skinningWires 2))
(slinterface:skin-guide interface guide1)
(define body (slinterface:build-body interface))
(slinterface:delete-interface interface)
(entity:delete (list wire_0 wire_1 wire_3))
(solid:blend-edges (list-ref (entity:edges body) 8) 8)
(solid:blend-edges (list-ref (entity:edges body) 4) 8)
(solid:blend-edges (list-ref (entity:edges body) 13) 8)
(solid:blend-edges (list-ref (entity:edges body) 7) 8)
(shell:sheet-thicken body 3)

Example 1-13. Skinning with Guide Curves


Figure 1-45. Skinning with Guide Curves
PDF/SKIN/01CMP.PDF
HTM/DATA/SKIN/SKIN/01CMP/0037.HTM