From: Aussie on
Some cool responses here guys - this is what the NG is all about - Onyaz!

Hey Giorgis; you wouldn't happen to be making a gear would you? How about
take a lok at geartrax - it aint much to buy, and has a whole truckload of
functionality...

I think it is from a Co called camtrax???

google it :)

"Brian" <don'tspam(a)me> wrote in message
news:42934862_3(a)newsfeed.slurp.net...
> 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" <don'tspam(a)me> wrote in message
> news:429346b2$1_5(a)newsfeed.slurp.net...
> > 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
> >
> >
> > --
> > Brian Hokanson
> > Starting Line Products
> >
> > "wurz" <mjs_cadman-ccsw(a)yahoo.co.uk> wrote in message
> > news:1116944042.503042.314790(a)g49g2000cwa.googlegroups.com...
> >>
> >> Giorgis wrote:
> >>> I need to draw an epicyclic curve on a sketch.
> >>> Any ideas on how I can go about it ?
> >>>
> >>> Kind Thanks
> >>>
> >>> Giorgis
> >>
> >> 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
> >>
> >
> >
>
>


From: Giorgis on
I am not quite making a gear. I have an Octagon about 240mm accross
sides. I have a roller that runs on the flat of the octagon as it
turns. I want the octagon to drive the roller by friction. I want to
place "teeth" on the corners of the octagon to bring the roller back in
synch if it goes out.

Thanks for all the advice guys. Sorry for starting out vague, it was
not intentional. I reaslied as the thread advanced that I need to
provide more info.

I have tried a few things now, I should start making them soon.

Thanks again
Giorgis

From: TOP on
Here is version 1.0 which of course comes after 0.0

'******************************************************************************
' macro recorded on 05/24/05 by kellnerp
'
' REV BY DATE COMMENTS
' 1.0 PBK 5/30/05 CORRECTED PROBLEM AT VERTEX, ADDED INPUT BOXES
'
'******************************************************************************
Option Explicit
Const pi As Double = 3.141592654
Const iPts As Long = 10

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


Private Function Get_A() As Double

Dim Message, Title, Default As String
Dim A As Double

' Set prompt.
Message = "Enter Base Circle Diameter: "
Title = "SET A" ' Set title.
Default = "1.000" ' Set default.

' Display message, title, and default value.
A = Val(InputBox(Message, Title, Default, 200, 200))
Get_A = A

End Function

Private Function Get_m() As Long

Dim Message, Title, Default As String
Dim m As Long

' Set prompt.
Message = "Enter the number of petals (Integer >=1) "
Title = "SET m" ' Set title.
Default = "1" ' Set default.

' Display message, title, and default value.
m = Val(InputBox(Message, Title, Default, 200, 200))

If m < 1 Then m = 1

Get_m = m

End Function
Sub main()

Dim A As Double
Dim b, m, N As Long
Dim i, j As Long

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID("Front", "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 = Get_A()
m = Get_m()

'Don't change anything below here.

b = A / m
N = iPts * m

Call Epicycloid(N, A, b)

For j = 1 To m

'Start the sketch
If j = 1 Then

Part.InsertSketch2 True
Part.ClearSelection2 True

End If

'For i = N To 0 Step -1
For i = iPts * j To iPts * (j - 1) Step -1

Part.SketchSpline i - iPts * (j - 1), skPts(i, 0), skPts(i,
1), skPts(i, 2): Debug.Assert True

Next i

Next j

'End the Sketch

Part.ClearSelection2 True
Part.InsertSketch2 True

Part.EditRebuild3
Part.ViewZoomtofit2

End Sub

From: TOP on
This isn't really an epicyclic curve that a point on the roller is
following. I would assume that the roller circumference is equal to
the width of a facet on the octagon. Then the roller would make exactly
one revolutions across the width of the flat. As the roller approaches
the corner a point on the roller would describe a cycloid WRT the flat.

From: rmchugh on

I didn't say it before when I should have:

Nice job.

TOP wrote:
> Here is version 1.0 which of course comes after 0.0
>
> '******************************************************************************
> ' macro recorded on 05/24/05 by kellnerp
> '
> ' REV BY DATE COMMENTS
> ' 1.0 PBK 5/30/05 CORRECTED PROBLEM AT VERTEX, ADDED INPUT BOXES
> '
> '******************************************************************************