Quick tutorial - How to make an helix or spiral curve
 1-17  18-37  38-39

Previous
Next
 From:  Michael Gibson
277.18 In reply to 277.16 
> I must make 80 Clickty-clac Zoom of the Mouse Wheel before to see a
> divergence between 2 arc segments !
> Is it compatible with your estimation of 0.1 degre deviation?

Well, when you're zooming in on the endpoint you're looking at positional deviation - that is going to be very tight, by the time you zoom in 80 steps you're seeing a very small deviation that is much, much smaller than the tolerance, so that part is very accurate.

I was talking about tangent deviation, though - this is the differences between the end tangent directions at each segment. This is a little easier to see - you can draw a tangent line off of each segment (hide the neighboring one to make sure your snap is on one particular segment), and then you can zoom in to see if there is a gap between these tangent lines. The gap is small (0.1 degrees in this case), but you should see it with only a little bit of zooming, especially if you draw the lines a bit longer.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
277.19 
Well, well...
Can you put an "real helix" beside my "false helix"
of course with same dimension :)
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
277.20 In reply to 277.19 
> Can you put an "real helix" beside my "false helix"

I've attached here a helix created from Rhino - I think it is approximated to a true helix within 0.01 units. (A NURBS curve cannot actually have a 100% exact shape of a helix unlike a circle, it has to be approximated to some tolerance).

Your curve is very, very close - your curve has a maximum deviation of 0.04 units from this one.

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
277.21 In reply to 277.20 
Thx
So some visible with the zoom :)
I must found an another automatic trick for reduce the deviation :)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  tyglik
277.22 
Hi,

Add: The helix from an arc or one turn. (it applies to both G0 and G1 connection)

The trouble is that if you want to use such segmented curve for sweeping, you must select more than one profile to sweeping along the helix, otherwise you create a segments which can't be joined together! Furthermore, it is necessary to choose a flat mode for sweeping a profiles "smoothly".

Petr
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
277.23 In reply to 277.22 

@Tyglik
Curious that you obtain a perfect helix with an arc!
(see my previous posts and my little disappoinment with the "arc":D
I will study your method :)
But how do you draw the first "spiral" ?
With this method?
http://moi3d.com/forum/index.php?webtag=MOI&msg=277.3

With your method (very fine for automatic big spiral) (277.3) I obtain that !
Seems not so bad, but I have not the exact Rhino spiral :)
Maybe I have not found the good parameters?
I have same height, radius, start, end ...
not exactly the same numbers of spires!!! That must be the default of my try, I return to see that :)

EDITED: 8 Jan 2007 by PILOU

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
277.24 

@Tyglik
Ok That's works very fine !
We must just play with the parameters :)
Nb of rep 321
Angle to fill 1800
Step vertical 0.125

And you obtain the Rhino Helix given my Michael here http://moi3d.com/forum/index.php?webtag=MOI&msg=277.20

Seems the same with 0.000000 deviation between the 2 Helix :)

So your method is not a "pseudo" Helix but a "real" Helix :)
Bravo for the trick! ( Ctrl + C, Erase All, Ctrl + V) that rocks!
Now we can make any Spiral or helix easily!

EDITED: 9 Jan 2007 by PILOU

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  tyglik
277.25 In reply to 277.23 
Hi Pilou,

>>Curious that you obtain a perfect helix with an arc!
>>(see my previous posts and my little disappoinment with the "arc":D
>>I will study your method :)

No, no Pilou. I only wanted to point a potential problem out when you use a segmented helix for sweeping.
Segmented curve, I mean it is possible to separate the helix to the individual turns.
There isn't any other stand-alone helix in the picture except the helix round the origin!


>>But how do you draw the first "spiral" ?

Do you mean the helix round the origin?
It was created using bernard-jonah's method.
- create one turn of helix (8 + 4 points - Throughpoints - Trim ends)
- copy it three times
- join all turns (select, Edit/Join)

But, it doesn't matter. The segmented arc-helix result in the same trouble.

Petr
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  jbshorty
277.26 In reply to 277.25 
>>Do you mean the helix round the origin?
>>It was created using bernard-jonah's method.

(ahem)... I believe that is now properly being referred to in scientific terms as the Schbeurd-Shorty spiral... :)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  tyglik
277.27 In reply to 277.24 
>>Now we can make any Spiral or helix easily!

However, it still hold true that you should trim the ends of helix or spiral properly.


>>( Ctrl + C, Erase All, Ctrl + V) that rocks!

You can use "Ctrl+Drag" too, how Michael noticed somewhere else.


Petr
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  tyglik
277.28 In reply to 277.26 
hehe.... petr
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
277.29 
@Tyglik
You consider your previous method of the line + "array circular" + copy erase etc...as a false helix?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
277.30 
Since you guys are all so crazy about helixes, I guess I better try to put in a proper helix/spiral tool...

Although it is kind of fun to see all the different workaround methods! :)

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  jbshorty
277.31 In reply to 277.30 
Ok. Next we start a thread about workarounds for parametric fillets. hehe... :)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Schbeurd
277.32 In reply to 277.26 
>> Make array of points as Schbeurd explains (someday you will have to tell me the correct way of pronouncing this nickname)...

>> (ahem)... I believe that is now properly being referred to in scientific terms as the Schbeurd-Shorty spiral... :)

