Ayam
1.9
0
0
1
0
1
1
0
0

0
0
2
2
0
2
2
1
1
255
0
255
0.5
4
64
4
0.01
1
0
2



10000
40000
0
0
0
0
1

0
7
0
0
0
1
1
0
view1
0
400
300
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
1
0
0
3
1
22
0
0
0

0
0
0
0
0
7
0
0
0
1
1
0
view2
0
400
300
3
1
0
0
1
1
0
0
0
9.18559
7.5
9.18559
0
0
0
-0.353553
0.866025
-0.353553
0
0.25
401
22
-30
45
0

0
0
0
0
0
3
0
0
1
1
0
0

0
0
0
35
0
0
0
1
0
1

1
NP
SpiralAttr
1
1
1213
# Ayam, save array: SpiralAttrData
# crtspiralgui.tcl: example script for Ayam Script object
# this script wants Script Object Type "Create" and creates
# a spiral NURBS curve; it also has a property GUI, just
# add a tag "NP SpiralAttr" to the script object to see it
if { ![info exists ::SpiralAttr] } {
    array set ::SpiralAttrData {
	Length 30
	AngleD 0
	Radius 3.0
	ZDiff 0.25
    }
    set ::SpiralAttrData(AngleD)  [expr 90.0*3.141592654/180.0]
}

set length $::SpiralAttrData(Length)
set angled $::SpiralAttrData(AngleD)
set r $::SpiralAttrData(Radius)
set zd $::SpiralAttrData(ZDiff)

crtOb NCurve -length $length;hSL
set angle 0.0
set z 0.0
for {set i 0} {$i < $length} {incr i} {
    set x [expr $r*cos($angle)]
    set y [expr $r*sin($angle)]

    setPnt $i $x $y $z 1.0

    set angle [expr $angle + $angled]
    set z [expr $z + $zd]
}
# for

if { ![info exists ::SpiralAttr] } {
    array set ::SpiralAttr {
	arr SpiralAttrData
	sproc ""
	gproc ""
	w fSpiralAttr
    }
    global ay
    set w [frame $ay(pca).fSpiralAttr]
    addParam $w SpiralAttrData Length
    addParam $w SpiralAttrData AngleD
    addParam $w SpiralAttrData Radius
    addParam $w SpiralAttrData ZDiff
}

# crtspiralgui.tcl


4Radius
1.5
Length
30
ZDiff
0.125
AngleD
1.5708
