I need to draw an epicyclic curve on a sketch.

Any ideas on how I can go about it ?

Kind Thanks

Giorgis

- posted
17 years ago

- posted
17 years ago

I need to draw an epicyclic curve on a sketch.

Any ideas on how I can go about it ?

Kind Thanks

Giorgis

Any ideas on how I can go about it ?

Kind Thanks

Giorgis

Loading thread data ...

- posted
17 years ago

Do you have an equation?

- posted
17 years ago

Seems like my Tech Drawing classes at school weren't a waste after all
;-)

An epicyclic curve is the locus of a point on the perimeter of a small circle rolling (without slipping) around a larger circle. I'm not sure that there is a single mathematical expression for it - but it's one of those things that's easier to draw with a pair of compasses and a rule than on CAD.....

I think that to draw it in SW, you would have to think more like a draughtsman and 'construct' the circles and lines, then tie together key quantities using equations and linked values.

Might have a go at this one when I get a minute....

Martin

An epicyclic curve is the locus of a point on the perimeter of a small circle rolling (without slipping) around a larger circle. I'm not sure that there is a single mathematical expression for it - but it's one of those things that's easier to draw with a pair of compasses and a rule than on CAD.....

I think that to draw it in SW, you would have to think more like a draughtsman and 'construct' the circles and lines, then tie together key quantities using equations and linked values.

Might have a go at this one when I get a minute....

Martin

- posted
17 years ago

Maybe this will help in the effort...

formatting link

- posted
17 years ago

I don't believe there is a way to draw this in SW with 8 place
mathematical accuracy. But here is something that "may work":

-Two simple cylinders cooresponding to the minor and major diameters placed into an assembly with gear mates between the two and other constraints that only allow appropriate motion -a point on the perimeter of the smaller which will allow you to extract its location -create an assembly sketch and convert the above points' location, remove the coincident constraint and make the point fixed. -rotate the larger cylinder -rinse and repeat -a spline created from the generated points should give a reasonable representation

Creating a macro to auto-rotate the large cylinder, extract perimeter point data, and repeat at a given increment should allow for a reasonably high degree of accuracy

-Two simple cylinders cooresponding to the minor and major diameters placed into an assembly with gear mates between the two and other constraints that only allow appropriate motion -a point on the perimeter of the smaller which will allow you to extract its location -create an assembly sketch and convert the above points' location, remove the coincident constraint and make the point fixed. -rotate the larger cylinder -rinse and repeat -a spline created from the generated points should give a reasonable representation

Creating a macro to auto-rotate the large cylinder, extract perimeter point data, and repeat at a given increment should allow for a reasonably high degree of accuracy

- posted
17 years ago

Even better yet. You may be able to google a working model of a toy
that was around when i was young ( may still be, not sure ). It was called
a spyrograph (sp?). The correct model of it would already have all the
constraints necessary to create the correct motion type.

"Brian" mathematical accuracy. But here is something that "may work":

"Brian" mathematical accuracy. But here is something that "may work":

- posted
17 years ago

With that you've got some equations. I have a macro on my website that
will draw a spline for an equation. Theoretically it should be able to
accept equations with periodic terms, but I've never tried one as
complex as the ones on the above site.

If you want to try my macro, it's at

As I remember, polar coordinates are the best way to deal with cardioid shapes.

Good luck!

Matt

If you want to try my macro, it's at

formatting link

, follow the link for Macro
Library. It's called "eqcurve".As I remember, polar coordinates are the best way to deal with cardioid shapes.

Good luck!

Matt

- posted
17 years ago

Try this. Just set a and m. a is the OD of the circle around which you
want an epicycloid and m is the number of cusps. Start a part. This
will draw a sketch on the Front plane.

'******************************************************************************************************************************************************************************************************************************************
' C:\DOCUME~1\kellnerp\LOCALS~1\Temp\swx2044\Macro1.swb - macro
recorded on 05/24/05 by kellnerp
'
******************************************************************************************************************************************************************************************************************************************
Const pi = 3.141592654

Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim FeatureData As Object Dim Feature As Object Dim Component As Object Dim skPts() As Double

Sub EpiCycloid(ByVal N As Long, ByVal a As Double, ByVal b As Double)

ReDim skPts(N + 1, 3) As Double Dim i As Long Dim x, y, z As Double Dim phi, dphi As Double

dphi = 2 * pi / N

For i = 0 To N - 1

x = (a + b)*** Cos(i *** dphi) - b * Cos((a + b) / b *** i *** dphi)
y = (a + b) *** Sin(i *** dphi) - b * Sin((a + b) / b *** i *** dphi)
z = 0#

