'////////////////////////////////////////////////////////////////////////////// ' ' Conic Helix.vbs ' CamBam vbscript ' By AMDlloydsp, with credits to 10 Bulls for the idea from "Boingy" ' dim turns as single dim start_diameter as single dim end_diameter as single dim depth_increment as single dim strAnswer as string dim direction as single dim smooth as single sub main start_diameter=val(Inputbox ("Kleiner Durchmesser?")) end_diameter=val(Inputbox ("Großer Durchmesser?")) turns=val(Inputbox("Anzahl der Umdrehungen?")) depth_increment=val(Inputbox ("Tiefe pro Umdrehung -- negative =-Z")) direction=val(Inputbox("Richtung der Umdrehung -- -1 = Gegen Uhrzeigersinn, 1 = im Uhrzeigersinn")) direction=direction*-1 smooth=val(Inputbox("Abrundungsfaktor(Anzahl der Segmente pro Umdrehung) 100 sind ein guter Wert.")) dim p as polyline = MakeConicHelix() doc.add(p) end sub function MakeConicHelix as polyline dim start as single = 0 ' in radians dim finish as single = turns*2*pi '30*pi ' in radians dim steps as single = turns*smooth ' number of steps dim radius as single = start_diameter/2 dim startz as single = -1*depth_increment*turns dim endz as single = 0 dim radius_step as single = (end_diameter-start_diameter)/(steps*2) dim x as single = 0 dim y as single = 0 dim z as single = startz dim th as single = start dim dt as single = (finish-start)/steps*direction dim dz as single = (endz-startz)/steps '// Get the drawing ready to draw dim p as Polyline = new Polyline '// Play da loop for i as short = 0 to steps x = radius * math.cos(th) y = radius * math.sin(th) p.Add(x,y,z) radius=radius+radius_step z = z + dz th = th + dt next i MakeConicHelix = p end function