MoI discussion forum
MoI discussion forum

Full Version: mathematically exact helix with constant radius and progressive pitch

Show messages: All  1-4  5-12

From: Michael Gibson
18 Nov   [#5] In reply to [#2]
@Bemfarmer:
> (I am unsure if this statement applies to the creation of a regular helix in NURBS form.)

It applies to both - neither fixed pitch nor variable pitch helixes can be represented exactly by NURBS, unlike conic section curves.

- Michael
From: Michael Gibson
18 Nov   [#6] In reply to [#3]
Hi geekmidget,

re:
> If a helix cannot be represented exactly as a NURBS curve, isn't there at least a way to
> represent the helix curve with accurate radius at the control points?

No, because usually a NURBS curve does not pass directly through control points.

- Michael
From: bemfarmer
18 Nov   [#7] In reply to [#3]
Thank you Michael.
It is hard to find, or if found know, if information on the internet is correct.

In response to question:
>>>What would be the approach to use the Control Point type curve instead of InterpCurve?

The factory for the type of curve is hard coded in the variable pitch helix .js file, so simply change one line of code in the .js file.

var factory = moi.command.createFactory( 'interpcurve' );
becomes:
var factory = moi.command.createFactory( 'curve' );

Perhaps assign a new name for the modified script, to avoid confusion, and copy the renamed .js and .htm files to the Moi appdata file, alongside the old version, if using CustomUI,
or the Moi command folder, alongside the old version, without CustomUI.

I do not understand how Flow is involved in the helix modification?

- Brian
From: geekmidget (HF)
18 Nov   [#8] In reply to [#7]
Brian, my approach was making an arch in the plane XZ first, with the progression slope I wanted for the helix, then flowing that arch around a circle in the plane XY with the diameter of the helix. For some reason in the few tests I made this actually produced more accurate results than the plugins. Go figure.
From: geekmidget (HF)
18 Nov   [#9] In reply to [#6]
Thank you for the clarification Michael, I wasn't aware NURBs curves don't actually pass directly through control points.
That explains it.

Is there at least a way to force the flow tool to preserve position of control points in the Z axis?
From: Michael Gibson
18 Nov   [#10] In reply to [#9]
Hi geekmidget,

re:
> Is there at least a way to force the flow tool to preserve position of control points in the Z axis?

Not for points internal to the curve.

But if you cut the curve into pieces, I think the start and end points of each piece would be preserved.

Also the fitting tolerance for flow has been tightened up in v5 so you may get better results there.

- Michael
From: geekmidget (HF)
18 Nov   [#11] In reply to [#10]
I will try both ways, thanks!
From: geekmidget (HF)
19 Nov   [#12] In reply to [#11]
Splitting the progression slope curve in 3 pieces didn't help much with precision, I will try later today with a radial array of 90 pieces and see if it makes a difference then. Flow tool in V5 behaved more or less the same as in V4, I didn't notice particularly better tolerances. Helix should have 32.5mm in diameter, but when selecting it dimension was between 32.46 and 32.4999, I guess small roundings per each interpolation point add up at least in this particular case.

Show messages: All  1-4  5-12