skPts(i, 0) = x skPts(i, 1) = y skPts(i, 2) = z Next i

x = (a + b)*** Cos(0 *** dphi) - b * Cos((a + b) / b *** 0 *** dphi)
y = (a + b) *** Sin(0 *** dphi) - b * Sin((a + b) / b *** 0 *** dphi)
z = 0#

skPts(N, 0) = x skPts(N, 1) = y skPts(N, 2) = z

End Sub

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc boolstatus = Part.Extension.SelectByID("Front Plane", "PLANE", 0, 0, 0, False, 0, Nothing)

' a is the OD of the circle around which you want the epicycloid. m is the number of cusps.

a = 20# m = 6#

'Don't change anything below here.

b = a / m N = 10 * m

Call EpiCycloid(N, a, b) Part.InsertSketch2 True

Part.ClearSelection2 True

For i = N To 0 Step -1

Part.SketchSpline i, skPts(i, 0), skPts(i, 1), skPts(i, 2)

Next i

End Sub

'

Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim FeatureData As Object Dim Feature As Object Dim Component As Object Dim skPts() As Double

Sub EpiCycloid(ByVal N As Long, ByVal a As Double, ByVal b As Double)

ReDim skPts(N + 1, 3) As Double Dim i As Long Dim x, y, z As Double Dim phi, dphi As Double

dphi = 2 * pi / N

For i = 0 To N - 1

x = (a + b)

skPts(i, 0) = x skPts(i, 1) = y skPts(i, 2) = z Next i

x = (a + b)

skPts(N, 0) = x skPts(N, 1) = y skPts(N, 2) = z

End Sub

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc boolstatus = Part.Extension.SelectByID("Front Plane", "PLANE", 0, 0, 0, False, 0, Nothing)

' a is the OD of the circle around which you want the epicycloid. m is the number of cusps.

a = 20# m = 6#

'Don't change anything below here.

b = a / m N = 10 * m

Call EpiCycloid(N, a, b) Part.InsertSketch2 True

Part.ClearSelection2 True

For i = N To 0 Step -1

Part.SketchSpline i, skPts(i, 0), skPts(i, 1), skPts(i, 2)

Next i

End Sub

- posted
17 years ago

Isn't that the equation for a face of a gear tooth (less root and crown)? If
so, there maybe accurate equation based profiles around that could be
modified.
Bob

- posted
17 years ago

It would be nice if SW had a "locus" function, where a point could trace out
a line as it moved according to a set of rules, equations, parameters, etc.
Next up in complexity a generating function could carve away at an extrusion
according to rules- think gear-shaper cutter generating a gear tooth
profile.

Bill (big ideas for someone else to implement) Chernoff

Bill (big ideas for someone else to implement) Chernoff

- posted
17 years ago

That is why they call Pro/E a parametric modeler. The equations here
are parameter driven. SW cannot generate a parametric curve like the
little macro does. In fact the macro is pretty simple to modify to
create any kind of parametric curve. Just change the equations for x
and y.

This curve is not the curve for gear tooth faces. That is called an involute and there is a fairly simple construction to make it.

This curve is not the curve for gear tooth faces. That is called an involute and there is a fairly simple construction to make it.

- posted
17 years ago

Wow thanks guys, I will define the problem a little more now and see
what you think.

I have a wheel and it has three protrusions on it. This wheel rolls on a flat surface As it rolls, it fits thru a hole smoothly. I need the profile of this hole.

Now I came up with the easy way out. Make the protrusion the same as a tooth on a pinion. The matching shape is but a flat tooth as you would find on a rack.

This is an intresting topic, so it would be good if it is explored further.

Kind thanks for all help so far, I will try some of the ideas suggested.

Giorgis

I have a wheel and it has three protrusions on it. This wheel rolls on a flat surface As it rolls, it fits thru a hole smoothly. I need the profile of this hole.

Now I came up with the easy way out. Make the protrusion the same as a tooth on a pinion. The matching shape is but a flat tooth as you would find on a rack.

This is an intresting topic, so it would be good if it is explored further.

Kind thanks for all help so far, I will try some of the ideas suggested.

Giorgis

- posted
17 years ago

By the way, Solidworks should have a method of drawing epicyclic
curves.
You can generate all manner of gears by editing the parameters.
I guess I should explored the formulas used to generate the profiles.

What I have done instead is put a pinion and a matching rack. Then pinch the profiles by using "convert entities" End up with only one tooth.