Well, as we will meet the day when we will be presented our Nobel prize for this great advance in computer technology, I will invite you to a pub where we will drink a few belgian beers. I can guarantee that after 4 or 5 of the Special beers (the strong ones) you will be able to pronounce "Schbeurd" like a real pro. ;-)))

Parametric fillets... Hmmm, interesting ! ;-)))
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  jbshorty
277.33 In reply to 277.32 
oooooooh... i see spirals everywhere... :)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  tyglik
277.34 In reply to 277.29 
No, Pilou.

Let's summarize...
We have discussed four basic method how to create helix using the Transform/Array-Circular command.

1) Bernard's method
input: one point
- create a points by Array-Circular command with vertical step option
- start the Through-Points command and make a helix by picking each point
result: one curve with slightly different curvature at the ends

2) Loft method
input: one line
- create a lines by Array-Circular command with vertical step option
- select the lines
- start the Loft command and make a surface
- extract edge of surface
result: one curve with slightly different curvature at the ends

3) Schbeurd-Shorty spiral..... ch ch
input: one point
- create a points for only one turn of helix by Array-Circular
command with vertical step option
- copy an extra points at the ends (see 277.13)
- start the Through-Points command and make a turn of the helix by picking each point
- make multiple copies of this curve, and align them "end to end to end..." (see again 277.13)
- select the curves
- run the Join command
result: one segmented curve (a polycurve with G1 continuity between segments)

4) Pilou's arc method
input: one point
- create three point by Array-Circular
- make an arc from this point
- start the Array-Circular command and create appropriate number of copies of arc
- select the arcs
- run the Join command
result: one segmented curve (a wobbled polycurve with G0 continuity between segments)

Let's assume that we want to make a spring for each one of the helix, so we draw a circle and sweep the circle along the helix using Sweep command to create a "pipeline".
result:
- one object - the pipeline - for 1) and 2) method
- a lot of objects - segments of pipeline - for 3) and 4) method;
moreover, the segmets can not be connected together by Join
command! (it strange for G1 continuity, though).

When we create a surface using two circles as profile curves, we get one object for 3) and 4) method as well. However, it is better to choose the "flat" mode of twist option when sweep this "type of helix". (Just try selecting a seam of pipeline and you understand why).


I hope that it is as clear as day now.

Petr
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
277.35 In reply to 277.34 
So If I well underdand only a mathematical script can be obtain a true perfect helix :)
Or maybe it's will be more easy when the function "project" a curve on a surface will be made
For example a line to a cylinder :)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  tyglik
277.36 In reply to 277.13 
Hi Jonah,

I guess it is not necessary to resuscitate this thread, but...

jonah wrote:

>For a G1 fit between each spiral segment, you have to add 2 points to the ends of each spiral. So it goes like this:

>1. Make array of points as Schbeurd explains (someday you will have to tell me the correct way of pronouncing this nickname)... for this example, let's say there are 8 points in the array :

>2. Select points 2 & 3, then copy from position of point 1 to poistion of point 8.

>3. Select points 6 & 7, then copy from position of point 8 to poistion of point 1.

>4. Now draw your curve through all the points.

>5. Select curve, and trim excess curve length using original points # 1 and 8.

>If you make multiple copies of this curve, and align them end to end to end, they will have G1 continuity... I analyzed in Rhino, and it doesn't matter if you make 2, 3, or 4 extra points the result will still be G1. But if only using one extra point at each end will result in G0 continuity.



I couldn't understand why the sweep command creates a surfaces that can't be joined together, although the rail is "perfectly" smooth (G1). It appears that I have discovered the reason. The Rhino's _GCon seems to be quite confusing. While the command prompt displays G1 continuity between turns of helix, the actual tangency deviation can be as great as the tolerance that is hard-coded inside Rhino(?) I think it haven't much to do with Rhino's "Angle tolerance" setting. I haven't manage to find any relationship between that tolerance and indicated continuity.

Have a look at Rhino's command history window:
:Command: GCon
:First curve - select near end:
:Second curve - select near end:
:Curve end difference = 0
:Radius of curvature difference = 2.66454e-15
:Curvature direction difference in degrees = 0.85681
:Tangent difference in degrees = 0.661446
:Curves are G1.


Tangent difference in degrees = 0.661446 !!!

So now, I am not sure that method, you have described, is just ok. How do you feel about it, jonah?


Petr

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  jbshorty
277.37 In reply to 277.36 

Hi Peter. Well. Obviously it's not perfect. The sweep is still a polysurface. In Rhino in fact i have a method which is simpler than Moi and will generate it as a single curve segment, so the resulting pipe (thickening the curve) will result in a single Nurbs surface. But this is the most simple method i feel personally for Moi (pun intended!)... In either case, it's OK to use a polysurface for this purpose since coil springs are not manufactured from 3D models. It's only for illustrations of mechanical objects. I think if you really want the curve deviation to be minimized, then we just start with more points in the initial array, and also we create many more extra points on each end before creating the helix to be trimmed away... Not perfect, but makes it simple and quick :)

jonah

SORRY - I was thinking this was in response to my tutorial on making a coil spring! http://www.moi3d.com/forum/index.php?webtag=MOI&msg=317.1 How embarrassing for me :) ...If using this type of spiral to develop an object for manufacture (such as threading on a moulded bottle) then yes i agree it is better to make a single spiral curve by drawing the spiral in it's full length. For most illustrative purposes either method should be OK....

EDITED: 17 Jan 2007 by JBSHORTY

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1-17  18-37  38-39