View Full Version : spiral spring: am I drawning in a glass of water?
coldby
23rd June 2006, 08:33 AM
Drawing a spiral coil: before I tryed I was bluntly sure that a few mouse clicks would do it. Now I'm not as sure anymore.
Mind you, not a helicoid, a true spiral: the radius gradually increasing or decreasing, but all on the same plane - the kind of spring you still find in old-fashioned mechanical clocks or toys.
Dennis
23rd June 2006, 11:25 AM
I thought there *may* have been a way to do this using Replicator --- I can't see a way to offset the extrusions where they make a spiral, however...
I needed this functionality a while back, and as it wasn't in AC3D already, I ended up getting "Spiralizer":
http://www.armanisoft.ch/webdesign/FrmDownloads.html
Scroll to the bottom section and click that Spiralizer link if you don't understand German.
It exports to DXF, which loads nicely into AC3D. Good workaround until there's a way to do this natively in AC3D...
captainj2410
23rd June 2006, 12:36 PM
You could still do it manually by moving the vertices in a helicoid inward while still keeping close to the same plane they were on and keeping an eye on the distance moved display.
coldby
25th June 2006, 09:42 AM
Thanks folks, mostly for confirming that the Alzheimer hasn't had me yet :) And, Dennis, thanks for Spiralizer - guess I'll have it downloaded and tested before the Sunday's over.
Anyway I muddled through by applying the old-fashioned trick (from the times of ruler and ink) of drawing a set of concentric circles with decreasing radii, deleting three quarters of each, rotating and assembling together the remaining arcs, drawing (manually!) a path along the vertices and then eventually extruding the cross-section along the latter. Pretty dirty indeed, and it took a helluva time - but the final result really looked like a spiral.
Dennis
25th June 2006, 11:16 AM
One other method worth considering:
To mimic the 2d shape of a spiral in AC3D, I followed the steps from the attached image:
1. I pulled the image of a spiral off the web ( http://images.google.com/images?q=spiral )
2. Loaded the image in the AC3D Front view using Ortho -> Set Background Image, then traced the spiral image using a Line.
3. Subdivided the Line.
The Spiralizer will be better if you're going for more mathematic precision, or for spiraling the spring "upward", but this is probably a faster/easier way to get a basic spiral...
eldonb
25th June 2006, 01:22 PM
Dennis,
Could this be a need for a more "generalization" of your wave plugin?
Dennis
25th June 2006, 01:45 PM
I'm not sure of the math for making a spiral, but it may very well work...
I would love to revisit the Wave plugin for this plus a few other things. It's a little clumsy now because all waveforms are based off of 0,0,0, forcing you to move your geometry there...
I would like to modify it to fix that issue, show a realtime-preview, and shape wavelengths based on the size of the selected geometry (so you can, for example, issue 1 wave, 2 waves, 3.5 waves, etc instead of havng to calculate it out yourself manually).
Perhaps with these changes, I could introduce other waveforms as well, possibly spirals...
I'm in the middle of a few other projects now, but this may be forthcoming later on.
coldby
26th June 2006, 05:10 AM
Hi Dennis,
the math of a spiral is as easy as you wish it to be - but in polar coordinates :(
The simplest one is (rho) = a (theta) [ sorry, can't manage Greek letters here], a docile and tame linear spiral also known as Archimede's.
Then there's the one used by snails, looking like (rho) = exp (k (theta)): the larger the animal, the faster it grows - at least until it meets a hungry Frenchman.
If you want to make the latter more realistic you might as well consider that an element of cross-section has anyway to accommodate only a slice of the animal, thus make it (rho) = exp (k (theta)) ^ (2/3) [one dimension falls off].
However if you want it really complicated and interesting, the only limit is your fantasy. Unless you're married, of course - then the first unobjectionable obstacle would be your wife :)
coldby
26th June 2006, 05:21 AM
Speaking of guide-paths for extruding objects, every now and then it would be convenient doing it in parts (as for my fake arc-contrived spiral) and then assembling and merging the paths together before extruding. But AC3D seems not to like it: either a single monolithic path or nothing.
Is there a way to get a single path out of a set of sub-paths?
And, more generally: is there a way to melt permanently a set of several objects into a single one? Apparently merging them won't do: although you may not split them back anymore, AC3D seems to remember even too well that they haven't been born as a single entity.
Dennis
26th June 2006, 07:50 AM
Thanks for the formulae, coldby :)
There's no way I know to combine multiple line surfaces --- you can get them into one object, even optimize out the dupe vertices, but the only way to convert them to a single line that I know of is a manual process:
1. select your two line segments
2. perform an Object -> Merge
3. ensure two of the vertices where the surfaces meet are in the same location (select them and use Vertex -> Snap Together)
4. perform an Object -> Optimize Vertices to get rid of the dupe vertex
4. select both lines and perform a Surface -> Remove Surface Only. This will leave your vertices intact, but will remove the lines.
5. in Vertex mode, select each vertex one at a time in the order you want them in your final line
6. perform a Vertex -> Create Ordered Surface
7. set the Surface Type to Line using the buttons in the bottom left of the AC3D interface
Would be nice to get a built-in utility to merge lines...
Dennis
3rd July 2006, 11:18 AM
Thanks to Eldon Brown, your Spirals are a reality in AC3D:
http://supercoldmilk.com/ac3dplug/wave3d.html
Just resize the resulting spiral along the length, and you're left with a simple spiral.
Enjoy,
Dennis
coldby
3rd July 2006, 12:13 PM
Wow, that's cool! Thanks! By tomorrow I'll have both wave and wave3D installed and tested - not for my spiral spring that's now over but because of all the rest they should be able to do.
Dennis, would you care to spend a few words about the plugins? I mean mostly if they are scripted or rather programmed in C(++) and then hooked to the body of AC3D and how, where they get the parameters from and so on... I'd like a lot to contribute whatever little I can, if I only knew where to start on.
Dennis
3rd July 2006, 05:15 PM
All of my plugins were written in C++.
The best place to start is to ask Andy for a copy of the SDK --- it has some good examples of simple plugins in it, and a couple of helper docs.
Once you figure out the basics, you can grab the source for any of my own plugins to get a little more info into how to pass in params/etc. Some of the easier ones to read through are Wave, Select Connected, and Select Outer Edges. Stay away from Fur, Greeble, Layers, Divide Loop, and Knife at first --- they're significantly more complex structurally.
Good luck
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.