It will work exactly ... priceless ?!?! I know I took the easy way out, but that is what engineering is all about

G

What I have done instead is put a pinion and a matching rack. Then pinch the profiles by using "convert entities" End up with only one tooth.

It will work exactly ... priceless ?!?! I know I took the easy way out, but that is what engineering is all about

G

- posted
17 years ago

DAMN ... I am wrong, the thooth profile on the gears drawn by
SolidWorks are actualy arcs on a circle. I should have guessed that
they are pictorial. They look so close though %$#@^&#$@. Anyway, I
should be able to find the exact profile onece I have figured out the
correct gear to put in.

Giorgis

Giorgis

- posted
17 years ago

How is this an epicyclic curve?

- posted
17 years ago

I may have things confused.

G

PS: I am having trouble using the macro you supplied. Could you give me some pointers ?

formatting link

Effectively I need a wheel withone tooth in it to cut a flat surface.G

PS: I am having trouble using the macro you supplied. Could you give me some pointers ?

- posted
17 years ago

An involute (gear tooth) and an epicyclic curve are very similar.

Picture the following for drawing an involute: =B7A string wrapped around a spool with a pencil on the end. =B7As the string unwraps with the string held tight, the traced path is an involute.

I once needed to cut a true involute on CNC from SW geometry. I laid out a series of construction sketches (8 in total) equivalent to "unwrapping" string at 5=B0 intervals. The endpoints of the 8 "strings" were used to anchor a spline. An additional aid was that the "strings" were instantaneously perpendicular to the involute path, making it possible to use tangent constraints to help form the spline.

Picture the following for drawing an involute: =B7A string wrapped around a spool with a pencil on the end. =B7As the string unwraps with the string held tight, the traced path is an involute.

I once needed to cut a true involute on CNC from SW geometry. I laid out a series of construction sketches (8 in total) equivalent to "unwrapping" string at 5=B0 intervals. The endpoints of the 8 "strings" were used to anchor a spline. An additional aid was that the "strings" were instantaneously perpendicular to the involute path, making it possible to use tangent constraints to help form the spline.

- posted
17 years ago

1. Make a dummy macro by turning record on and then off.
2. Save the macro as epi or some other descriptive name.
3. Open the macro you just created in macro editor
4. In the editor window erase everything.
5. Paste in the macro I posted
6. Start a new part.
7. Make sure the name for the Front plane matches that in the macro.
8. Hit run. The macro should draw a close approximation of an four
petal epicycloid.

- posted
17 years ago

By the way, the units for the 'a' dimension is in meters.
You may want to convert unless you need a 60+ foot epicyclic.

I thought the macro wasn't working until I thought to zoom out.

... ->Try this. Just set a and m. a is the OD of the circle around which you ->want an epicycloid and m is the number of cusps. Start a part. This ->will draw a sketch on the Front plane.

->'******************************************************************************************************************************************************************************************************************************************
->' C:\DOCUME~1\kellnerp\LOCALS~1\Temp\swx2044\Macro1.swb - macro
recorded on 05/24/05 by kellnerp
->'******************************************************************************************************************************************************************************************************************************************

->' a is the OD of the circle around which you want the epicycloid. m is ->the number of cusps.

->a = 20# ->m = 6# ...

I thought the macro wasn't working until I thought to zoom out.

... ->Try this. Just set a and m. a is the OD of the circle around which you ->want an epicycloid and m is the number of cusps. Start a part. This ->will draw a sketch on the Front plane.

->'

->' a is the OD of the circle around which you want the epicycloid. m is ->the number of cusps.

->a = 20# ->m = 6# ...

- posted
17 years ago

Good point. SW works in metres.

Well I just threw it together in 15 minutes. User friendly it ain't, but it works and it is layed out reasonably logically to the point that it can be tweaked. Any parametric functions can be inserted for x and y. Even z can be added if you want to open a 3D sketch. .

You should also be aware that at the inflection points where the epicycloid touchs the base circle the spline does not come to a perfect point, so in that region it is inaccurate. To fix it play with the indices in the point generator to get just one petal. Then the spline should be pretty accurate.

Well I just threw it together in 15 minutes. User friendly it ain't, but it works and it is layed out reasonably logically to the point that it can be tweaked. Any parametric functions can be inserted for x and y. Even z can be added if you want to open a 3D sketch. .

You should also be aware that at the inflection points where the epicycloid touchs the base circle the spline does not come to a perfect point, so in that region it is inaccurate. To fix it play with the indices in the point generator to get just one petal. Then the spline should be pretty accurate.

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.