Compare commits
2 Commits
3a49f8dfae
...
e4e67b59f3
| Author | SHA1 | Date | |
|---|---|---|---|
| e4e67b59f3 | |||
| 0e4aa06650 |
130
test/test_arc.gcode
Normal file
130
test/test_arc.gcode
Normal file
@@ -0,0 +1,130 @@
|
||||
%
|
||||
(Header)
|
||||
(Generated by gcodetools from Inkscape.)
|
||||
(Using default header. To add your own header create file "header" in the output dir.)
|
||||
M3
|
||||
(Header end.)
|
||||
G21 (All units in mm)
|
||||
|
||||
(Start cutting path id: path1471)
|
||||
(Change tool to Cylindrical cutter)
|
||||
|
||||
G00 Z4.000000
|
||||
G00 X40.792992 Y80.926340
|
||||
|
||||
G01 Z-0.100000 F100.0(Penetrate)
|
||||
G03 X48.432275 Y88.140738 Z-0.100000 I-204.578799 J224.279063 F400.000000
|
||||
G03 X53.994514 Y93.810363 Z-0.100000 I-133.160993 J136.202090
|
||||
G03 X59.272395 Y99.729942 Z-0.100000 I-107.634090 J101.278949
|
||||
G03 X62.820468 Y104.228711 Z-0.100000 I-65.304081 J55.152310
|
||||
G03 X65.994164 Y108.976904 Z-0.100000 I-51.047939 J37.555235
|
||||
G03 X67.828284 Y112.451877 Z-0.100000 I-28.758974 J17.400746
|
||||
G03 X69.150010 Y116.118517 Z-0.100000 I-21.870192 J9.955166
|
||||
G03 X69.575390 Y118.750352 Z-0.100000 I-12.328848 J3.342987
|
||||
G03 X69.368199 Y121.376336 Z-0.100000 I-9.811238 J0.547056
|
||||
G03 X68.619214 Y123.394630 Z-0.100000 I-7.424736 J-1.607186
|
||||
G03 X67.328874 Y125.148383 Z-0.100000 I-7.014669 J-3.809540
|
||||
G03 X65.517184 Y126.655202 Z-0.100000 I-7.995064 J-7.770148
|
||||
G03 X63.423291 Y127.812114 Z-0.100000 I-7.988995 J-11.985955
|
||||
G03 X60.826730 Y128.802563 Z-0.100000 I-9.942260 J-22.165825
|
||||
G03 X58.130482 Y129.528270 Z-0.100000 I-9.541314 J-30.077639
|
||||
G03 X55.105279 Y130.107203 Z-0.100000 I-11.295310 J-50.829803
|
||||
G03 X52.049800 Y130.526407 Z-0.100000 I-10.577428 J-65.751531
|
||||
G03 X48.910261 Y130.839617 Z-0.100000 I-12.954376 J-113.959914
|
||||
G03 X45.762044 Y131.079031 Z-0.100000 I-13.816738 J-160.866844
|
||||
G03 X42.799102 Y131.270295 Z-0.100000 I-59.054412 J-891.785707
|
||||
G02 X39.833939 Y131.464707 Z-0.100000 I34.926137 J555.401921
|
||||
G02 X37.329233 Y131.669732 Z-0.100000 I6.322592 J92.642654
|
||||
G02 X34.832837 Y131.966743 Z-0.100000 I5.148114 J53.909978
|
||||
G02 X33.058081 Y132.308419 Z-0.100000 I2.627877 J18.429995
|
||||
G02 X31.376807 Y132.877795 Z-0.100000 I2.394198 J9.836617
|
||||
G02 X30.543074 Y133.456849 Z-0.100000 I1.066724 J2.425631
|
||||
G02 X30.160248 Y134.253900 Z-0.100000 I0.998202 J0.969902
|
||||
G02 X30.341642 Y135.385514 Z-0.100000 I2.033035 J0.254456
|
||||
G02 X31.053355 Y136.462075 Z-0.100000 I4.128165 J-1.955590
|
||||
G02 X33.011212 Y138.364908 Z-0.100000 I13.851663 J-12.293556
|
||||
G02 X35.209343 Y140.058106 Z-0.100000 I21.730814 J-25.937792
|
||||
G02 X39.109213 Y142.665522 Z-0.100000 I52.049120 J-73.628840
|
||||
G02 X43.215542 Y145.015461 Z-0.100000 I29.025488 J-45.956988
|
||||
G02 X48.133576 Y147.339948 Z-0.100000 I35.918327 J-69.629317
|
||||
G02 X53.194572 Y149.346402 Z-0.100000 I36.693592 J-85.168337
|
||||
G02 X58.948615 Y151.278535 Z-0.100000 I42.902754 J-118.233694
|
||||
G02 X64.785575 Y152.949199 Z-0.100000 I42.582637 J-137.743082
|
||||
G02 X71.161336 Y154.508415 Z-0.100000 I46.820418 J-177.637487
|
||||
G02 X77.586835 Y155.850497 Z-0.100000 I44.960072 J-199.202994
|
||||
G02 X84.378744 Y157.056719 Z-0.100000 I46.254865 J-240.723707
|
||||
G02 X98.134017 Y158.945187 Z-0.100000 I44.256544 J-271.317302
|
||||
G02 X112.255639 Y160.217127 Z-0.100000 I36.838985 J-329.973901
|
||||
G02 X126.425918 Y160.894096 Z-0.100000 I23.405641 J-341.281719
|
||||
G02 X139.435338 Y160.976811 Z-0.100000 I8.507921 J-315.023673
|
||||
G02 X152.452978 Y160.486372 Z-0.100000 I-3.981081 J-278.676949
|
||||
G02 X162.773882 Y159.552821 Z-0.100000 I-10.832870 J-177.281484
|
||||
G02 X167.868820 Y158.845212 Z-0.100000 I-16.454201 J-137.170051
|
||||
G02 X172.020233 Y158.089777 Z-0.100000 I-14.075692 J-89.135966
|
||||
G02 X176.124440 Y157.112858 Z-0.100000 I-14.065191 J-68.200025
|
||||
G02 X179.127309 Y156.162209 Z-0.100000 I-9.644364 J-35.682199
|
||||
G02 X181.999539 Y154.907314 Z-0.100000 I-8.558857 J-23.504143
|
||||
G02 X183.702116 Y153.797249 Z-0.100000 I-4.509523 J-8.777248
|
||||
G02 X184.969965 Y152.342594 Z-0.100000 I-3.529109 J-4.355745
|
||||
G02 X185.351659 Y151.022027 Z-0.100000 I-2.265939 J-1.370388
|
||||
G02 X185.038181 Y149.681813 Z-0.100000 I-2.796666 J-0.052626
|
||||
G02 X183.682942 Y147.863676 Z-0.100000 I-6.233159 J3.232032
|
||||
G02 X181.831384 Y146.382057 Z-0.100000 I-8.852518 J9.165118
|
||||
G02 X178.302970 Y144.349327 Z-0.100000 I-18.966475 J28.843345
|
||||
G03 X170.928466 Y140.650922 Z-0.100000 I1526.290230 J-3052.576402
|
||||
G03 X164.440169 Y137.333509 Z-0.100000 I249.035894 J-495.075649
|
||||
G03 X158.009538 Y133.906624 Z-0.100000 I161.452019 J-310.715630
|
||||
G03 X152.642644 Y130.843877 Z-0.100000 I79.851784 J-146.158965
|
||||
G03 X147.422441 Y127.548628 Z-0.100000 I60.865266 J-102.202823
|
||||
G03 X143.397120 Y124.617338 Z-0.100000 I34.264407 J-51.282217
|
||||
G03 X139.691193 Y121.328139 Z-0.100000 I27.429682 J-34.637241
|
||||
G03 X137.190317 Y118.390799 Z-0.100000 I16.300280 J-16.411494
|
||||
G03 X136.147741 Y116.762747 Z-0.100000 I15.047170 J-10.783800
|
||||
G03 X135.378538 Y115.195314 Z-0.100000 I12.419279 J-7.067096
|
||||
G03 X134.818551 Y113.546449 Z-0.100000 I11.882467 J-4.955048
|
||||
G03 X134.508961 Y111.901168 Z-0.100000 I10.983562 J-2.918529
|
||||
G03 X134.446462 Y110.229975 Z-0.100000 I11.105406 J-1.252081
|
||||
G03 X134.642425 Y108.475476 Z-0.100000 I11.976148 J0.449444
|
||||
G03 X135.084854 Y106.763614 Z-0.100000 I12.795729 J2.393940
|
||||
G03 X135.839772 Y104.885352 Z-0.100000 I15.682336 J5.212257
|
||||
G03 X136.806014 Y103.101413 Z-0.100000 I17.313031 J8.223685
|
||||
G03 X138.161841 Y101.097907 Z-0.100000 I22.636570 J13.858273
|
||||
G03 X139.683381 Y99.212258 Z-0.100000 I25.292769 J18.852177
|
||||
G03 X141.669474 Y97.080257 Z-0.100000 I33.649979 J29.355966
|
||||
G03 X145.967245 Y93.175631 Z-0.100000 I40.638606 J40.412826
|
||||
G03 X152.484790 Y88.222790 Z-0.100000 I70.154427 J85.552944
|
||||
G02 X155.786747 Y85.783852 Z-0.100000 I-50.527300 J-71.861035
|
||||
G02 X158.272013 Y83.745413 Z-0.100000 I-35.961052 J-46.377969
|
||||
G02 X160.624685 Y81.561427 Z-0.100000 I-31.023158 J-35.778517
|
||||
G02 X162.291579 Y79.765445 Z-0.100000 I-21.312713 J-21.452369
|
||||
G02 X163.783343 Y77.829366 Z-0.100000 I-18.176492 J-15.547879
|
||||
G02 X164.735875 Y76.254112 Z-0.100000 I-12.308977 J-8.518667
|
||||
G02 X165.458550 Y74.570007 Z-0.100000 I-10.555749 J-5.526741
|
||||
G02 X165.797289 Y73.182637 Z-0.100000 I-7.613170 J-2.593859
|
||||
G02 X165.865693 Y71.761139 Z-0.100000 I-6.876266 J-1.043289
|
||||
G02 X165.668206 Y70.522244 Z-0.100000 I-6.052550 J0.329623
|
||||
G02 X165.220071 Y69.344543 Z-0.100000 I-5.985404 J1.603435
|
||||
G02 X164.541014 Y68.244159 Z-0.100000 I-6.614812 J3.322342
|
||||
G02 X162.714220 Y66.399179 Z-0.100000 I-7.455324 J5.554954
|
||||
G02 X160.061850 Y64.719806 Z-0.100000 I-11.086716 J14.575914
|
||||
G02 X157.151071 Y63.434187 Z-0.100000 I-11.691140 J22.532017
|
||||
G02 X153.898891 Y62.379372 Z-0.100000 I-14.952321 J40.559713
|
||||
G02 X150.566625 Y61.558271 Z-0.100000 I-14.300496 J50.863354
|
||||
G02 X147.591231 Y60.992650 Z-0.100000 I-14.791279 J69.699412
|
||||
G02 X144.574010 Y60.546979 Z-0.100000 I-12.674394 J75.370292
|
||||
G02 X142.677966 Y60.329435 Z-0.100000 I-9.678879 J75.986377
|
||||
G02 X141.579387 Y60.224555 Z-0.100000 I-8.496644 J83.193018
|
||||
G02 X140.698190 Y60.159520 Z-0.100000 I-2.620904 J29.509849
|
||||
G01 X40.792992 Y80.926340 Z-0.100000
|
||||
G00 Z4.000000
|
||||
|
||||
(End cutting path id: path1471)
|
||||
|
||||
|
||||
(Footer)
|
||||
M5
|
||||
G00 X0.0000 Y0.0000
|
||||
M2
|
||||
(Using default footer. To add your own footer create file "footer" in the output dir.)
|
||||
(end)
|
||||
%
|
||||
2436
test/test_arc.svg
Normal file
2436
test/test_arc.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 100 KiB |
@@ -39,27 +39,27 @@ class Visualizer:
|
||||
|
||||
self.screen.fill((0, 0, 0))
|
||||
|
||||
if self.idx < len(self.positions):
|
||||
pos = self.positions[self.idx]
|
||||
x, y, z = self._transform_coordinates(pos)
|
||||
if self.prev_z < 0 and z < 0:
|
||||
self.drawn_lines.append((self.prev_x, self.prev_y, x, y))
|
||||
elif z > 0:
|
||||
self.travel_moves.append((self.prev_x, self.prev_y, x, y))
|
||||
# Draw travel moves
|
||||
for travel_move in self.travel_moves:
|
||||
x1, y1, x2, y2 = travel_move
|
||||
# Draw a line from the previous position to the current position
|
||||
pygame.draw.line(self.screen, (0, 0, 255), (int(x1), int(y1)), (int(x2), int(y2)), 2)
|
||||
for drawn_line in self.drawn_lines:
|
||||
x1, y1, x2, y2 = drawn_line
|
||||
# Draw a line from the previous position to the current position
|
||||
pygame.draw.line(self.screen, (255, 255, 255), (int(x1), int(y1)), (int(x2), int(y2)), 2)
|
||||
self.prev_x, self.prev_y, self.prev_z = x, y, z
|
||||
# Draw the current position
|
||||
pygame.draw.circle(self.screen, (255, 0, 0), (int(x), int(y)), 5)
|
||||
self.idx += 1
|
||||
if self.idx >= len(self.positions):
|
||||
running = False
|
||||
|
||||
# Draw travel moves
|
||||
for travel_move in self.travel_moves:
|
||||
x1, y1, x2, y2 = travel_move
|
||||
pygame.draw.line(self.screen, (0, 0, 255), (int(x1), int(y1)), (int(x2), int(y2)), 2)
|
||||
|
||||
# Draw drawn lines
|
||||
for drawn_line in self.drawn_lines:
|
||||
x1, y1, x2, y2 = drawn_line
|
||||
pygame.draw.line(self.screen, (255, 255, 255), (int(x1), int(y1)), (int(x2), int(y2)), 2)
|
||||
|
||||
pygame.display.flip()
|
||||
self.clock.tick(10)
|
||||
self.clock.tick(60)
|
||||
Reference in New Issue
Block a user