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