Great work!  I wondered how well that would work.  (files that video
away under 'linuxcnc is awesome')

sam

On 09/11/2015 06:52 PM, Tom Easterday wrote:
> Here is a video of our G33 knurling routine running.  Pretty cool.  I’m sure 
> we aren’t the first to do this, but since I haven’t seen it before I will 
> pretend like it :-)  BTW, this knurl is only about 5 thou deep, deeper ones 
> will follow.
>
> https://youtu.be/zdCQ0X7b2uo
>
> Here is the code:
>
> G8
> G53 G0 X0
> G53 G0 Z0
> M6 T3 G43
>
> #<workpieceDia> = 0.700
> #<workpieceRad> = [#<workpieceDia>/2]
> #<safeXOffset> = 0.025
> #<safeX> = [#<workpieceRad> + #<safeXOffset>]
>
> #<knurlStartZ> = 0.000
> #<knurlLen> = 0.25
> #<knurlLeadIn> = 0.010
> #<knurlDepth> = 0.002
> #<knurlPerDia> = 28
> #<knurlAngle> = 30
> #<knurlEndZ> = [#<knurlStartZ> - #<knurlLen>]
>
> #<rpm> = 100
>
> #<pi> = 3.142
>
> ; The surface is the circumference of the workpiece
> #<workSurface> = [#<pi> * #<workpieceDia>]
>
> ; Given a knurl angle, calculate Z feed given <workSurface>
> #<feedPerRev> = [TAN[#<knurlAngle>] * #<workSurface>]
> #<feedPerMin> = [#<feedPerRev> * #<rpm>]
> (debug, feed per revolution: #<feedPerRev>; per min: #<feedPerMin>)
>
> ; thread _width_ is equal to distance traveled in one rev, i.e. <feedPerRev>
> #<threadWidth> = #<feedPerRev>
> ; Thus, TPI will be 1/<threadWidth>
> #<tpi> = [1/#<threadWidth>]
>
> ; To do a n-start thread, we need to start each thread
> ; <threadWidth>/n further back (Z+) than the prior thread
> #<nStartZOffset> = [#<threadWidth>/#<knurlPerDia>]
>
>
> M3 S#<rpm>
>
> #100 = #<knurlPerDia>
> #110 = [[#<knurlPerDia> * #<nStartZOffset>] + #<knurlStartZ> + #<knurlLeadIn>]
> (debug, knurl lead in: #110)
>
> G0 Z#110
> G0 X[#<workpieceRad> - #<knurlDepth>]
>
> O100 WHILE [#100 GT 0]
>    (debug, start Z: #110; feed: #<feedPerRev>)
>    (calculate the lead in for the knurl AFTER this one)
>    #105 = #110
>    #110 = [#110 - #<nStartZOffset>]
>
>    ;G33 Z#110 K#<feedPerRev>
>    ;G1 Z#<knurlEndZ> F#<feedPerMin>
>    ;G1 Z#105 F#<feedPerMin>
>    G33 Z#<knurlEndZ> K#<feedPerRev>
>    G33 Z#105 K#<feedPerRev>
>    ;G0 X#<safeX>
>    G0 Z#110
>    ;G0 X[#<workpieceRad> - #<knurlDepth>]
>
>    #100 = [#100 - 1]
> O100 ENDWHILE
> ------------------------------------------------------------------------------
> _______________________________________________
> 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