claude init
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
; Helical bore subroutine - cuts a circular hole by helical interpolation
|
||||
; Params: #1=x, #2=y, #3=diameter, #4=zstart, #5=zend, #6=stepdown
|
||||
; Uses #<_td> (tool diameter) to compute offset radius
|
||||
o<bore> sub
|
||||
; x, y, d, stepdown, zstart, zend
|
||||
G90
|
||||
@@ -5,22 +8,22 @@ o<bore> sub
|
||||
|
||||
G0 X#1 Y#2
|
||||
G0 Z#4
|
||||
G1 X[#1+#3/2-#<_td>/2] Y[#2]
|
||||
G1 X[#1+#3/2-#<_td>/2] Y[#2] ; move to bore edge, compensated for tool radius
|
||||
G17
|
||||
|
||||
#<r> = [#3/2-#<_td>/2]
|
||||
#<r> = [#3/2-#<_td>/2] ; effective bore radius (bore radius minus tool radius)
|
||||
|
||||
#<z> = [#4-#6]
|
||||
o101 while [#<z> GT #5]
|
||||
o101 while [#<z> GT #5] ; helical passes, one full circle per stepdown
|
||||
G3 X[#1+#<r>] Y[#2] I[-#<r>] Z[#<z>] P1
|
||||
#<z> = [#<z> - #6]
|
||||
o101 endwhile
|
||||
|
||||
o102 if [#4 GT #5]
|
||||
o102 if [#4 GT #5] ; partial final pass to reach exact zend
|
||||
|
||||
#<ang> = [[#<z>-#5]/#6*360]
|
||||
#<ang> = [[#<z>-#5]/#6*360] ; angle where remaining depth is consumed
|
||||
G3 X[#1+COS[#<ang>]*#<r>] Y[#2+SIN[#<ang>]*#<r>] I[-#<r>] Z[#5]
|
||||
G3 X[#1+COS[#<ang>]*#<r>] Y[#2+SIN[#<ang>]*#<r>] I[-COS[#<ang>]*#<r>] J[-SIN[#<ang>]*#<r>] Z[#5]
|
||||
G3 X[#1+COS[#<ang>]*#<r>] Y[#2+SIN[#<ang>]*#<r>] I[-COS[#<ang>]*#<r>] J[-SIN[#<ang>]*#<r>] Z[#5] ; cleanup pass at final depth
|
||||
|
||||
;G3 X#1 Y[#2+#3/2-#<_td>/2] J[-#3/2+#<_td>/2]
|
||||
o102 endif
|
||||
|
||||
Reference in New Issue
Block a user