
10-14-2008, 12:46 PM
|
| | | Join Date: May 2007 Location: US
Posts: 779
| |
Playing around over lunch.
If you are in to doing macro B programming you could do something like this.
The macro stuff could be put in a sub program and called with G65 or G66 in place of your G2 and G3 codes.
On some controls you may even be able to redirect the G2 G3 codes to call your own subs.
The stuff shown uses absolute arc centers but a little rewriting you could change that to incremental.
Edit: The C words are commented out because the backploter does not deal with them well. Code: G0 X1.5 Y-1.0
G1 X1.5 Y1.0 (C0.0)
G1 Z-0.005
#100=0 (ARC START ANGLE)
#101=90 (ARC END ANGLE)
#102=1 (ARC X CENTER)
#103=1 (ARC Y CENTER)
#104=0.5 (ARC RADIUS)
#105=90 (NUMBER OF STEPS)
()
#106=#100
#107=[[#101-#100]/#105]
WHILE [#105 GT 0] DO1
#106=#106+#107
#108=#104*COS[#106]
#109=#104*SIN[#106]
G1 X[#102+#108] Y[#103+#109] (C#106)
#105=#105-1
END1
G1 X-1.0 Y1.5
#100=90 (ARC START ANGLE)
#101=180 (ARC END ANGLE)
#102=-1.0 (ARC X CENTER)
#103=1.0 (ARC Y CENTER)
#104=0.5 (ARC RADIUS)
#105=90 (NUMBER OF STEPS)
()
#106=#100
#107=[[#101-#100]/#105]
WHILE [#105 GT 0] DO1
#106=#106+#107
#108=#104*COS[#106]
#109=#104*SIN[#106]
G1 X[#102+#108] Y[#103+#109] (C#106)
#105=#105-1
END1
G1 X-1.5 Y-1.0
#100=180 (ARC START ANGLE)
#101=270 (ARC END ANGLE)
#102=-1.0 (ARC X CENTER)
#103=-1.0 (ARC Y CENTER)
#104=0.5 (ARC RADIUS)
#105=90 (NUMBER OF STEPS)
()
#106=#100
#107=[[#101-#100]/#105]
WHILE [#105 GT 0] DO1
#106=#106+#107
#108=#104*COS[#106]
#109=#104*SIN[#106]
G1 X[#102+#108] Y[#103+#109] (C#106)
#105=#105-1
END1
G1 X-1.0 Y-1.5
#100=270 (ARC START ANGLE)
#101=180 (ARC END ANGLE)
#102=-1.0 (ARC X CENTER)
#103=-2.0 (ARC Y CENTER)
#104=-0.5 (ARC RADIUS)
#105=90 (NUMBER OF STEPS)
()
#106=#100
#107=[[#101-#100]/#105]
WHILE [#105 GT 0] DO1
#106=#106+#107
#108=#104*COS[#106]
#109=#104*SIN[#106]
G1 X[#102+#108] Y[#103+#109] (C#106)
#105=#105-1
END1
G1 X-0.5 Y-2.5
#100=180 (ARC START ANGLE)
#101=360 (ARC END ANGLE)
#102=0.0 (ARC X CENTER)
#103=-2.5 (ARC Y CENTER)
#104=0.5 (ARC RADIUS)
#105=180 (NUMBER OF STEPS)
()
#106=#100
#107=[[#101-#100]/#105]
WHILE [#105 GT 0] DO1
#106=#106+#107
#108=#104*COS[#106]
#109=#104*SIN[#106]
G1 X[#102+#108] Y[#103+#109] (C#106)
#105=#105-1
END1
G1 X0.5 Y-2.0
#100=360 (ARC START ANGLE)
#101=270 (ARC END ANGLE)
#102=1.0 (ARC X CENTER)
#103=-2.0 (ARC Y CENTER)
#104=-0.5 (ARC RADIUS)
#105=90 (NUMBER OF STEPS)
()
#106=#100
#107=[[#101-#100]/#105]
WHILE [#105 GT 0] DO1
#106=#106+#107
#108=#104*COS[#106]
#109=#104*SIN[#106]
G1 X[#102+#108] Y[#103+#109] (C#106)
#105=#105-1
END1
G1 X1.0 Y-1.5
#100=270 (ARC START ANGLE)
#101=360 (ARC END ANGLE)
#102=1.0 (ARC X CENTER)
#103=-1.0 (ARC Y CENTER)
#104=0.5 (ARC RADIUS)
#105=90 (NUMBER OF STEPS)
()
#106=#100
#107=[[#101-#100]/#105]
WHILE [#105 GT 0] DO1
#106=#106+#107
#108=#104*COS[#106]
#109=#104*SIN[#106]
G1 X[#102+#108] Y[#103+#109] (C#106)
#105=#105-1
END1 |