iritState("EchoSource", false); Body = sbspline( 2, 4, list( list( ctlpt( E3, -0.32, 0, 0 ), ctlpt( E3, -0.60, 0, 0.9 ) ), list( ctlpt( E3, -0.32, 0, 0 ), ctlpt( E3, -0.60, -0.1, 0.95 ) ), list( ctlpt( E3, -0.32, 0, 0 ), ctlpt( E3, -0.4, -0.1, 1 ) ), list( ctlpt( E3, -0.32, -0.12, 0 ), ctlpt( E3, -0.35, -0.2, 1 ) ), list( ctlpt( E3, -0.16, -0.32, 0 ), ctlpt( E3, -0.2, -0.4, 1 ) ), list( ctlpt( E3, 0, -0.32, 0 ), ctlpt( E3, 0, -0.4, 1 ) ), list( ctlpt( E3, 0.16, -0.32, 0 ), ctlpt( E3, 0.2, -0.4, 1 ) ), list( ctlpt( E3, 0.32, -0.16, 0 ), ctlpt( E3, 0.4, -0.2, 1 ) ), list( ctlpt( E3, 0.32, 0, 0 ), ctlpt( E3, 0.4, 0, 1 ) ), list( ctlpt( E3, 0.32, 0.16, 0 ), ctlpt( E3, 0.4, 0.2, 1 ) ), list( ctlpt( E3, 0.16, 0.32, 0 ), ctlpt( E3, 0.2, 0.4, 1 ) ), list( ctlpt( E3, 0, 0.32, 0 ), ctlpt( E3, 0, 0.4, 1 ) ), list( ctlpt( E3, -0.16, 0.32, 0 ), ctlpt( E3, -0.2, 0.4, 1 ) ), list( ctlpt( E3, -0.32, 0.12, 0 ), ctlpt( E3, -0.35, 0.2, 1 ) ), list( ctlpt( E3, -0.32, 0, 0 ), ctlpt( E3, -0.4, 0.1, 1 ) ), list( ctlpt( E3, -0.32, 0, 0 ), ctlpt( E3, -0.60, 0.1, 0.95 ) ), list( ctlpt( E3, -0.32, 0, 0 ), ctlpt( E3, -0.60, 0, 0.9 ) ) ), list( list( 0, 0, 1, 1 ), # list( 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, # 3, 3, 3, 4, 4, 4, 4 ) list( 0, 0, 0, 0, 0.5, 0.5, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3.5, 3.5, 4, 4, 4, 4 ) ) ); attrib ( Body, "rgb", "255,255,255"); CapSeatSec = cbspline( 3, list( ctlpt( E3, 0.3, 0, 1.05 ), ctlpt( E3, 0.4, 0, 1.05 ), ctlpt( E3, 0.4, 0, 1 ) ), list( KV_OPEN )); CapSeat = surfrev( CapSeatSec ); attrib( CapSeat, "rgb", "255,255,255" ); CapSec = cbspline( 4, list( ctlpt( E3, 0, 0, 1.1 ), ctlpt( E3, 0.15, 0, 1.1 ), ctlpt( E3, 0.15, 0, 1.05 ), ctlpt( E3, 0.1, 0, 1.05 ), ctlpt( E3, 0.1, 0, 0.95 ), ctlpt( E3, 0.25, 0, 1.05 ), ctlpt( E3, 0.3, 0, 1.05 ) ), list( KV_OPEN )); Cap = surfrev( CapSec ); attrib( Cap, "rgb", "128,128,128" ); HandleAxis = cbspline( 3, list( ctlpt( E3, 0.37, 0, 0.9 ), ctlpt( E3, 0.55, 0, 0.9 ), ctlpt( E3, 0.6, 0, 0.85 ), ctlpt( E3, 0.55, 0, 0.35 ), ctlpt( E3, 0.5, 0, 0.3 ), ctlpt( E3, 0.33, 0, 0.3 ) ), list( KV_OPEN )); attrib( HandleAxis, "rgb", "255,0,0" ); HandleSec = cbspline( 3, list( ctlpt( E3, -0.08, 0, 0 ), ctlpt( E3, -0.08, 0.05, 0 ), ctlpt( E3, -0.05, 0.08, 0 ), ctlpt( E3, 0, 0.08, 0 ), ctlpt( E3, 0.05, 0.08, 0 ), ctlpt( E3, 0.08, 0.05, 0 ), ctlpt( E3, 0.08, 0, 0 ), ctlpt( E3, 0.08, -0.05, 0 ), ctlpt( E3, 0.05, -0.08, 0 ), ctlpt( E3, 0, -0.08, 0 ), ctlpt( E3, -0.05, -0.08, 0 ), ctlpt( E3, -0.08, -0.05, 0 ), ctlpt( E3, -0.08, 0, 0 ) ), list( 0, 0, 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8, 8)); attrib( HandleSec, "rgb", "255,0,0" ); Handle = sweepsrf( HandleSec, HandleAxis, OFF ); attrib( Handle, "rgb", "255,255,255" ); Switch = gbox( vector( 0.55, 0.04, 0.85 ), vector( 0.1, 0, 0 ), vector( 0, -0.08, 0 ), vector( 0, 0, 0.1 ) ); attrib( Switch, "rgb", "255,0,0" ); MarkSec = cbspline( 4, list( ctlpt( E3, 0.03, -0.325, 0.1), ctlpt( E3, 0.01, -0.34, 0.1), ctlpt( E3, -0.01, -0.34, 0.1), ctlpt( E3, -0.03, -0.325, 0.1) ), list( KV_OPEN ) ); Mark = extrude( MarkSec, vector( 0, -0.064, 0.8 ) ); attrib ( Mark, "rgb", "0,0,255"); CableAxis = cbspline( 3, list( ctlpt( E3, 0.3, 0, 0.05 ), ctlpt( E3, 0.6, 0, 0.05 ), ctlpt( E3, 0.5, -0.4, 0.05 ), ctlpt( E3, 0.9, -0.3, 0.05 ) ), list( KV_OPEN )); CableSec = circle( vector( 0, 0, 0 ), 0.015 ); Cable = sweepsrf( CableSec, CableAxis, OFF ); attrib( Cable, "rgb", "255,255,255" ); Epot = list( Body, CapSeat, Cap, Handle, Switch, Mark, Cable ); save ("Epot.dat", Epot);