Thanks Alan,
I'll take a look at this later today.
John

> -----Original Message-----
> From: Alan Condit via Emc-users [mailto:emc-users@lists.sourceforge.net]
> Sent: April 10, 2024 9:27 AM
> To: EMC-Users
> Cc: Alan Condit
> Subject: Re: [Emc-users] Carving a spiral
> 
> John,
> 
> Here us a subroutine I wrote to cut a scroll.
> #<_xorigin>, and #<_yorigin> are the center of the scroll. Basically it 
> changes
> the radius of the circle every � turn.
> 
> 
> (Subroutine to cut spiral in)
> (o<SpiralIn> call [X] [Y] [Depth] [Stepover] [Radius])
> o<SpiralIn> sub
> (#1 is X center)
> (#2 is Y center)
> (#3 is Z plunge depth)
> (#4 is the stepover amount )
> (#5 is the ending radius )
> (#<curstep> is the amount to increment start of the next loop)
> #<XOrg> = #1
> #<YOrg> = #2
> #<Depth> = [0-#3]                                ( Depth of cut )
> #<stepover> = #4                                 ( Size of stepover )
> #<Rad> = #5                                      ( Starting Radius )
> #<stepover4>=[#<stepover>/4]                     ( 1/4 of stepover )
> #<curstep> = #<Rad>
> 
> G10 L2 P3 X[#<_xorigin>+#<XOrg>] Y[#<_yorigin>+#<YOrg>] Z#<_zorigin> (
> Set the Current Coordinate for G56 )
> #<Zcut> = #<_close_Z>                            ( set Zcut to top of 
> material )
> G56                                              ( Select Coordinate system 3 
> )
> G00 X0 Y[0-#<Rad>] Z#<_close_Z>
> G01 Z#<Depth> F#<_xyfeed>
> o<L1> WHILE [#<curstep> GT 0]
>   o<Cnd1> IF [[#<curstep> - #<stepover4>] GE #<stepover>]
>     G03 X0 Y[[#<curstep>-#<stepover4>]*[-1]]     R[#<curstep>-#<stepover4>]
>   o<Cnd1> ENDIF
>   o<Cnd2> IF [[#<curstep> - [2*#<stepover4>]] GE #<stepover>]
>     G03 X[#<curstep>-[2*#<stepover4>]]        Y0 R[#<curstep>-
> [2*#<stepover4>]]
>   o<Cnd2> ENDIF
>   o<Cnd3> IF [[#<curstep> - [3*#<stepover4>]] GE #<stepover>]
>     G03 X0 Y[#<curstep>-[3*#<stepover4>]]        R[#<curstep>-
> [3*#<stepover4>]]
>   o<Cnd3> ENDIF
>   o<Cnd4> IF [[#<curstep> - #<stepover>] GE #<stepover>]
>     G03 X[[#<curstep>-#<stepover>]*[-1]]      Y0 R[#<curstep>-#<stepover>]
>   o<Cnd4> ENDIF
>   #<curstep> = [#<curstep>-#<stepover>]
> o<L1> ENDWHILE
> G0 Z#<_close_Z>
> G55
> o<SpiralIn> endsub
> 
> 
> Alan
> > From: "John Dammeyer" <jo...@autoartisans.com
> <mailto:jo...@autoartisans.com>>
> > Subject: [Emc-users] Carving a spiral
> > Date: April 10, 2024 at 12:55:36�AM CDT
> > To: "Enhanced Machine Controller \(EMC\)" <emc-
> us...@lists.sourceforge.net <mailto:emc-users@lists.sourceforge.net>>
> >
> >
> > A friend and I have been discussing exactly how to write the G-Code to
> > create a spiral scroll.
> >
> > His rotary table 90:1 reduction with a 1600 micro-step motor could be set up
> > to move N steps for each step of the X axis to create the spiral.  But that
> > approach seems clumsy.
> >
> > Say I wanted to cut a scroll with a 6mm pitch using a 3mm cutter.
> >
> >
> >
> > Without using G2 or G3 it's really just a triangle isn't it?  Move rotary
> > table distance A and move X axis distance A'.  Do it in small enough
> > increments and you get a spiral.  But I feel like I'm missing something
> > really simple.
> >
> >
> >
> > Suggestions?
> >
> > Thanks
> >
> > John
> 
> 
> 
> 
> 
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users



_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to