From f73bd3bd4d52cfd5cf10925e2ecf3d23c854e9f8 Mon Sep 17 00:00:00 2001 From: Peter Boin Date: Tue, 22 Aug 2017 13:06:04 +1000 Subject: [PATCH] added test files --- tests/test-files/Alien.tap | 100 ++++ .../test-files/Chucks Deer (V-Carve) {3}.tap | 492 ++++++++++++++++++ tests/test-files/Circular Pocket.tap | 43 ++ tests/test-files/Clamp.nc | 177 +++++++ tests/test-files/Colt.tap | 437 ++++++++++++++++ tests/test-files/Cross2.tap | 141 +++++ tests/test-files/DB25.tap | 95 ++++ tests/test-files/Disc3.tap | 121 +++++ tests/test-files/Heart.tap | 482 +++++++++++++++++ tests/test-files/Horse.tap | 354 +++++++++++++ tests/test-files/Horse2.tap | 157 ++++++ tests/test-files/Letter A (V-Carve).tap | 183 +++++++ tests/test-files/Mach3 write.tap | 75 +++ tests/test-files/Mach4 write.tap | 68 +++ tests/test-files/Scorpion.tap | 276 ++++++++++ tests/test-files/Skull2.tap | 397 ++++++++++++++ tests/test-files/Smiley face.tap | 68 +++ tests/test-files/Smiley001.nc | 59 +++ tests/test-files/Smiley002.nc | 142 +++++ tests/test-files/Snow White.tap | 170 ++++++ tests/test-files/Star Trek.tap | 411 +++++++++++++++ tests/test-files/Trispokedovetiles(laser).tap | 64 +++ tests/test-files/Tweakie's CNC Cube.nc | 196 +++++++ tests/test-files/Tweakie's CNC Cube2.nc | 30 ++ tests/test-files/plug6a.tap | 130 +++++ tests/test-files/random-sample-1.gcode | 11 + 26 files changed, 4879 insertions(+) create mode 100644 tests/test-files/Alien.tap create mode 100644 tests/test-files/Chucks Deer (V-Carve) {3}.tap create mode 100644 tests/test-files/Circular Pocket.tap create mode 100644 tests/test-files/Clamp.nc create mode 100644 tests/test-files/Colt.tap create mode 100644 tests/test-files/Cross2.tap create mode 100644 tests/test-files/DB25.tap create mode 100644 tests/test-files/Disc3.tap create mode 100644 tests/test-files/Heart.tap create mode 100644 tests/test-files/Horse.tap create mode 100644 tests/test-files/Horse2.tap create mode 100644 tests/test-files/Letter A (V-Carve).tap create mode 100644 tests/test-files/Mach3 write.tap create mode 100644 tests/test-files/Mach4 write.tap create mode 100644 tests/test-files/Scorpion.tap create mode 100644 tests/test-files/Skull2.tap create mode 100644 tests/test-files/Smiley face.tap create mode 100644 tests/test-files/Smiley001.nc create mode 100644 tests/test-files/Smiley002.nc create mode 100644 tests/test-files/Snow White.tap create mode 100644 tests/test-files/Star Trek.tap create mode 100644 tests/test-files/Trispokedovetiles(laser).tap create mode 100644 tests/test-files/Tweakie's CNC Cube.nc create mode 100644 tests/test-files/Tweakie's CNC Cube2.nc create mode 100644 tests/test-files/plug6a.tap create mode 100644 tests/test-files/random-sample-1.gcode diff --git a/tests/test-files/Alien.tap b/tests/test-files/Alien.tap new file mode 100644 index 0000000..229a05b --- /dev/null +++ b/tests/test-files/Alien.tap @@ -0,0 +1,100 @@ +(for 1/8"dia cutter or 'V' cutter) +G20 +G90 G91.1 +G64 +G00 Z0.125 +M06 T0 +M03 +G00 X-0.299635 Y-2.672109 +G01 F15 Z-0.050 +G01 F30 X0.242283 +G00 Z0.125 +G00 X0.281184 Y-0.761984 +G01 F15 Z-0.050 +G03 F30 X0.090095 Y-0.953059 I-0.022534 J-0.168553 +G00 Z0.125 +G00 X-0.324529 Y-0.753181 +G01 F15 Z-0.050 +G02 F30 X-0.132317 Y-0.945379 I0.022666 J-0.169545 +G00 Z0.125 +G00 X-0.475024 Y0.265282 +G01 F15 Z-0.050 +G02 F30 X-0.600539 Y0.198916 I-0.145025 J0.122407 +G02 X-0.83879 Y0.218446 I-0.069565 J0.614393 +G01 X-0.8388 Y0.218448 +G02 X-1.17323 Y0.343422 I0.452748 J1.721514 +G02 X-1.479371 Y0.527113 I0.95037 J1.93085 +G02 X-1.768868 Y0.851146 I0.606555 J0.833245 +G02 X-1.839332 Y1.06599 I0.491952 J0.280324 +G03 X-1.839333 Y1.066 I-0.000497 J-0.000058 +G02 X-1.78474 Y1.285138 I0.301344 J0.041296 +G02 X-1.587205 Y1.397775 I0.243525 J-0.197547 +G03 X-1.587193 Y1.397777 I-0.000073 J0.000495 +G02 X-1.419527 Y1.40102 I0.094434 J-0.54653 +G02 X-1.17848 Y1.332849 I-0.115339 J-0.868079 +G02 X-0.962004 Y1.206631 I-0.44674 J-1.014955 +G02 X-0.760908 Y1.019047 I-0.766042 J-1.022801 +G02 X-0.525644 Y0.676937 I-1.265297 J-1.122075 +G02 X-0.450756 Y0.477071 I-0.79209 J-0.410751 +G02 X-0.440417 Y0.368565 I-0.342239 J-0.087354 +G03 X-0.440418 Y0.368546 I0.000499 J-0.00003 +G02 X-0.475024 Y0.265282 I-0.183129 J0.00394 +G00 Z0.125 +G00 X0.457507 Y0.266706 +G01 F15 Z-0.050 +G02 F30 X0.422901 Y0.36997 I0.148522 J0.107204 +G03 X0.4229 Y0.369989 I-0.0005 J-0.000011 +G02 X0.433238 Y0.478489 I0.352559 J0.021153 +G02 X0.508127 Y0.678362 I0.867003 J-0.210888 +G02 X0.743386 Y1.020466 I1.500537 J-0.77995 +G02 X0.944487 Y1.208056 I0.967165 J-0.835237 +G02 X1.160961 Y1.334272 I0.663209 J-0.888726 +G02 X1.40201 Y1.402444 I0.356389 J-0.799915 +G02 X1.569676 Y1.399201 I0.073232 J-0.549773 +G03 X1.569688 Y1.399199 I0.000085 J0.000493 +G02 X1.767223 Y1.286562 I-0.04599 J-0.310184 +G02 X1.821816 Y1.067424 I-0.246751 J-0.177841 +G03 X1.821814 Y1.067414 I0.000495 J-0.000068 +G02 X1.751352 Y0.852571 I-0.562414 J0.06548 +G02 X1.461851 Y0.528535 I-0.896059 J0.509216 +G02 X1.155713 Y0.344846 I-1.256498 J1.747145 +G02 X0.821283 Y0.219872 I-0.78718 J1.596542 +G01 X0.821273 Y0.21987 +G02 X0.583027 Y0.20034 I-0.168685 J0.594851 +G02 X0.457507 Y0.266706 I0.019508 J0.188779 +G00 Z0.125 +G00 X2.460439 Y0.585937 +G01 F15 Z-0.050 +G02 F30 X2.446297 Y0.275659 I-3.294169 J-0.005312 +G02 X2.353243 Y-0.298841 I-4.012489 J0.35513 +G02 X2.027545 Y-1.264386 I-5.219711 J1.223007 +G02 X1.226249 Y-2.57332 I-5.185175 J2.2745 +G02 X0.961742 Y-2.861901 I-2.578692 J2.098069 +G01 X0.961736 Y-2.861906 +G02 X0.742197 Y-3.058791 I-1.898965 J1.896629 +G01 X0.74219 Y-3.058796 +G02 X0.371109 Y-3.30128 I-1.243094 J1.497168 +G02 X0.16307 Y-3.38167 I-0.54818 J1.109229 +G02 X-0.057563 Y-3.413565 I-0.231363 J0.821398 +G02 X-0.369146 Y-3.351629 I0.011233 J0.871233 +G02 X-0.629013 Y-3.218586 I0.486391 J1.270358 +G02 X-1.047155 Y-2.872594 I1.371483 J2.083143 +G02 X-1.626308 Y-2.125388 I3.153785 J3.042526 +G02 X-2.222722 Y-0.841132 I4.913442 J3.062441 +G02 X-2.395533 Y-0.152417 I4.918815 J1.600253 +G02 X-2.460446 Y0.554692 I4.223296 J0.744236 +G02 X-2.297429 Y1.565427 I3.14925 J0.010585 +G02 X-1.438033 Y2.831134 I2.723838 J-0.924834 +G02 X-0.78046 Y3.243225 I1.730883 J-2.031278 +G02 X-0.410567 Y3.366616 I0.959272 J-2.259514 +G02 X-0.023439 Y3.413565 I0.383777 J-1.54498 +G02 X0.490695 Y3.335659 I-0.020852 J-1.873067 +G02 X1.297896 Y2.930895 I-0.75152 J-2.505977 +G02 X2.163515 Y1.899368 I-1.681057 J-2.289642 +G02 X2.460439 Y0.585937 I-2.662859 J-1.292264 +G00 Z0.125 +G00 X0 Y0 +M05 +M30 +% + diff --git a/tests/test-files/Chucks Deer (V-Carve) {3}.tap b/tests/test-files/Chucks Deer (V-Carve) {3}.tap new file mode 100644 index 0000000..124d4ec --- /dev/null +++ b/tests/test-files/Chucks Deer (V-Carve) {3}.tap @@ -0,0 +1,492 @@ +( CHUCKS DEER{3} 7 X 5 ) +N100G00G20G17G90G40G49G80 +N110G70G91.1 +N120T1M06 +N130(TOOL: V-BIT {90 DEG 0.5"}) +N140G00G43Z0.8H1 +N150G94S16000M03 +N190X0Y0F25 +N200G00X1.6219Y-1.847Z0.2 +N210G1X1.6219Y-1.847Z-0.0744F8 +N220G1X1.7075Y-1.9046Z-0.0558F25 +N230G1X1.8135Y-1.9567Z0 +N240G1X1.7056Y-1.9046Z-0.0558 +N250G1X1.6015Y-1.8302Z-0.0725 +N260G1X1.4936Y-1.7317Z-0.0428 +N270G1X1.3783Y-1.6814Z0 +N280G1X1.5066Y-1.741Z-0.0484 +N290G1X1.6219Y-1.847Z-0.0744 +N300G00Z0.2 +N310G00X-.0167Y-.7012Z0.2 +N320G1X-.0167Y-.7012Z-0.0558F8 +N330G1X-.1525Y-.6454Z-0.0502F25 +N340G1X-.1767Y-.6212Z-0.0298 +N350G1X-.1321Y-.6566Z-0.0539 +N360G1X.0837Y-.7477Z-0.0521 +N370G1X.2697Y-.8649Z-0.0484 +N380G1X.2716Y-.8649Z-0.0465 +N390G1X.2697Y-.8649Z-0.0484 +N400G1X.0763Y-.7459Z-0.0521 +N410G1X-.0167Y-.7012Z-0.0558 +N420G00Z0.2 +N430G00X-.186Y-.9914Z0.2 +N440G1X-.186Y-.9914Z-0.0986F8 +N450G1X-.1079Y-.9244Z-0.0502F25 +N460G1X-.0242Y-.904Z-0.0353 +N470G1X.0595Y-.93Z-0.0465 +N480G1X.1153Y-.9988Z-0.0725 +N490G1X.1265Y-1.0546Z-0.0893 +N500G1X.0837Y-1.1011Z-0.0744 +N510G1X0Y-1.1216Z-0.0651 +N520G1X-.0949Y-1.103Z-0.0651 +N530G1X-.1655Y-1.0379Z-0.0837 +N540G1X-.186Y-.9914Z-0.0986 +N550G00Z0.2 +N560G1X-.186Y-.9914Z-0.0986F8 +N570G1X-.3125Y-.9579Z-0.0186F25 +N580G1X-.186Y-.9914Z-0.0986 +N590G1X-.1358Y-1.0751Z-0.0707 +N600G1X-.0558Y-1.1179Z-0.0632 +N610G1X.0484Y-1.116Z-0.0688 +N620G1X.119Y-1.0714Z-0.0874 +N630G1X.1246Y-1.023Z-0.0818 +N640G1X.0763Y-.943Z-0.0521 +N650G1X.0019Y-.9077Z-0.0372 +N660G1X-.0874Y-.9151Z-0.0446 +N670G1X-.1693Y-.9709Z-0.0856 +N680G1X-.186Y-.9914Z-0.0986 +N690G00Z0.2 +N700G00X-.452Y-.2046Z0.2 +N710G1X-.452Y-.2046Z-0.2176F8 +N720G1X-.6417Y0Z-0.0502F25 +N730G1X-.452Y-.2046Z-0.2176 +N740G1X-.5264Y-.3776Z-0.0967 +N750G1X-.452Y-.2046Z-0.2176 +N760G1X-.2362Y-.2195Z-0.1414 +N770G1X-.0874Y-.2846Z-0.0744 +N780G1X-.0391Y-.3199Z-0.0502 +N790G1X-.1804Y-.2381Z-0.1172 +N800G1X-.3553Y-.2046Z-0.1841 +N810G1X-.452Y-.2046Z-0.2176 +N820G00Z0.2 +N830G00X-1.0732Y-.0967Z0.2 +N840G1X-1.0732Y-.0967Z-0.1525F8 +N850G1X-1.0435Y.0056Z-0.1339F25 +N860G1X-.9914Y.0893Z-0.0911 +N870G1X-1.0546Y-.0205Z-0.1414 +N880G1X-1.0751Y-.1209Z-0.1525 +N890G1X-1.0528Y-.7254Z-0.0818 +N900G1X-1.0583Y-.9802Z-0.026 +N910G1X-1.0676Y-.9877Z-0.0167 +N920G1X-1.0546Y-.9635Z-0.0353 +N930G1X-1.0528Y-.7254Z-0.0818 +N940G1X-1.0732Y-.0967Z-0.1525 +N950G00Z0.2 +N960G00X-1.7763Y-1.5252Z0.2 +N970G1X-1.7763Y-1.5252Z-0.0911F8 +N980G1X-1.7726Y-1.8767Z-0.0632F25 +N990G1X-1.78Y-2.0683Z-0.0595 +N1000G1X-1.8154Y-2.3101Z-0.0707 +N1010G1X-1.8767Y-2.4868Z-0.0725 +N1020G1X-1.9735Y-2.6486Z-0.0595 +N1030G1X-2.0869Y-2.7826Z-0.0316 +N1040G1X-2.0962Y-2.8012Z-0.0223 +N1050G1X-2.0665Y-2.7547Z-0.0409 +N1060G1X-1.9456Y-2.6096Z-0.0632 +N1070G1X-1.8544Y-2.4385Z-0.0725 +N1080G1X-1.8023Y-2.2506Z-0.067 +N1090G1X-1.78Y-2.059Z-0.0595 +N1100G1X-1.7726Y-1.8674Z-0.0651 +N1110G1X-1.7763Y-1.5252Z-0.0911 +N1120G1X-1.7224Y-1.2295Z-0.0707 +N1130G1X-1.6275Y-.9895Z-0.0688 +N1140G1X-1.5568Y-.8742Z-0.0707 +N1150G1X-1.4954Y-.8091Z-0.0279 +N1160G1X-1.4806Y-.7961Z-0.013 +N1170G1X-1.5457Y-.863Z-0.0688 +N1180G1X-1.5884Y-.9151Z-0.0744 +N1190G1X-1.6814Y-1.1123Z-0.067 +N1200G1X-1.7521Y-1.3671Z-0.08 +N1210G1X-1.7763Y-1.5252Z-0.0911 +N1220G00Z0.2 +N1230G00X-1.421Y.6752Z0.2 +N1240G1X-1.421Y.6752Z-0.1637F8 +N1250G1X-1.4768Y.7961Z-0.1451F25 +N1260G1X-1.5587Y1.0249Z-0.1097 +N1270G1X-1.5922Y1.0565Z-0.0893 +N1280G1X-1.555Y1.0156Z-0.1116 +N1290G1X-1.4768Y.7961Z-0.1451 +N1300G1X-1.421Y.6752Z-0.1637 +N1310G1X-1.3373Y.5822Z-0.1469 +N1320G1X-1.2462Y.5152Z-0.1004 +N1330G1X-1.2369Y.5022Z-0.0856 +N1340G1X-1.2778Y.5394Z-0.1209 +N1350G1X-1.3838Y.6268Z-0.16 +N1360G1X-1.421Y.6752Z-0.1637 +N1370G00Z0.2 +N1380G00X-2.3938Y1.4545Z0.2 +N1390G1X-2.3938Y1.4545Z-0.1637F8 +N1400G1X-2.4236Y1.8619Z-0.1562F25 +N1410G1X-2.4013Y2.2339Z-0.1525 +N1420G1X-2.325Y2.5947Z-0.1451 +N1430G1X-2.1985Y2.9462Z-0.1376 +N1440G1X-1.9865Y3.3387Z-0.1246 +N1450G1X-1.9065Y3.5117Z-0.0911 +N1460G1X-1.873Y3.6084Z-0.0651 +N1470G1X-1.9437Y3.4224Z-0.1116 +N1480G1X-2.0497Y3.2308Z-0.1321 +N1490G1X-2.206Y2.9295Z-0.1395 +N1500G1X-2.325Y2.5947Z-0.1451 +N1510G1X-2.4013Y2.232Z-0.1525 +N1520G1X-2.4217Y1.78Z-0.1618 +N1530G1X-2.392Y1.4248Z-0.1618 +N1540G1X-2.4199Y1.196Z-0.0911 +N1550G1X-2.4329Y1.0193Z-0.0409 +N1560G1X-2.4366Y.9505Z-0.0223 +N1570G1X-2.4422Y.9449Z-0.0149 +N1580G1X-2.431Y.9691Z-0.0316 +N1590G1X-2.4273Y1.1439Z-0.0725 +N1600G1X-2.3938Y1.395Z-0.1581 +N1610G1X-2.3938Y1.4545Z-0.1637 +N1620G00Z0.2 +N1630G00X-.9319Y.4464Z0.2 +N1640G1X-.9319Y.4464Z-0.0967F8 +N1650G1X-.8482Y.4148Z-0.0893F25 +N1660G1X-.7868Y.3385Z-0.0688 +N1670G1X-.7477Y.2102Z-0.0539 +N1680G1X-.7273Y-.1321Z-0.0632 +N1690G1X-.757Y-.465Z-0.0632 +N1700G1X-.837Y-.718Z-0.0539 +N1710G1X-.9337Y-.9728Z-0.0632 +N1720G1X-.9598Y-1.0993Z-0.0428 +N1730G1X-.9598Y-1.0993Z-0.0446 +N1740G1X-.9337Y-.9728Z-0.0632 +N1750G1X-.8351Y-.7124Z-0.0539 +N1760G1X-.757Y-.465Z-0.0632 +N1770G1X-.7273Y-.1004Z-0.0614 +N1780G1X-.7533Y.2381Z-0.0521 +N1790G1X-.7998Y.3627Z-0.0744 +N1800G1X-.8723Y.4297Z-0.093 +N1810G1X-.9579Y.4483Z-0.0949 +N1820G1X-1.0379Y.4259Z-0.0856 +N1830G1X-1.1327Y.3367Z-0.0614 +N1840G1X-1.2257Y.199Z-0.0521 +N1850G1X-1.315Y.0298Z-0.0465 +N1860G1X-1.3913Y-.1804Z-0.0446 +N1870G1X-1.4303Y-.4036Z-0.0465 +N1880G1X-1.4322Y-.5673Z-0.0539 +N1890G1X-1.4043Y-.7607Z-0.0632 +N1900G1X-1.3466Y-.943Z-0.0744 +N1910G1X-1.2797Y-1.0807Z-0.0763 +N1920G1X-1.2183Y-1.222Z-0.0446 +N1930G1X-1.2109Y-1.2667Z-0.0205 +N1940G1X-1.2257Y-1.2016Z-0.0521 +N1950G1X-1.3001Y-1.0453Z-0.0781 +N1960G1X-1.3708Y-.8723Z-0.067 +N1970G1X-1.4117Y-.718Z-0.0595 +N1980G1X-1.4322Y-.558Z-0.0521 +N1990G1X-1.4266Y-.372Z-0.0484 +N2000G1X-1.3913Y-.1804Z-0.0446 +N2010G1X-1.3001Y.0595Z-0.0465 +N2020G1X-1.2071Y.2288Z-0.0558 +N2030G1X-1.0862Y.3887Z-0.0725 +N2040G1X-.9988Y.4427Z-0.093 +N2050G1X-.9319Y.4464Z-0.0967 +N2060G00Z0.2 +N2070G00X.4892Y1.2443Z0.2 +N2080G1X.4892Y1.2443Z-0.2809F8 +N2090G1X.6919Y1.2834Z-0.2102F25 +N2100G1X.904Y1.3448Z-0.173 +N2110G1X1.1606Y1.4434Z-0.1767 +N2120G1X1.3969Y1.5661Z-0.2251 +N2130G1X1.5178Y1.6442Z-0.266 +N2140G1X1.6982Y1.607Z-0.1804 +N2150G1X1.8488Y1.6126Z-0.1414 +N2160G1X2.0776Y1.6721Z-0.1321 +N2170G1X2.2339Y1.7484Z-0.1358 +N2180G1X2.3641Y1.8674Z-0.1339 +N2190G1X2.4589Y2.0181Z-0.1228 +N2200G1X2.5054Y2.1855Z-0.1097 +N2210G1X2.5073Y2.3622Z-0.0967 +N2220G1X2.4719Y2.5556Z-0.0856 +N2230G1X2.4515Y2.671Z-0.0651 +N2240G1X2.4515Y2.671Z-0.0632 +N2250G1X2.4515Y2.671Z-0.0651 +N2260G1X2.4831Y2.5073Z-0.0911 +N2270G1X2.5091Y2.3473Z-0.0986 +N2280G1X2.4998Y2.1557Z-0.1116 +N2290G1X2.444Y1.9883Z-0.1246 +N2300G1X2.3641Y1.8674Z-0.1339 +N2310G1X2.2339Y1.7484Z-0.1358 +N2320G1X2.0776Y1.6721Z-0.1321 +N2330G1X1.8488Y1.6126Z-0.1414 +N2340G1X1.6982Y1.607Z-0.1804 +N2350G1X1.5178Y1.6442Z-0.266 +N2360G1X1.5271Y1.8377Z-0.1693 +N2370G1X1.5661Y2.0925Z-0.119 +N2380G1X1.5996Y2.5147Z-0.0911 +N2390G1X1.5996Y2.9704Z-0.0893 +N2400G1X1.5736Y3.1099Z-0.0763 +N2410G1X1.5736Y3.1118Z-0.0763 +N2420G1X1.5736Y3.1099Z-0.0781 +N2430G1X1.5736Y3.1099Z-0.0763 +N2440G1X1.6033Y2.9109Z-0.0893 +N2450G1X1.5977Y2.5036Z-0.093 +N2460G1X1.5661Y2.0925Z-0.119 +N2470G1X1.5289Y1.8544Z-0.1618 +N2480G1X1.5178Y1.6591Z-0.2567 +N2490G1X1.5178Y1.6442Z-0.266 +N2500G1X1.2667Y1.4936Z-0.1953 +N2510G1X1.0323Y1.3894Z-0.1693 +N2520G1X.8816Y1.3373Z-0.1748 +N2530G1X.664Y1.276Z-0.2176 +N2540G1X.4892Y1.2443Z-0.2809 +N2550G1X.4092Y1.3745Z-0.2027 +N2560G1X.3515Y1.501Z-0.1804 +N2570G1X.3218Y1.6759Z-0.1804 +N2580G1X.4576Y1.9381Z0 +N2590G1X.3218Y1.6759Z-0.1804 +N2600G1X.3069Y1.6833Z-0.1674 +N2610G1X.3218Y1.6759Z-0.1804 +N2620G1X.3571Y1.4861Z-0.1804 +N2630G1X.4166Y1.3615Z-0.2083 +N2640G1X.4892Y1.2443Z-0.2809 +N2650G1X.372Y1.0825Z-0.2102 +N2660G1X.2418Y.9319Z-0.1934 +N2670G1X.0986Y.7645Z-0.2288 +N2680G1X.0818Y.7477Z-0.2362 +N2690G1X-.0521Y.8147Z-0.1414 +N2700G1X-.1451Y.8872Z-0.1135 +N2710G1X-.2753Y1.0918Z-0.1209 +N2720G1X-.3441Y1.2313Z-0.1153 +N2730G1X-.4445Y1.488Z-0.0986 +N2740G1X-.3832Y1.5903Z0 +N2750G1X-.4445Y1.488Z-0.0986 +N2760G1X-.5785Y1.581Z0 +N2770G1X-.4445Y1.488Z-0.0986 +N2780G1X-.3181Y1.1755Z-0.1153 +N2790G1X-.1972Y.9579Z-0.1172 +N2800G1X-.1172Y.8593Z-0.119 +N2810G1X-.013Y.7942Z-0.1637 +N2820G1X.0818Y.7477Z-0.2362 +N2830G1X.0651Y.5003Z-0.1897 +N2840G1X.0744Y.2995Z-0.1823 +N2850G1X.119Y.1432Z-0.2176 +N2860G1X-.0112Y.0558Z-0.1135 +N2870G1X-.0911Y.0112Z-0.0725 +N2880G1X-.1097Y-.0056Z-0.0725 +N2890G1X-.0521Y.0353Z-0.0874 +N2900G1X.0874Y.1172Z-0.1897 +N2910G1X.119Y.1432Z-0.2176 +N2920G1X.2585Y.1135Z-0.1562 +N2930G1X.3925Y.1358Z-0.1023 +N2940G1X.5022Y.2046Z-0.0688 +N2950G1X.6603Y.3497Z-0.0409 +N2960G1X.8072Y.5041Z-0.0298 +N2970G1X.9505Y.664Z-0.0353 +N2980G1X1.1011Y.85Z-0.0614 +N2990G1X1.1699Y.8649Z-0.0688 +N3000G1X1.2332Y.8296Z-0.0614 +N3010G1X1.2667Y.744Z-0.0558 +N3020G1X1.2815Y.5561Z-0.0707 +N3030G1X1.2555Y.3367Z-0.0781 +N3040G1X1.2109Y.1841Z-0.0744 +N3050G1X1.116Y-.013Z-0.0688 +N3060G1X.9133Y-.3274Z-0.0316 +N3070G1X.904Y-.4222Z-0.0391 +N3080G1X.9281Y-.558Z-0.0391 +N3090G1X.9635Y-.6659Z-0.0353 +N3100G1X.9579Y-.7328Z-0.0632 +N3110G1X.9095Y-.7087Z-0.0372 +N3120G1X.7626Y-.5729Z0 +N3130G1X.9095Y-.7087Z-0.0372 +N3140G1X.9579Y-.7347Z-0.0632 +N3150G1X1.0769Y-.9114Z-0.0521 +N3160G1X1.1997Y-1.0304Z-0.0446 +N3170G1X1.4024Y-1.1644Z-0.0484 +N3180G1X1.5624Y-1.2574Z-0.0558 +N3190G1X1.7875Y-1.4192Z-0.0484 +N3200G1X1.8898Y-1.5289Z-0.0539 +N3210G1X2.0665Y-1.7893Z-0.0707 +N3220G1X2.1204Y-1.9251Z-0.0707 +N3230G1X2.126Y-2.0702Z-0.0614 +N3240G1X2.0869Y-2.1948Z-0.0335 +N3250G1X2.0627Y-2.2469Z-0.0167 +N3260G1X1.9567Y-2.2897Z-0.0632 +N3270G1X1.886Y-2.2618Z-0.0409 +N3280G1X1.7298Y-2.2227Z-0.0409 +N3290G1X1.4992Y-2.1427Z-0.0577 +N3300G1X1.3299Y-2.113Z-0.0577 +N3310G1X1.0751Y-2.1185Z-0.026 +N3320G1X.997Y-2.1092Z0 +N3330G1X1.1272Y-2.1185Z-0.0353 +N3340G1X1.3299Y-2.113Z-0.0577 +N3350G1X1.4992Y-2.1427Z-0.0577 +N3360G1X1.8098Y-2.245Z-0.0428 +N3370G1X1.9046Y-2.2636Z-0.0409 +N3380G1X1.9567Y-2.2897Z-0.0632 +N3390G1X1.9307Y-2.338Z-0.0484 +N3400G1X1.7986Y-2.4087Z-0.0725 +N3410G1X1.6889Y-2.4236Z-0.0725 +N3420G1X1.5215Y-2.405Z-0.0539 +N3430G1X1.2871Y-2.3473Z-0.0409 +N3440G1X1.1792Y-2.3529Z-0.0595 +N3450G1X.9653Y-2.3845Z-0.0949 +N3460G1X.7793Y-2.3752Z-0.08 +N3470G1X.4185Y-2.3008Z-0.0353 +N3480G1X.3348Y-2.3269Z-0.0577 +N3490G1X.3162Y-2.3362Z-0.067 +N3500G1X.2437Y-2.3194Z-0.0446 +N3510G1X-.0428Y-2.3789Z-0.0446 +N3520G1X-.2213Y-2.3901Z-0.0465 +N3530G1X-.3013Y-2.392Z0 +N3540G1X-.2083Y-2.3901Z-0.0502 +N3550G1X.0242Y-2.3678Z-0.0484 +N3560G1X.2511Y-2.3194Z-0.0446 +N3570G1X.3162Y-2.3362Z-0.067 +N3580G1X.3199Y-2.418Z-0.0539 +N3590G1X.359Y-2.6803Z-0.0595 +N3600G1X.3608Y-2.8495Z-0.0725 +N3610G1X.3329Y-3.1806Z-0.1283 +N3620G1X.3274Y-3.2978Z-0.1432 +N3630G1X.346Y-3.4057Z-0.1339 +N3640G1X.3925Y-3.5433Z-0.0818 +N3650G1X.3999Y-3.5824Z-0.0595 +N3660G1X.3571Y-3.441Z-0.1246 +N3670G1X.3311Y-3.3331Z-0.1432 +N3680G1X.3274Y-3.2252Z-0.1358 +N3690G1X.3534Y-3.0095Z-0.093 +N3700G1X.3608Y-2.7733Z-0.067 +N3710G1X.3385Y-2.5073Z-0.0521 +N3720G1X.3143Y-2.3585Z-0.0595 +N3730G1X.3162Y-2.3362Z-0.067 +N3740G1X.4036Y-2.3008Z-0.0372 +N3750G1X.4594Y-2.3045Z-0.0372 +N3760G1X.8444Y-2.3827Z-0.0893 +N3770G1X1.0249Y-2.3771Z-0.0893 +N3780G1X1.2518Y-2.3455Z-0.0465 +N3790G1X1.382Y-2.3678Z-0.0428 +N3800G1X1.5364Y-2.4087Z-0.0577 +N3810G1X1.7224Y-2.4217Z-0.0763 +N3820G1X1.8191Y-2.4013Z-0.0725 +N3830G1X1.9307Y-2.338Z-0.0484 +N3840G1X1.9567Y-2.2897Z-0.0632 +N3850G1X2.0627Y-2.2469Z-0.0167 +N3860G1X2.1148Y-2.1204Z-0.0539 +N3870G1X2.1297Y-1.9883Z-0.0688 +N3880G1X2.0944Y-1.8451Z-0.0707 +N3890G1X1.9623Y-1.6256Z-0.0651 +N3900G1X1.8377Y-1.4675Z-0.0502 +N3910G1X1.7131Y-1.3578Z-0.0521 +N3920G1X1.5624Y-1.2574Z-0.0558 +N3930G1X1.2388Y-1.0602Z-0.0446 +N3940G1X1.1011Y-.9374Z-0.0502 +N3950G1X.9579Y-.7328Z-0.0632 +N3960G1X.9635Y-.6659Z-0.0353 +N3970G1X.9077Y-.4687Z-0.0409 +N3980G1X.9095Y-.3348Z-0.0298 +N3990G1X1.1365Y.0223Z-0.0707 +N4000G1X1.222Y.2158Z-0.0763 +N4010G1X1.2629Y.3776Z-0.0744 +N4020G1X1.2815Y.5803Z-0.0707 +N4030G1X1.2574Y.7812Z-0.0539 +N4040G1X1.2164Y.8444Z-0.0651 +N4050G1X1.1569Y.8668Z-0.067 +N4060G1X1.0937Y.8444Z-0.0595 +N4070G1X.9467Y.6603Z-0.0353 +N4080G1X.7868Y.4817Z-0.0298 +N4090G1X.6566Y.346Z-0.0428 +N4100G1X.4557Y.1693Z-0.08 +N4110G1X.3329Y.119Z-0.1246 +N4120G1X.2027Y.119Z-0.1786 +N4130G1X.119Y.1432Z-0.2176 +N4140G1X.0744Y.2995Z-0.1823 +N4150G1X.0651Y.5003Z-0.1897 +N4160G1X.0818Y.7477Z-0.2362 +N4170G1X.2288Y.917Z-0.1953 +N4180G1X.3534Y1.0602Z-0.2046 +N4190G1X.4687Y1.2127Z-0.2641 +N4200G1X.4892Y1.2443Z-0.2809 +N4210G00X.4892Y1.2443Z0.2 +N4220G00X.1451Y2.5147Z0.2 +N4230G1X.1451Y2.5147Z-0.1544F8 +N4240G1X.0316Y2.3064Z0F25 +N4250G1X.1451Y2.5147Z-0.1544 +N4260G1X.3329Y2.4217Z0 +N4270G1X.1451Y2.5147Z-0.1544 +N4280G1X.0763Y2.7156Z-0.1395 +N4290G1X-.1042Y3.0913Z-0.1023 +N4300G1X-.2399Y3.361Z-0.0949 +N4310G1X-.2418Y3.4094Z-0.0725 +N4320G1X-.2306Y3.3331Z-0.1004 +N4330G1X-.0986Y3.082Z-0.1023 +N4340G1X.0763Y2.7156Z-0.1395 +N4350G1X.1451Y2.5147Z-0.1544 +N4360G00Z0.2 +N4370G00X-1.0137Y1.9065Z0.2 +N4380G1X-1.0137Y1.9065Z-0.3255F8 +N4390G1X-.7924Y1.8749Z-0.2288F25 +N4400G1X-.6026Y1.8712Z-0.1786 +N4410G1X-.3832Y1.9065Z-0.1581 +N4420G1X-.1283Y1.9865Z-0.1748 +N4430G1X.212Y2.1185Z-0.173 +N4440G1X.5524Y2.2636Z-0.1395 +N4450G1X.8928Y2.4273Z-0.0725 +N4460G1X.4724Y2.232Z-0.1488 +N4470G1X.212Y2.1185Z-0.173 +N4480G1X-.1283Y1.9865Z-0.1748 +N4490G1X-.4408Y1.8916Z-0.16 +N4500G1X-.6305Y1.8693Z-0.1841 +N4510G1X-.8314Y1.8786Z-0.2418 +N4520G1X-1.0137Y1.9065Z-0.3255 +N4530G1X-1.0546Y2.0851Z-0.2381 +N4540G1X-1.0862Y2.2673Z-0.1879 +N4550G1X-1.0862Y2.4738Z-0.1618 +N4560G1X-1.0304Y2.7156Z-0.1562 +N4570G1X-.9393Y2.9295Z-0.1562 +N4580G1X-.7849Y3.1639Z-0.1562 +N4590G1X-.7105Y3.335Z-0.1172 +N4600G1X-.677Y3.4745Z-0.0614 +N4610G1X-.7328Y3.2736Z-0.1339 +N4620G1X-.8147Y3.1155Z-0.16 +N4630G1X-.9412Y2.9258Z-0.1562 +N4640G1X-1.0304Y2.7156Z-0.1562 +N4650G1X-1.09Y2.4459Z-0.1655 +N4660G1X-1.0825Y2.2394Z-0.1934 +N4670G1X-1.0453Y2.0423Z-0.2567 +N4680G1X-1.0137Y1.9065Z-0.3255 +N4690G1X-1.1904Y1.7521Z-0.2455 +N4700G1X-1.3671Y1.6294Z-0.2102 +N4710G1X-1.6573Y1.4787Z-0.2176 +N4720G1X-1.8916Y1.3113Z-0.2158 +N4730G1X-2.0181Y1.1885Z-0.2009 +N4740G1X-2.113Y1.036Z-0.2009 +N4750G1X-2.1576Y.8891Z-0.2139 +N4760G1X-2.1539Y.7626Z-0.2195 +N4770G1X-2.0962Y.6194Z-0.2139 +N4780G1X-1.9995Y.5134Z-0.199 +N4790G1X-1.8284Y.3999Z-0.199 +N4800G1X-1.5996Y.2976Z-0.2009 +N4810G1X-1.5047Y.2623Z-0.1953 +N4820G1X-1.4024Y.0298Z0 +N4830G1X-1.5047Y.2623Z-0.1953 +N4840G1X-1.2369Y.3553Z0 +N4850G1X-1.5047Y.2623Z-0.1953 +N4860G1X-1.5996Y.2976Z-0.2009 +N4870G1X-1.8916Y.4371Z-0.1953 +N4880G1X-2.033Y.5431Z-0.2046 +N4890G1X-2.1204Y.664Z-0.2176 +N4900G1X-2.1595Y.8147Z-0.2176 +N4910G1X-2.1409Y.9653Z-0.2083 +N4920G1X-2.0572Y1.1346Z-0.199 +N4930G1X-1.9567Y1.2536Z-0.2065 +N4940G1X-1.7763Y1.3987Z-0.2213 +N4950G1X-1.6256Y1.4954Z-0.2139 +N4960G1X-1.3671Y1.6294Z-0.2102 +N4970G1X-1.1904Y1.7521Z-0.2455 +N4980G1X-1.0137Y1.9065Z-0.3255 +N5000G00Z0.8 +N5010G00X0Y0 +N5020M05 +N5030M30 +N5040% diff --git a/tests/test-files/Circular Pocket.tap b/tests/test-files/Circular Pocket.tap new file mode 100644 index 0000000..7f58fe3 --- /dev/null +++ b/tests/test-files/Circular Pocket.tap @@ -0,0 +1,43 @@ +(Code by Newfangled Wizard, 15/01/2017) +(Version 2.86) +(Program Posted for Aluminum ) +G0 G49 G40.1 G17 +G80 G50 G90 G98 +G21 (mm) +(***** Circular Pocket *****) +(Xcen=0 Ycen=0 Dia=10) +(CW-climb mill) +M6 T7(TOOL DIA. 4) +M03 S4000 +M7 (Mist On) +G00 G43 H7 Z2 +X0 Y0 +G01 Z-1 F50 +G2 Y0 X1.60 R0.80 F100 +Y0 X-1.6 R1.6 +Y0 X3 R2.3 +Y0 X-3 R3 +X3 Y0 R3 +Y-1.5 X1.5 R1.5 +G00 Z2 +X0 Y0 +G01 Z-2 F50 +G2 Y0 X1.60 R0.80 F100 +Y0 X-1.6 R1.6 +Y0 X3 R2.3 +Y0 X-3 R3 +X3 Y0 R3 +Y-1.5 X1.5 R1.5 +G00 Z2 +X0 Y0 +G01 Z-3 F50 +G2 Y0 X1.60 R0.80 F100 +Y0 X-1.6 R1.6 +Y0 X3 R2.3 +Y0 X-3 R3 +X3 Y0 R3 +Y-1.5 X1.5 R1.5 +G00 Z2 +M5 M9 +M30 +% \ No newline at end of file diff --git a/tests/test-files/Clamp.nc b/tests/test-files/Clamp.nc new file mode 100644 index 0000000..f1eb3f9 --- /dev/null +++ b/tests/test-files/Clamp.nc @@ -0,0 +1,177 @@ +N005 G91.1 +N015 G90 G17 G94 G49 G40 G80 +N020 G20 (Inch) +N025 M06 T1 (Endmill Dia. 0.250) +N030 M03 S2500 +N035 G00 Z1.0000 +N040 M08 +N045 G43 H1 Z0.250 +N050 G00 X3.5851 Y0.0000 +N055 G01 Z-0.0250 F1.0 +N060 F5.0 +N065 G01 X2.7632 Y0.6910 +N070 G03 X2.2084 Y0.6120 I-0.2421 J-0.2873 +N075 G02 X1.7769 Y0.6373 I-0.2084 J0.1380 +N080 G03 X1.3261 Y0.8253 I-0.3383 J-0.1766 +N085 G01 X-0.1158 Y0.3567 +N090 G03 X0.2251 Y-0.3000 I0.1158 J-0.3567 +N095 G02 X0.3751 Y-0.2500 I0.1499 J-0.2001 +N100 G01 X2.2526 Y-0.2500 +N105 G03 X2.4276 Y-0.2067 I0.0077 J0.3441 +N110 G02 X2.7279 Y-0.2513 I0.1391 J-0.0969 +N115 G03 X3.2421 Y0.2864 I0.2744 J0.2523 +N120 G01 X3.5851 Y0.0000 +N125 G00 Z0.2500 +N130 G00 X3.5851 Y0.0000 +N135 G01 Z-0.0500 F1.0 +N140 F5.0 +N145 G01 X2.7632 Y0.6910 +N150 G03 X2.2084 Y0.6120 I-0.2421 J-0.2873 +N155 G02 X1.7769 Y0.6373 I-0.2084 J0.1380 +N160 G03 X1.3261 Y0.8253 I-0.3383 J-0.1766 +N165 G01 X-0.1158 Y0.3567 +N170 G03 X0.2251 Y-0.3000 I0.1158 J-0.3567 +N175 G02 X0.3751 Y-0.2500 I0.1499 J-0.2001 +N180 G01 X2.2526 Y-0.2500 +N185 G03 X2.4276 Y-0.2067 I0.0077 J0.3441 +N190 G02 X2.7279 Y-0.2513 I0.1391 J-0.0969 +N195 G03 X3.2421 Y0.2864 I0.2744 J0.2523 +N200 G01 X3.5851 Y0.0000 +N205 G00 Z0.2500 +N210 G00 X3.5851 Y0.0000 +N215 G01 Z-0.0750 F1.0 +N220 F5.0 +N225 G01 X2.7632 Y0.6910 +N230 G03 X2.2084 Y0.6120 I-0.2421 J-0.2873 +N235 G02 X1.7769 Y0.6373 I-0.2084 J0.1380 +N240 G03 X1.3261 Y0.8253 I-0.3383 J-0.1766 +N245 G01 X-0.1158 Y0.3567 +N250 G03 X0.2251 Y-0.3000 I0.1158 J-0.3567 +N255 G02 X0.3751 Y-0.2500 I0.1499 J-0.2001 +N260 G01 X2.2526 Y-0.2500 +N265 G03 X2.4276 Y-0.2067 I0.0077 J0.3441 +N270 G02 X2.7279 Y-0.2513 I0.1391 J-0.0969 +N275 G03 X3.2421 Y0.2864 I0.2744 J0.2523 +N280 G01 X3.5851 Y0.0000 +N285 G00 Z0.2500 +N290 G00 X3.5851 Y0.0000 +N295 G01 Z-0.1000 F1.0 +N300 F5.0 +N305 G01 X2.7632 Y0.6910 +N310 G03 X2.2084 Y0.6120 I-0.2421 J-0.2873 +N315 G02 X1.7769 Y0.6373 I-0.2084 J0.1380 +N320 G03 X1.3261 Y0.8253 I-0.3383 J-0.1766 +N325 G01 X-0.1158 Y0.3567 +N330 G03 X0.2251 Y-0.3000 I0.1158 J-0.3567 +N335 G02 X0.3751 Y-0.2500 I0.1499 J-0.2001 +N340 G01 X2.2526 Y-0.2500 +N345 G03 X2.4276 Y-0.2067 I0.0077 J0.3441 +N350 G02 X2.7279 Y-0.2513 I0.1391 J-0.0969 +N355 G03 X3.2421 Y0.2864 I0.2744 J0.2523 +N360 G01 X3.5851 Y0.0000 +N365 G00 Z0.2500 +N370 G00 X3.5851 Y0.0000 +N375 G01 Z-0.1250 F1.0 +N380 F5.0 +N385 G01 X2.7632 Y0.6910 +N390 G03 X2.2084 Y0.6120 I-0.2421 J-0.2873 +N395 G02 X1.7769 Y0.6373 I-0.2084 J0.1380 +N400 G03 X1.3261 Y0.8253 I-0.3383 J-0.1766 +N405 G01 X-0.1158 Y0.3567 +N410 G03 X0.2251 Y-0.3000 I0.1158 J-0.3567 +N415 G02 X0.3751 Y-0.2500 I0.1499 J-0.2001 +N420 G01 X2.2526 Y-0.2500 +N425 G03 X2.4276 Y-0.2067 I0.0077 J0.3441 +N430 G02 X2.7279 Y-0.2513 I0.1391 J-0.0969 +N435 G03 X3.2421 Y0.2864 I0.2744 J0.2523 +N440 G01 X3.5851 Y0.0000 +N445 G00 Z0.2500 +N450 G00 X3.5851 Y0.0000 +N455 G01 Z-0.1500 F1.0 +N460 F5.0 +N465 G01 X2.7632 Y0.6910 +N470 G03 X2.2084 Y0.6120 I-0.2421 J-0.2873 +N475 G02 X1.7769 Y0.6373 I-0.2084 J0.1380 +N480 G03 X1.3261 Y0.8253 I-0.3383 J-0.1766 +N485 G01 X-0.1158 Y0.3567 +N490 G03 X0.2251 Y-0.3000 I0.1158 J-0.3567 +N495 G02 X0.3751 Y-0.2500 I0.1499 J-0.2001 +N500 G01 X2.2526 Y-0.2500 +N505 G03 X2.4276 Y-0.2067 I0.0077 J0.3441 +N510 G02 X2.7279 Y-0.2513 I0.1391 J-0.0969 +N515 G03 X3.2421 Y0.2864 I0.2744 J0.2523 +N520 G01 X3.5851 Y0.0000 +N525 G00 Z0.2500 +N530 G00 X3.5851 Y0.0000 +N535 G01 Z-0.1750 F1.0 +N540 F5.0 +N545 G01 X2.7632 Y0.6910 +N550 G03 X2.2084 Y0.6120 I-0.2421 J-0.2873 +N555 G02 X1.7769 Y0.6373 I-0.2084 J0.1380 +N560 G03 X1.3261 Y0.8253 I-0.3383 J-0.1766 +N565 G01 X-0.1158 Y0.3567 +N570 G03 X0.2251 Y-0.3000 I0.1158 J-0.3567 +N575 G02 X0.3751 Y-0.2500 I0.1499 J-0.2001 +N580 G01 X2.2526 Y-0.2500 +N585 G03 X2.4276 Y-0.2067 I0.0077 J0.3441 +N590 G02 X2.7279 Y-0.2513 I0.1391 J-0.0969 +N595 G03 X3.2421 Y0.2864 I0.2744 J0.2523 +N600 G01 X3.5851 Y0.0000 +N605 G00 Z0.2500 +N610 G00 X3.5851 Y0.0000 +N615 G01 Z-0.2000 F1.0 +N620 F5.0 +N625 G01 X2.7632 Y0.6910 +N630 G03 X2.2084 Y0.6120 I-0.2421 J-0.2873 +N635 G02 X1.7769 Y0.6373 I-0.2084 J0.1380 +N640 G03 X1.3261 Y0.8253 I-0.3383 J-0.1766 +N645 G01 X-0.1158 Y0.3567 +N650 G03 X0.2251 Y-0.3000 I0.1158 J-0.3567 +N655 G02 X0.3751 Y-0.2500 I0.1499 J-0.2001 +N660 G01 X2.2526 Y-0.2500 +N665 G03 X2.4276 Y-0.2067 I0.0077 J0.3441 +N670 G02 X2.7279 Y-0.2513 I0.1391 J-0.0969 +N675 G03 X3.2421 Y0.2864 I0.2744 J0.2523 +N680 G01 X3.5851 Y0.0000 +N685 G00 Z0.2500 +N690 G00 X3.5851 Y0.0000 +N695 G01 Z-0.2250 F1.0 +N700 F5.0 +N705 G01 X2.7632 Y0.6910 +N710 G03 X2.2084 Y0.6120 I-0.2421 J-0.2873 +N715 G02 X1.7769 Y0.6373 I-0.2084 J0.1380 +N720 G03 X1.3261 Y0.8253 I-0.3383 J-0.1766 +N725 G01 X-0.1158 Y0.3567 +N730 G03 X0.2251 Y-0.3000 I0.1158 J-0.3567 +N735 G02 X0.3751 Y-0.2500 I0.1499 J-0.2001 +N740 G01 X2.2526 Y-0.2500 +N745 G03 X2.4276 Y-0.2067 I0.0077 J0.3441 +N750 G02 X2.7279 Y-0.2513 I0.1391 J-0.0969 +N755 G03 X3.2421 Y0.2864 I0.2744 J0.2523 +N760 G01 X3.5851 Y0.0000 +N765 G00 Z0.2500 +N770 G00 X3.5851 Y0.0000 +N775 G01 Z-0.2500 F1.0 +N780 F5.0 +N785 G01 X2.7632 Y0.6910 +N790 G03 X2.2084 Y0.6120 I-0.2421 J-0.2873 +N795 G02 X1.7769 Y0.6373 I-0.2084 J0.1380 +N800 G03 X1.3261 Y0.8253 I-0.3383 J-0.1766 +N805 G01 X-0.1158 Y0.3567 +N810 G03 X0.2251 Y-0.3000 I0.1158 J-0.3567 +N815 G02 X0.3751 Y-0.2500 I0.1499 J-0.2001 +N820 G01 X2.2526 Y-0.2500 +N825 G03 X2.4276 Y-0.2067 I0.0077 J0.3441 +N830 G02 X2.7279 Y-0.2513 I0.1391 J-0.0969 +N835 G03 X3.2421 Y0.2864 I0.2744 J0.2523 +N840 G01 X3.5851 Y0.0000 +N845 G00 Z0.2500 +N850 G00 X0.0000 Y0.0000 +N855 G01 Z1.0000 F1.0 +N860 F5.0 +N865 G01 X0.0000 Y0.0000 +N870 G00 Z0.2500 +N875 M09 +N880 M05 +N885 M30 +N890 % diff --git a/tests/test-files/Colt.tap b/tests/test-files/Colt.tap new file mode 100644 index 0000000..f624bd9 --- /dev/null +++ b/tests/test-files/Colt.tap @@ -0,0 +1,437 @@ +( Colt ) +N100G00G21G17G90G40G49G80 +N110G71G91.1 +N120T1M06 +N130(ENGRAVING - 20 DEG TIP 0.1) +N140G00G43Z6H1 +N150S12000M03 +N160 +N170 +N180G94 +N190X0Y0F600.0 +N200G00X14.9Y18.75 +N210G1Z-0.2 +N220G2X13.15Y22.6I1.15J2.85 +N230G3X14.4Y30.3I-20.25J7.25 +N240G2X15.35Y33.4I5.25J.1 +N250G3X18.05Y46.1I-13.8J9.6 +N260G2X18.2Y50.1I8.8J1.65 +N270G3X18.75Y54.05I-14.65J3.95 +N280G2X19Y55.55I3.85J0 +N290G3X20.5Y61.4I-19.4J8 +N300G3X21.4Y74.95I-177.5J18.5 +N310G2X23.25Y88.4I61.45J-1.7 +N320G3X23.15Y88.9I-.55J.15 +N330G3X22.8Y88.95I-.2J-.15 +N340G3X20.55Y86.4I6.8J-8.3 +N350G1X18.6Y83.65 +N360G1X18.35Y83.5 +N370G1X18.2Y83.65 +N380G3X17.65Y83.75I-.3J0 +N390G2X16.5Y82.15I-4.6J2.05 +N400G2X14.6Y80.7I-7.2J7.7 +N410G2X7.25Y76.75I-65.25J111.8 +N420G1X7.05Y76.55 +N430G1X7.05Y76.4 +N440G2X6.7Y75.75I-.35J-.2 +N450G2X2.65Y76.45I-.85J7.2 +N460G2X1.55Y77.5I1.15J2.35 +N470G3X.3Y78.4I-1.55J-.9 +N480G1X.15Y78.35 +N490G1X.05Y78.4 +N500G1X.1Y78.5 +N510G3X1.7Y79.55I-.35J2.3 +N520G2X4.1Y82.2I9.6J-6.15 +N530G1X5.35Y83.15 +N540G1X5.6Y83.25 +N550G3X6.2Y83.55I-.05J.85 +N560G2X8.45Y85.2I4.45J-3.7 +N570G1X12.2Y86.8 +N580G3X15.65Y89.35I-4.4J9.6 +N590G2X19.05Y91I3.75J-3.4 +N600G3X19.7Y91.65I-.05J.7 +N610G2X20.45Y92.15I.55J0 +N620G3X20.8Y92.5I.1J.25 +N630G3X20.5Y92.55I-.2J-.1 +N640G2X20.25Y92.8I-.1J.15 +N650G2X20.7Y92.85I.25J-.25 +N660G3X22.3Y92.55I1.35J2.7 +N670G3X22.45Y92.8I0J.2 +N680G3X22.25Y92.95I-.2J0 +N690G1X22.1Y93.1 +N700G1X22.25Y93.2 +N710G3X25.5Y92.95I2J5 +N720G2X26.2Y92.5I.15J-.6 +N730G3X26.9Y92.45I.35J.1 +N740G2X28.6Y94.5I5J-2.4 +N750G1X28.7Y94.6 +N760G1X28.75Y94.65 +N770G2X29.75Y95.6I1.05J-.1 +N780G3X35Y96.25I-2.3J40.6 +N790G2X41.85Y96.8I6J-31.7 +N800G2X44.15Y96I-.1J-4.1 +N810G3X45.05Y95.65I1.05J1.45 +N820G2X45.55Y94.9I-.05J-.6 +N830G3X45.9Y94I.8J-.2 +N840G3X50.8Y91.1I18.45J25.55 +N850G3X52Y90.8I1.25J2.6 +N860G3X54.3Y91I.3J11.15 +N870G1X54.4Y91.05 +N880G1X54.4Y91.1 +N890G1X54.35Y91.2 +N900G1X54.3Y91.3 +N910G1X54.05Y91.35 +N920G1X54.1Y91.5 +N930G1X54.35Y91.7 +N940G1X54.55Y91.85 +N950G3X54.55Y92.2I-.05J.2 +N960G2X54.4Y92.4I0J.15 +N970G2X54.7Y92.55I.25J-.1 +N980G1X55.95Y92.35 +N990G3X56.15Y92.6I0J.2 +N1000G3X55.85Y92.7I-.2J-.05 +N1010G2X54.65Y93I-.45J.85 +N1020G2X54.7Y93.25I.1J.1 +N1030G3X55Y93.5I-.15J.45 +N1040G2X55.35Y93.6I.2J-.05 +N1050G3X55.65Y93.65I.15J.15 +N1060G3X55.55Y93.95I-.15J.1 +N1070G2X54.5Y94.9I.4J1.5 +N1080G2X55Y95.4I.35J.15 +N1090G2X55.7Y94.6I-.55J-1.15 +N1100G3X56.15Y94.4I.3J.1 +N1110G3X56.2Y94.9I-.15J.3 +N1120G2X54.85Y96.8I6.3J5.95 +N1130G2X55Y97.2I.25J.15 +N1140G2X55.5Y96.9I.15J-.3 +N1150G3X56.8Y95.1I2.25J.25 +N1160G3X57.05Y95.5I.1J.2 +N1170G1X56Y96.65 +N1180G2X56.05Y96.9I.15J.1 +N1190G2X56.3Y96.85I.1J-.15 +N1200G1X57.05Y96 +N1210G1X57.25Y95.8 +N1220G1X57.85Y95.15 +N1230G3X58.1Y95.1I.15J.15 +N1240G3X58.15Y95.4I-.15J.15 +N1250G2X57.45Y96.5I3.15J2.75 +N1260G1X57Y97.25 +N1270G2X56.75Y98.15I.85J.65 +N1280G1X56.75Y98.55 +N1290G1X56.65Y98.75 +N1300G1X56.5Y99 +N1310G2X56.7Y99.15I.1J0 +N1320G2X57.4Y98.15I-.7J-1.25 +N1330G3X57.75Y98.15I.15J.05 +N1340G3X57.65Y99.25I-1.55J.4 +N1350G1X57.7Y99.45 +N1360G1X57.95Y99.35 +N1370G1X58.3Y98.3 +N1380G3X58.9Y97.35I1.7J.4 +N1390G1X59.5Y96.9 +N1400G3X59.75Y97.15I.1J.15 +N1410G1X59.2Y97.75 +N1420G2X58.9Y98.45I.65J.75 +N1430G2X59.35Y100.25I3.1J.15 +N1440G3X59.75Y102.05I-2.45J1.5 +N1450G1X59.8Y102.1 +N1460G1X59.95Y102.05 +N1470G2X59.8Y100.35I-1.35J-.75 +N1480G3X59.6Y98.65I1.2J-1 +N1490G1X60.05Y98.1 +N1500G3X60.2Y98.15I.05J.05 +N1510G1X60.35Y100.45 +N1520G2X61.05Y101.4I1.2J-.15 +N1530G2X61.2Y101.2I.05J-.1 +N1540G1X60.7Y100.4 +N1550G3X60.55Y98.65I3.4J-1.2 +N1560G3X61Y98.6I.25J.05 +N1570G1X61.05Y99.45 +N1580G2X61.55Y100.85I1.7J.2 +N1590G2X61.7Y100.75I.05J-.05 +N1600G1X61.5Y100.2 +N1610G1X61.35Y99.05 +N1620G3X61.7Y98.95I.2J0 +N1630G1X61.85Y99.85 +N1640G2X62.65Y101.35I1.55J.1 +N1650G1X63.35Y101.65 +N1660G1X63.45Y101.65 +N1670G1X63.5Y101.6 +N1680G1X63.3Y101.45 +N1690G3X62.05Y100.15I1.5J-2.65 +N1700G3X62Y98.85I1.4J-.7 +N1710G1X62.35Y98.45 +N1720G1X62.7Y98 +N1730G1X62.85Y97.75 +N1740G3X63.05Y97.9I.05J.1 +N1750G2X62.9Y99.95I3.7J1.25 +N1760G2X63.9Y101.9I4.15J-.9 +N1770G1X64.25Y102.1 +N1780G3X64.55Y102.7I-.1J.4 +N1790G2X64.3Y104I1.75J.95 +N1800G2X64.9Y105.1I1.9J-.3 +N1810G2X65.05Y105I.05J-.05 +N1820G3X65.4Y104.5I.35J-.15 +N1830G2X65.6Y104.2I0J-.2 +N1840G3X66.9Y103.5I.7J-.25 +N1850G3X67.45Y104.85I-2.95J2 +N1860G3X67.15Y105I-.15J.05 +N1870G2X66.4Y104.7I-.95J1.25 +N1880G2X65.3Y104.75I-.4J2.85 +N1890G2X65.25Y105.05I.05J.15 +N1900G3X65.35Y106.25I-.65J.7 +N1910G1X65.25Y106.5 +N1920G2X65.4Y106.55I.1J0 +N1930G2X65.7Y105.8I-.85J-.8 +N1940G3X66.4Y105.3I.5J0 +N1950G1X67.6Y105.85 +N1960G3X67.6Y106.45I-.15J.3 +N1970G1X65.95Y107.15 +N1980G2X65.45Y108.2I.25J.75 +N1990G2X65.7Y108.15I.1J-.05 +N2000G3X66.35Y107.4I.7J-.05 +N2010G3X66.35Y107.65I0J.15 +N2020G2X66.2Y107.85I.05J.2 +N2030G1X66.3Y107.95 +N2040G1X66.55Y107.75 +N2050G1X66.65Y107.7 +N2060G1X66.7Y107.8 +N2070G1X66.7Y108.05 +N2080G1X66.7Y108.35 +N2090G1X66.65Y108.4 +N2100G1X66.65Y108.45 +N2110G1X66.7Y108.45 +N2120G1X66.7Y108.35 +N2130G1X66.7Y108.3 +N2140G1X67.1Y107.65 +N2150G1X67.2Y107.7 +N2160G1X67.1Y107.8 +N2170G1X67.15Y107.85 +N2180G1X67.3Y107.7 +N2190G1X67.5Y107.6 +N2200G1X67.75Y107.55 +N2210G1X67.8Y107.5 +N2220G1X67.85Y107.4 +N2230G1X68.05Y107.25 +N2240G1X68Y107.15 +N2250G3X68.2Y107.35I.1J.1 +N2260G3X67.5Y107.8I-1J-.8 +N2270G2X67Y108.4I.1J.6 +N2280G2X67.35Y108.7I.3J0 +N2290G2X67.55Y108.3I0J-.25 +N2300G3X67.8Y107.9I.2J-.15 +N2310G1X67.85Y108.1 +N2320G1X67.65Y108.75 +N2330G2X67.85Y108.8I.1J0 +N2340G3X68.1Y108.1I1.15J.05 +N2350G1X68.3Y107.95 +N2360G1X68.35Y107.95 +N2370G1X68.4Y108.45 +N2380G2X68.6Y108.45I.1J0 +N2390G3X68.85Y107.85I.85J.05 +N2400G3X70.5Y106.6I6.35J6.7 +N2410G3X71.1Y107.15I.2J.35 +N2420G3X69.75Y108.1I-1.55J-.8 +N2430G1X69.6Y108.1 +N2440G1X69.2Y107.95 +N2450G1X69.05Y107.9 +N2460G1X69Y107.95 +N2470G1X69.05Y108 +N2480G1X69.35Y108.15 +N2490G2X70Y108.2I.4J-.9 +N2500G3X70.95Y108.9I.15J.75 +N2510G2X71.25Y109.6I1.35J-.15 +N2520G2X71.45Y109.55I.1J-.05 +N2530G1X71.35Y108.85 +N2540G3X71.3Y108.2I1.05J-.4 +N2550G3X71.55Y108.05I.2J.05 +N2560G3X71.7Y108.3I-.05J.2 +N2570G2X71.9Y109.75I1.15J.55 +N2580G2X72.85Y109.85I.55J-.5 +N2590G2X72.95Y109.45I-.15J-.25 +N2600G2X72.55Y109.55I-.2J.1 +N2610G3X72.15Y109.6I-.2J0 +N2620G3X72.2Y108.8I.9J-.35 +N2630G3X73.5Y107.1I6.3J3.4 +N2640G3X73.7Y107.15I.1J.1 +N2650G3X73.65Y108.3I-3.25J.45 +N2660G1X73.55Y108.6 +N2670G2X73.7Y108.75I.1J.05 +N2680G1X73.9Y108.5 +N2690G1X73.85Y106.95 +N2700G3X74.15Y106.6I.3J-.05 +N2710G3X74.45Y106.95I0J.3 +N2720G2X75.3Y108.85I2.05J.2 +N2730G1X75.45Y108.85 +N2740G1X75.6Y108.9 +N2750G1X75.55Y110 +N2760G2X76.05Y110.05I.25J0 +N2770G2X75.9Y109.15I-1.65J-.15 +N2780G3X76.1Y109I.1J-.05 +N2790G1X76.7Y109.6 +N2800G1X76.9Y109.6 +N2810G1X76.9Y109.4 +N2820G3X76.5Y108.6I.8J-.9 +N2830G3X76.85Y108.4I.2J0 +N2840G3X77.3Y109.1I-1J1.25 +N2850G2X77.7Y109.35I.35J-.15 +N2860G1X77.7Y109.25 +N2870G1X77.55Y109 +N2880G3X77.9Y108.95I.15J0 +N2890G2X78.4Y109.9I1.7J-.3 +N2900G2X79.85Y110.7I2.15J-2.3 +N2910G2X80.65Y109.8I.15J-.65 +N2920G3X81Y109.6I.2J-.05 +N2930G2X81.7Y109.9I.65J-.55 +N2940G1X81.85Y109.75 +N2950G1X81.65Y109.6 +N2960G3X81.25Y109.25I-.05J-.4 +N2970G3X81.9Y109.05I.35J-.05 +N2980G2X84.25Y110.4I2.15J-1.1 +N2990G2X84.4Y110.2I0J-.2 +N3000G2X84.15Y110.05I-.2J.05 +N3010G3X83.8Y109.95I-.1J-.35 +N3020G3X84.05Y109.7I.15J-.15 +N3030G1X84.4Y109.8 +N3040G1X84.75Y109.8 +N3050G1X84.4Y109.8 +N3060G3X83.2Y109.2I.15J-1.75 +N3070G3X83.45Y108.7I.25J-.2 +N3080G3X85.15Y109.75I-.2J2.2 +N3090G2X85.65Y109.7I.25J-.15 +N3100G1X85.55Y109.6 +N3110G3X85.45Y109.5I-.05J-.05 +N3120G3X86.35Y109.35I.5J.3 +N3130G2X88.05Y109.5I.95J-1.15 +N3140G1X88.1Y109.45 +N3150G1X88Y109.4 +N3160G3X87.55Y109.4I-.25J-.4 +N3170G3X87.45Y109.1I.1J-.2 +N3180G3X87.75Y109.05I.2J.1 +N3190G2X88.15Y108.9I.15J-.2 +N3200G3X88.85Y108.8I.4J.1 +N3210G2X89.55Y108.75I.35J-.25 +N3220G2X89.2Y108.15I-.35J-.2 +N3230G1X88.95Y108 +N3240G1X89Y107.9 +N3250G1X89.5Y107.75 +N3260G2X89.5Y107.55I-.05J-.1 +N3270G3X89.45Y107.15I.1J-.2 +N3280G1X89.6Y106.75 +N3290G1X89.65Y106.5 +N3300G1X89.75Y106.5 +N3310G2X90.75Y107.45I3.55J-2.7 +N3320G3X94.95Y111.05I-16.15J23.15 +N3330G2X95.25Y110.95I.15J-.15 +N3340G2X95.7Y108.75I-6.25J-2.4 +N3350G2X94.15Y104.6I-5.8J-.15 +N3360G1X90.8Y101.1 +N3370G3X90.55Y100.45I.6J-.6 +N3380G3X90.9Y98.75I5.85J.3 +N3390G1X91.1Y98.45 +N3400G1X91.15Y98.45 +N3410G1X91.15Y98.55 +N3420G2X91.85Y98.15I-.05J-.85 +N3430G2X94.3Y92.3I-23.15J-13.3 +N3440G3X95.35Y90I8.25J2.4 +N3450G2X94.85Y89.5I-.3J-.2 +N3460G1X94.55Y89.9 +N3470G3X94.05Y89.9I-.25J-.1 +N3480G3X93.15Y83.95I11.2J-4.8 +N3490G3X95.8Y71.2I57.55J5.3 +N3500G2X95.8Y66.65I-6.9J-2.3 +N3510G2X93.15Y63.05I-6.65J2.15 +N3520G2X89.25Y62.45I-2.55J3.7 +N3530G2X86.35Y65.15I1.35J4.35 +N3540G1X84.25Y70.55 +N3550G3X81.75Y74.7I-12.75J-4.95 +N3560G1X79.75Y76.95 +N3570G1X77.75Y79.2 +N3580G3X77.15Y79I-.25J-.25 +N3590G2X76.5Y76.65I-8.65J1.1 +N3600G3X75.85Y74.5I9.45J-4 +N3610G3X76Y73.95I.6J-.1 +N3620G1X76Y73.85 +N3630G3X75.9Y73.45I.3J-.3 +N3640G1X76.95Y68.4 +N3650G2X76.15Y63.7I-6.45J-1.3 +N3660G3X74.05Y59.5I23.9J-14.55 +N3670G3X73.3Y55.3I9.85J-3.9 +N3680G2X71.9Y48.65I-14.75J-.4 +N3690G3X70.4Y36.1I18.15J-8.5 +N3700G2X70.35Y32.2I-8.65J-1.8 +N3710G3X69.8Y16.55I36.85J-9.1 +N3720G1X70.75Y9.9 +N3730G3X72.4Y5.8I8.4J.95 +N3740G1X72.7Y5.25 +N3750G1X73.05Y4.7 +N3760G2X74.35Y2.45I-4.85J-4.35 +N3770G2X73.5Y.8I-1.2J-.4 +N3780G3X73.2Y.55I.1J-.4 +N3790G2X72.7Y0I-.75J.2 +N3800G1X72.2Y-.05 +N3810G1X70.85Y.1 +N3820G2X67.35Y3.7I.2J3.7 +N3830G3X65.2Y12.6I-21.4J-.5 +N3840G2X64.8Y15.65I4.35J2.15 +N3850G3X65Y27.9I-35.15J6.75 +N3860G1X64.05Y35.15 +N3870G1X62.4Y52.05 +N3880G3X61.55Y52.35I-.5J-.05 +N3890G3X59.15Y47.7I6.2J-6.1 +N3900G3X59.25Y38.7I24.95J-4.25 +N3910G2X58.05Y29.85I-13.75J-2.65 +N3920G3X57.25Y27.15I6.85J-3.4 +N3930G3X56.5Y12.3I150.65J-15.05 +N3940G3X56.85Y9.2I13.45J0 +N3950G3X57.35Y8.8I.5J.1 +N3960G2X57.95Y8I-.05J-.65 +N3970G3X58.55Y4.15I5.15J-1.15 +N3980G1X58.8Y3.35 +N3990G2X58.15Y2.35I-.95J-.1 +N4000G2X55.7Y1.85I-3J8.45 +N4010G2X53.1Y3.55I-.15J2.65 +N4020G2X52.5Y9.3I10.4J3.95 +N4030G3X51.9Y15.1I-10.5J1.75 +N4040G2X51.9Y18.25I3.8J1.55 +N4050G3X52.6Y30.75I-17.15J7.25 +N4060G2X52.35Y34.9I9.25J2.7 +N4070G3X51.7Y51.6I-43.6J6.65 +N4080G2X51.45Y55.15I10.75J2.5 +N4090G3X49.3Y58I-2.65J.25 +N4100G2X43.5Y60.3I3.15J16.35 +N4110G3X40.45Y61.6I-5.65J-8.9 +N4120G3X39.8Y61.15I-.15J-.5 +N4130G2X38.75Y58.25I-6.95J.75 +N4140G3X34.9Y44.05I21.65J-13.5 +N4150G3X39.6Y26.25I39.9J1.05 +N4160G2X40.7Y23.7I-14.1J-7.55 +N4170G2X40.05Y22.45I-.95J-.3 +N4180G2X35.15Y25.75I-1.1J3.6 +N4190G3X32.55Y31I-8.05J-.7 +N4200G1X31.95Y31.4 +N4210G2X31.65Y32.05I.25J.5 +N4220G3X31.5Y40.05I-16.3J3.7 +N4230G2X29.1Y54.7I72.2J19.4 +N4240G2X29.9Y57.45I4J.25 +N4250G3X32.3Y68.5I-10.35J8 +N4260G3X31.3Y68.45I-.5J-.1 +N4270G2X30.2Y65.3I-9.35J1.5 +N4280G1X29.1Y63.5 +N4290G1X28.05Y61.7 +N4300G1X28.1Y61.7 +N4310G1X28.15Y61.65 +N4320G2X28.15Y60.9I-.25J-.4 +N4330G3X26.15Y58.7I3.35J-5.1 +N4340G3X25.15Y55.85I8.65J-4.75 +N4350G2X21.25Y44.45I-44J8.55 +N4360G3X20.2Y41.05I9.85J-4.9 +N4370G1X18.05Y27.1 +N4380G3X17.75Y20.8I26.55J-4.45 +N4390G2X14.9Y18.75I-2.1J-.15 +N4400G00X14.9Y18.75Z6 +N4410G00Z6 +N4420G00X0Y0 +N4430M05 +N4440M30 +N4450% diff --git a/tests/test-files/Cross2.tap b/tests/test-files/Cross2.tap new file mode 100644 index 0000000..52d862b --- /dev/null +++ b/tests/test-files/Cross2.tap @@ -0,0 +1,141 @@ +( Cross2 ) +( Material Size ) +( X=96 mm, Y=120 mm, Z=6 mm ) +( Tools used in this file: ) +( T1 = End Mill 4 mm ) +() +N100G00G21G17G90G40G49G80 +N110G71G91.1 +N120T1M06 +N130 +N140G00G43Z6.001H1 +N150S12000M03 +N160 +N170 +N180G94 +N190X0.000Y0.000F300.0 +N200G00X19.365Y10.204 +N210G1X19.365Y10.204F100.0Z-6.250 +N220G3X21.516Y8.215I3.342J1.456F300.0 +N230G3X34.429Y4.911I26.451J76.500 +N240G1X39.329Y4.240 +N250G1X40.693Y4.106 +N260G1X41.226Y2.568 +N270G3X45.677Y-1.360I6.769J3.185 +N280G1X46.900Y-1.639 +N290G1X47.924Y-1.727 +N300G1X48.076Y-1.727 +N310G1X49.100Y-1.639 +N320G1X50.323Y-1.360 +N330G3X54.774Y2.568I-2.318J7.113 +N340G1X55.307Y4.106 +N350G1X56.671Y4.240 +N360G1X61.571Y4.911 +N370G3X74.484Y8.215I-13.538J79.804 +N380G3X76.635Y10.204I-1.191J3.445 +N390G3X76.934Y11.837I-3.337J1.454 +N400G3X76.476Y13.433I-3.637J-0.179 +N410G1X76.387Y13.582 +N420G1X76.279Y13.746 +N430G1X75.550Y14.804 +N440G1X72.855Y18.835 +N450G2X60.886Y44.862I91.386J57.794 +N460G2X56.171Y73.119I103.357J31.767 +N470G1X56.124Y74.803 +N480G1X56.123Y74.969 +N490G1X57.117Y74.965 +N500G1X60.431Y74.897 +N510G1X64.581Y74.650 +N520G2X74.700Y72.963I-6.338J-69.199 +N530G2X84.461Y69.804I-16.458J-67.516 +N540G1X85.953Y69.181 +N550G1X86.868Y68.927 +N560G3X89.334Y69.473I0.494J3.607 +N570G3X90.862Y71.480I-2.004J3.111 +N580G1X91.035Y72.102 +N590G1X91.308Y73.289 +N600G1X91.347Y73.474 +N610G3X93.056Y73.960I-1.143J7.266 +N620G3X97.553Y82.081I-2.910J6.917 +N630G3X91.345Y88.286I-7.408J-1.204 +N640G1X91.234Y88.787 +N650G1X90.775Y90.562 +N660G1X90.576Y91.205 +N670G3X89.881Y92.426I-3.393J-1.123 +N680G3X88.118Y93.544I-2.750J-2.389 +N690G3X86.033Y93.514I-0.993J-3.526 +N700G1X85.430Y93.282 +N710G1X84.091Y92.688 +N720G2X58.689Y87.223I-27.064J64.027 +N730G1X56.527Y87.219 +N740G1X56.532Y87.237 +N750G1X56.726Y88.030 +N760G2X66.598Y104.001I30.363J-7.731 +N770G1X67.446Y104.720 +N780G3X68.587Y106.437I-2.308J2.772 +N790G3X68.532Y108.707I-3.443J1.053 +N800G3X67.160Y110.507I-3.529J-1.268 +N810G1X66.617Y110.866 +N820G1X65.603Y111.480 +N830G3X60.338Y113.988I-17.052J-29.028 +N840G3X55.464Y115.399I-11.723J-31.363 +N850G3X53.114Y119.751I-7.439J-1.206 +N860G3X48.560Y121.710I-5.090J-5.558 +N870G1X48.236Y121.724 +N880G1X48.065Y121.728 +N890G1X47.935Y121.728 +N900G1X47.764Y121.724 +N910G1X47.440Y121.710 +N920G3X42.886Y119.751I0.535J-7.517 +N930G3X40.536Y115.399I5.089J-5.557 +N940G3X35.662Y113.988I6.852J-32.786 +N950G3X30.397Y111.480I11.786J-31.535 +N960G1X29.383Y110.866 +N970G1X28.840Y110.507 +N980G3X27.468Y108.707I2.157J-3.067 +N990G3X27.413Y106.437I3.388J-1.218 +N1000G3X28.554Y104.720I3.449J1.055 +N1010G1X29.402Y104.001 +N1020G2X39.274Y88.030I-20.492J-23.702 +N1030G1X39.468Y87.237 +N1040G1X39.473Y87.219 +N1050G1X37.311Y87.223 +N1060G2X11.909Y92.688I1.662J69.492 +N1070G1X10.570Y93.282 +N1080G1X9.967Y93.514 +N1090G3X7.882Y93.544I-1.092J-3.496 +N1100G3X6.119Y92.426I0.988J-3.506 +N1110G3X5.424Y91.205I2.698J-2.344 +N1120G1X5.225Y90.562 +N1130G1X4.766Y88.787 +N1140G1X4.655Y88.286 +N1150G3X-1.553Y82.081I1.201J-7.409 +N1160G3X2.944Y73.960I7.407J-1.204 +N1170G3X4.653Y73.474I2.843J6.748 +N1180G1X4.692Y73.289 +N1190G1X4.965Y72.102 +N1200G1X5.138Y71.480 +N1210G3X6.666Y69.473I3.532J1.104 +N1220G3X9.132Y68.927I1.972J3.061 +N1230G1X10.047Y69.181 +N1240G1X11.539Y69.804 +N1250G2X21.300Y72.963I26.219J-64.357 +N1260G2X31.419Y74.650I16.457J-67.512 +N1270G1X35.569Y74.897 +N1280G1X38.883Y74.965 +N1290G1X39.877Y74.969 +N1300G1X39.876Y74.803 +N1310G1X39.829Y73.119 +N1320G2X35.114Y44.862I-108.072J3.510 +N1330G2X23.145Y18.835I-103.356J31.767 +N1340G1X20.450Y14.804 +N1350G1X19.721Y13.746 +N1360G1X19.613Y13.582 +N1370G1X19.524Y13.433 +N1380G3X19.066Y11.837I3.179J-1.775 +N1390G3X19.365Y10.204I3.636J-0.179 +N1400G00X19.365Y10.204Z6.000 +N1410G00Z6.001M05 +N1420G00X0.000Y0.000 +N1430M30 +% diff --git a/tests/test-files/DB25.tap b/tests/test-files/DB25.tap new file mode 100644 index 0000000..aecac91 --- /dev/null +++ b/tests/test-files/DB25.tap @@ -0,0 +1,95 @@ +(Code by Newfangled Wizard, 15/01/2017) +(Version 2.86) +(Program Posted for Aluminum ) +G0 G49 G40.1 G17 +G80 G50 G90 G98 +G21 (mm) +(****DB 25 Pin****) +M6 T7(TOOL DIA. 3) +G43 H7 +M03 S4000 +M7 (Mist On) +G0 X18.6665 Y-3.1674 +X18.6665 Y-3.1674 Z2 +G1 X18.6665 Y-3.1674 Z-1 F39.6 +G41 P1.5 X20.4013 Y-3.9116 F79.2 +G3 X21.0007 Y-2.3038 R2.46126 +G1 X21.0007 Y-1.6002 +X23.3959 Y-1.6002 +G3 X24.9961 Y0 R1.6002 +X23.3959 Y1.6002 R1.6002 +G1 X21.0007 Y1.6002 +X21.0007 Y2.3241 +G3 X17.8257 Y5.4991 R3.175 +G1 X-17.8257 Y5.4991 +G3 X-21.0007 Y2.3241 R3.175 +G1 X-21.0007 Y1.6002 +X-23.3959 Y1.6002 +G3 X-24.9961 Y0 R1.6002 +X-23.3959 Y-1.6002 R1.6002 +G1 X-21.0007 Y-1.6002 +X-21.0007 Y-2.3241 +G3 X-17.8257 Y-5.4991 R3.175 +G1 X17.8257 Y-5.4991 +G3 X21.0007 Y-2.3241 R3.175 +G1 X21.0007 Y-1.6002 +G3 X21.8491 Y-0.7772 R1.69672 +G1 G40 X20.4241 Y-0.0178 +G0 X20.4241 Y-0.0178 Z2 +G0 X18.6665 Y-3.1674 +X18.6665 Y-3.1674 Z2 +G1 X18.6665 Y-3.1674 Z-2 F39.6 +G41 P1.5 X20.4013 Y-3.9116 F79.2 +G3 X21.0007 Y-2.3038 R2.46126 +G1 X21.0007 Y-1.6002 +X23.3959 Y-1.6002 +G3 X24.9961 Y0 R1.6002 +X23.3959 Y1.6002 R1.6002 +G1 X21.0007 Y1.6002 +X21.0007 Y2.3241 +G3 X17.8257 Y5.4991 R3.175 +G1 X-17.8257 Y5.4991 +G3 X-21.0007 Y2.3241 R3.175 +G1 X-21.0007 Y1.6002 +X-23.3959 Y1.6002 +G3 X-24.9961 Y0 R1.6002 +X-23.3959 Y-1.6002 R1.6002 +G1 X-21.0007 Y-1.6002 +X-21.0007 Y-2.3241 +G3 X-17.8257 Y-5.4991 R3.175 +G1 X17.8257 Y-5.4991 +G3 X21.0007 Y-2.3241 R3.175 +G1 X21.0007 Y-1.6002 +G3 X21.8491 Y-0.7772 R1.69672 +G1 G40 X20.4241 Y-0.0178 +G0 X20.4241 Y-0.0178 Z2 +G0 X18.6665 Y-3.1674 +X18.6665 Y-3.1674 Z2 +G1 X18.6665 Y-3.1674 Z-3 F39.6 +G41 P1.5 X20.4013 Y-3.9116 F79.2 +G3 X21.0007 Y-2.3038 R2.46126 +G1 X21.0007 Y-1.6002 +X23.3959 Y-1.6002 +G3 X24.9961 Y0 R1.6002 +X23.3959 Y1.6002 R1.6002 +G1 X21.0007 Y1.6002 +X21.0007 Y2.3241 +G3 X17.8257 Y5.4991 R3.175 +G1 X-17.8257 Y5.4991 +G3 X-21.0007 Y2.3241 R3.175 +G1 X-21.0007 Y1.6002 +X-23.3959 Y1.6002 +G3 X-24.9961 Y0 R1.6002 +X-23.3959 Y-1.6002 R1.6002 +G1 X-21.0007 Y-1.6002 +X-21.0007 Y-2.3241 +G3 X-17.8257 Y-5.4991 R3.175 +G1 X17.8257 Y-5.4991 +G3 X21.0007 Y-2.3241 R3.175 +G1 X21.0007 Y-1.6002 +G3 X21.8491 Y-0.7772 R1.69672 +G1 G40 X20.4241 Y-0.0178 +G0 X20.4241 Y-0.0178 Z2 +M5 M9 +M30 +% diff --git a/tests/test-files/Disc3.tap b/tests/test-files/Disc3.tap new file mode 100644 index 0000000..70aaa94 --- /dev/null +++ b/tests/test-files/Disc3.tap @@ -0,0 +1,121 @@ +(Tweakie.CNC) +G00G21G17G90G40G49G80 +G71G91.1 +T1M06 +G00G43Z10H1 +S12000M03 +G94 +X0.000Y0.000F300.0 +G00X17.477Y7.782Z6.000 +G1X17.477Y7.782Z-2.000F100.0 +G1X17.510Y7.801Z-2.000F300.0 +G1X17.687Y7.912Z-2.000 +G1X17.802Y7.990Z-2.000 +G3X18.687Y13.577I-2.351J3.236 +G3X13.100Y14.462I-3.236J-2.351 +G1X12.988Y14.374Z-2.000 +G1X12.802Y14.218Z-2.000 +G1X12.827Y14.253Z-2.000 +G1X12.941Y14.424Z-2.000 +G1X13.013Y14.540Z-2.000 +G3X11.549Y20.004I-3.464J2.000 +G3X6.085Y18.540I-2.000J-3.464 +G1X6.020Y18.416Z-2.000 +G1X5.913Y18.198Z-2.000 +G1X5.921Y18.243Z-2.000 +G1X5.956Y18.443Z-2.000 +G1X5.974Y18.576Z-2.000 +G3X2.414Y22.972I-3.978J0.418 +G3X-1.982Y19.412I-0.418J-3.978 +G1X-1.991Y19.275Z-2.000 +G1X-2.000Y19.029Z-2.000 +G1X-2.009Y19.067Z-2.000 +G1X-2.060Y19.268Z-2.000 +G1X-2.098Y19.400Z-2.000 +G3X-7.138Y21.968I-3.804J-1.236 +G3X-9.706Y16.928I1.236J-3.804 +G1X-9.659Y16.799Z-2.000 +G1X-9.567Y16.571Z-2.000 +G1X-9.590Y16.600Z-2.000 +G1X-9.718Y16.764Z-2.000 +G1X-9.807Y16.870Z-2.000 +G3X-15.456Y17.166I-2.973J-2.677 +G3X-15.752Y11.517I2.677J-2.973 +G1X-15.653Y11.414Z-2.000 +G1X-15.478Y11.245Z-2.000 +G1X-15.513Y11.265Z-2.000 +G1X-15.697Y11.362Z-2.000 +G1X-15.820Y11.422Z-2.000 +G3X-21.102Y9.395I-1.627J-3.654 +G3X-19.074Y4.114I3.654J-1.627 +G1X-18.943Y4.061Z-2.000 +G1X-18.715Y3.978Z-2.000 +G1X-18.765Y3.982Z-2.000 +G1X-18.966Y3.996Z-2.000 +G1X-19.099Y4.000Z-2.000 +G3X-23.099Y0.000I0.000J-4.000 +G3X-19.099Y-4.000I4.000J0.000 +G1X-18.962Y-3.995Z-2.000 +G1X-18.717Y-3.979Z-2.000 +G1X-18.754Y-3.992Z-2.000 +G1X-18.948Y-4.063Z-2.000 +G1X-19.074Y-4.114Z-2.000 +G3X-21.102Y-9.395I1.627J-3.654 +G3X-15.820Y-11.422I3.654J1.627 +G1X-15.692Y-11.360Z-2.000 +G1X-15.478Y-11.245Z-2.000 +G1X-15.508Y-11.274Z-2.000 +G1X-15.657Y-11.418Z-2.000 +G1X-15.752Y-11.517Z-2.000 +G3X-15.456Y-17.166I2.973J-2.677 +G3X-9.807Y-16.870I2.677J2.973 +G1X-9.717Y-16.762Z-2.000 +G1X-9.566Y-16.570Z-2.000 +G1X-9.582Y-16.606Z-2.000 +G1X-9.659Y-16.799Z-2.000 +G1X-9.706Y-16.928Z-2.000 +G3X-7.138Y-21.968I3.804J-1.236 +G3X-2.098Y-19.400I1.236J3.804 +G1X-2.059Y-19.265Z-2.000 +G1X-2.000Y-19.029Z-2.000 +G1X-1.999Y-19.071Z-2.000 +G1X-1.991Y-19.277Z-2.000 +G1X-1.982Y-19.412Z-2.000 +G3X2.414Y-22.972I3.978J0.418 +G3X5.974Y-18.576I-0.418J3.978 +G1X5.955Y-18.435Z-2.000 +G1X5.912Y-18.197Z-2.000 +G1X5.933Y-18.241Z-2.000 +G1X6.022Y-18.422Z-2.000 +G1X6.085Y-18.540Z-2.000 +G3X11.549Y-20.004I3.464J2.000 +G3X13.013Y-14.540I-2.000J3.464 +G1X12.939Y-14.421Z-2.000 +G1X12.802Y-14.218Z-2.000 +G1X12.831Y-14.242Z-2.000 +G1X12.990Y-14.376Z-2.000 +G1X13.100Y-14.462Z-2.000 +G3X18.687Y-13.577I2.351J3.236 +G3X17.802Y-7.990I-3.236J2.351 +G1X17.684Y-7.910Z-2.000 +G1X17.478Y-7.782Z-2.000 +G1X17.521Y-7.795Z-2.000 +G1X17.718Y-7.851Z-2.000 +G1X17.850Y-7.883Z-2.000 +G3X22.594Y-4.802I0.832J3.913 +G3X19.513Y-0.058I-3.913J0.832 +G1X19.374Y-0.034Z-2.000 +G1X19.133Y0.000Z-2.000 +G1X19.179Y0.006Z-2.000 +G1X19.380Y0.035Z-2.000 +G1X19.513Y0.058Z-2.000 +G3X22.594Y4.802I-0.832J3.913 +G3X17.850Y7.883I-3.913J-0.832 +G1X17.712Y7.849Z-2.000 +G1X17.477Y7.782Z-2.000 +G00X17.477Y7.782Z6.000 +G00Z10 +G00X0.000Y0.000 +M09 +M30 +% diff --git a/tests/test-files/Heart.tap b/tests/test-files/Heart.tap new file mode 100644 index 0000000..d6f6378 --- /dev/null +++ b/tests/test-files/Heart.tap @@ -0,0 +1,482 @@ +(Created 5:36:41 AM 5/1/2011 from Valsheartredo.dxf) +(Post = Mikes Mach3 Router) +(Tool 8 = .250 Vee bit) +N0001 G90 G91.1 +N0002 G20 M03 +N0003 G00 X0.0387 Y0.5609 Z0.5000 +N0004 G00 X0.0387 Y0.5609 Z0.5000 +N0005 G01 X0.0387 Y0.5609 Z-0.0500 F10.00 +N0006 G01 X0.0405 Y0.5562 Z-0.0500 F40.00 +N0007 G00 X0.0405 Y0.5562 Z0.5000 +N0008 G00 X0.2363 Y0.9069 Z0.5000 +N0009 G01 X0.2363 Y0.9069 Z-0.0500 F10.00 +N0010 G01 X0.2686 Y0.8922 Z-0.0500 F40.00 +N0011 G01 X0.3478 Y0.8751 Z-0.0500 +N0012 G01 X0.6941 Y0.8870 Z-0.0500 +N0013 G01 X0.6941 Y0.8910 Z-0.0500 +N0014 G01 X0.6706 Y0.9037 Z-0.0500 +N0015 G01 X0.4628 Y1.0331 Z-0.0500 +N0016 G01 X0.4158 Y1.0477 Z-0.0500 +N0017 G01 X0.3358 Y1.0622 Z-0.0500 +N0018 G01 X0.3000 Y1.0622 Z-0.0500 +N0019 G01 X0.2724 Y1.0565 Z-0.0500 +N0020 G01 X0.2490 Y1.0493 Z-0.0500 +N0021 G01 X0.2164 Y1.0224 Z-0.0500 +N0022 G01 X0.2093 Y1.0060 Z-0.0500 +N0023 G01 X0.2005 Y0.9826 Z-0.0500 +N0024 G01 X0.2005 Y0.9666 Z-0.0500 +N0025 G01 X0.2116 Y0.9423 Z-0.0500 +N0026 G01 X0.2363 Y0.9069 Z-0.0500 +N0027 G00 X0.2363 Y0.9069 Z0.5000 +N0028 G00 X0.3205 Y0.6344 Z0.5000 +N0029 G01 X0.3205 Y0.6344 Z-0.0500 F10.00 +N0030 G03 X0.3205 Y0.6344 I-0.0717 J0.0000 F40.00 +N0031 G00 X0.3205 Y0.6344 Z0.5000 +N0032 G00 X0.5429 Y0.2899 Z0.5000 +N0033 G01 X0.5429 Y0.2899 Z-0.0500 F10.00 +N0034 G01 X0.5747 Y0.2700 Z-0.0500 F40.00 +N0035 G01 X0.6344 Y0.2700 Z-0.0500 +N0036 G01 X0.6786 Y0.2807 Z-0.0500 +N0037 G01 X0.7015 Y0.2908 Z-0.0500 +N0038 G01 X0.7107 Y0.2969 Z-0.0500 +N0039 G01 X0.7865 Y0.3526 Z-0.0500 +N0040 G01 X0.8502 Y0.4044 Z-0.0500 +N0041 G01 X0.9135 Y0.4443 Z-0.0500 +N0042 G01 X1.0126 Y0.5009 Z-0.0500 +N0043 G01 X0.9927 Y0.5088 Z-0.0500 +N0044 G01 X0.7897 Y0.5088 Z-0.0500 +N0045 G01 X0.7341 Y0.5030 Z-0.0500 +N0046 G01 X0.6864 Y0.4953 Z-0.0500 +N0047 G01 X0.6388 Y0.4842 Z-0.0500 +N0048 G01 X0.5982 Y0.4658 Z-0.0500 +N0049 G01 X0.5715 Y0.4521 Z-0.0500 +N0050 G01 X0.5389 Y0.4252 Z-0.0500 +N0051 G01 X0.5285 Y0.3971 Z-0.0500 +N0052 G01 X0.5253 Y0.3777 Z-0.0500 +N0053 G01 X0.5229 Y0.3377 Z-0.0500 +N0054 G01 X0.5285 Y0.3140 Z-0.0500 +N0055 G01 X0.5429 Y0.2899 Z-0.0500 +N0056 G00 X0.5429 Y0.2899 Z0.5000 +N0057 G00 X1.0639 Y0.2294 Z0.5000 +N0058 G01 X1.0639 Y0.2294 Z-0.0500 F10.00 +N0059 G01 X1.1043 Y0.2120 Z-0.0500 F40.00 +N0060 G01 X1.1838 Y0.2063 Z-0.0500 +N0061 G01 X1.2272 Y0.2158 Z-0.0500 +N0062 G01 X1.3028 Y0.2469 Z-0.0500 +N0063 G01 X1.3187 Y0.2549 Z-0.0500 +N0064 G01 X1.3911 Y0.2845 Z-0.0500 +N0065 G01 X1.4024 Y0.2873 Z-0.0500 +N0066 G01 X1.4587 Y0.3002 Z-0.0500 +N0067 G01 X1.4826 Y0.3042 Z-0.0500 +N0068 G01 X1.5540 Y0.3138 Z-0.0500 +N0069 G01 X1.5580 Y0.3178 Z-0.0500 +N0070 G01 X1.5096 Y0.3487 Z-0.0500 +N0071 G01 X1.3991 Y0.3986 Z-0.0500 +N0072 G01 X1.2870 Y0.4236 Z-0.0500 +N0073 G01 X1.2676 Y0.4268 Z-0.0500 +N0074 G01 X1.2634 Y0.4292 Z-0.0500 +N0075 G01 X1.1758 Y0.4292 Z-0.0500 +N0076 G01 X1.1197 Y0.4101 Z-0.0500 +N0077 G01 X1.1038 Y0.4021 Z-0.0500 +N0078 G01 X1.0763 Y0.3854 Z-0.0500 +N0079 G01 X1.0494 Y0.3529 Z-0.0500 +N0080 G01 X1.0325 Y0.3138 Z-0.0500 +N0081 G01 X1.0348 Y0.2817 Z-0.0500 +N0082 G01 X1.0405 Y0.2501 Z-0.0500 +N0083 G01 X1.0639 Y0.2294 Z-0.0500 +N0084 G00 X1.0639 Y0.2294 Z0.5000 +N0085 G00 X0.8255 Y0.9547 Z0.5000 +N0086 G01 X0.8255 Y0.9547 Z-0.0500 F10.00 +N0087 G01 X0.9095 Y0.8958 Z-0.0500 F40.00 +N0088 G01 X0.9286 Y0.8862 Z-0.0500 +N0089 G01 X0.9731 Y0.8685 Z-0.0500 +N0090 G01 X1.0122 Y0.8577 Z-0.0500 +N0091 G01 X1.1557 Y0.8335 Z-0.0500 +N0092 G01 X1.2196 Y0.8273 Z-0.0500 +N0093 G01 X1.2186 Y0.8345 Z-0.0500 +N0094 G01 X1.1479 Y0.9228 Z-0.0500 +N0095 G01 X1.0723 Y0.9985 Z-0.0500 +N0096 G01 X1.0557 Y1.0095 Z-0.0500 +N0097 G01 X0.9893 Y1.0551 Z-0.0500 +N0098 G01 X0.9644 Y1.0689 Z-0.0500 +N0099 G01 X0.8772 Y1.0940 Z-0.0500 +N0100 G01 X0.8451 Y1.0916 Z-0.0500 +N0101 G01 X0.8096 Y1.0821 Z-0.0500 +N0102 G01 X0.7928 Y1.0626 Z-0.0500 +N0103 G01 X0.7857 Y1.0423 Z-0.0500 +N0104 G01 X0.7857 Y1.0263 Z-0.0500 +N0105 G01 X0.7985 Y0.9911 Z-0.0500 +N0106 G01 X0.8255 Y0.9547 Z-0.0500 +N0107 G00 X0.8255 Y0.9547 Z0.5000 +N0108 G00 X1.1887 Y1.0353 Z0.5000 +N0109 G01 X1.1887 Y1.0353 Z-0.0500 F10.00 +N0110 G01 X1.3987 Y0.8193 Z-0.0500 F40.00 +N0111 G01 X1.6290 Y0.6353 Z-0.0500 +N0112 G01 X1.8207 Y0.5049 Z-0.0500 +N0113 G01 X1.9832 Y0.6133 Z-0.0500 +N0114 G01 X2.0324 Y0.6512 Z-0.0500 +N0115 G01 X2.1679 Y0.7626 Z-0.0500 +N0116 G01 X2.2745 Y0.8591 Z-0.0500 +N0117 G01 X2.4337 Y1.0184 Z-0.0500 +N0118 G01 X2.6080 Y1.2340 Z-0.0500 +N0119 G01 X2.6398 Y1.2779 Z-0.0500 +N0120 G01 X2.7354 Y1.4211 Z-0.0500 +N0121 G01 X2.7912 Y1.5084 Z-0.0500 +N0122 G01 X2.8808 Y1.6947 Z-0.0500 +N0123 G01 X2.9126 Y1.7982 Z-0.0500 +N0124 G01 X2.9217 Y1.8347 Z-0.0500 +N0125 G01 X2.9251 Y1.8581 Z-0.0500 +N0126 G01 X2.9332 Y1.9418 Z-0.0500 +N0127 G01 X2.9353 Y2.0295 Z-0.0500 +N0128 G01 X2.9257 Y2.1169 Z-0.0500 +N0129 G01 X2.9142 Y2.1804 Z-0.0500 +N0130 G01 X2.8923 Y2.2409 Z-0.0500 +N0131 G01 X2.8429 Y2.3434 Z-0.0500 +N0132 G01 X2.8367 Y2.3526 Z-0.0500 +N0133 G01 X2.7801 Y2.4316 Z-0.0500 +N0134 G01 X2.7204 Y2.4913 Z-0.0500 +N0135 G01 X2.7037 Y2.5023 Z-0.0500 +N0136 G01 X2.6878 Y2.5142 Z-0.0500 +N0137 G01 X2.6372 Y2.5438 Z-0.0500 +N0138 G01 X2.5687 Y2.5775 Z-0.0500 +N0139 G01 X2.5416 Y2.5843 Z-0.0500 +N0140 G01 X2.4420 Y2.6044 Z-0.0500 +N0141 G01 X2.3900 Y2.6107 Z-0.0500 +N0142 G01 X2.2626 Y2.6107 Z-0.0500 +N0143 G01 X2.1435 Y2.5775 Z-0.0500 +N0144 G01 X2.0759 Y2.5462 Z-0.0500 +N0145 G01 X2.0233 Y2.5160 Z-0.0500 +N0146 G01 X1.9600 Y2.4714 Z-0.0500 +N0147 G01 X1.8844 Y2.3958 Z-0.0500 +N0148 G01 X1.8256 Y2.3155 Z-0.0500 +N0149 G01 X1.8247 Y2.3122 Z-0.0500 +N0150 G01 X1.8207 Y2.3082 Z-0.0500 +N0151 G01 X1.8016 Y2.3444 Z-0.0500 +N0152 G01 X1.7401 Y2.4347 Z-0.0500 +N0153 G01 X1.6973 Y2.4833 Z-0.0500 +N0154 G01 X1.6688 Y2.5023 Z-0.0500 +N0155 G01 X1.6528 Y2.5142 Z-0.0500 +N0156 G01 X1.5854 Y2.5498 Z-0.0500 +N0157 G01 X1.5186 Y2.5721 Z-0.0500 +N0158 G01 X1.4026 Y2.5890 Z-0.0500 +N0159 G01 X1.3591 Y2.5926 Z-0.0500 +N0160 G01 X1.2236 Y2.5988 Z-0.0500 +N0161 G01 X1.1839 Y2.5930 Z-0.0500 +N0162 G01 X1.1357 Y2.5844 Z-0.0500 +N0163 G01 X1.0328 Y2.5576 Z-0.0500 +N0164 G01 X0.9931 Y2.5383 Z-0.0500 +N0165 G01 X0.9139 Y2.4903 Z-0.0500 +N0166 G01 X0.8534 Y2.4356 Z-0.0500 +N0167 G01 X0.8185 Y2.3871 Z-0.0500 +N0168 G01 X0.7769 Y2.3205 Z-0.0500 +N0169 G01 X0.7552 Y2.2720 Z-0.0500 +N0170 G01 X0.7524 Y2.2608 Z-0.0500 +N0171 G01 X0.7357 Y2.1726 Z-0.0500 +N0172 G01 X0.7220 Y2.0494 Z-0.0500 +N0173 G01 X0.7241 Y1.9737 Z-0.0500 +N0174 G01 X0.7356 Y1.8625 Z-0.0500 +N0175 G01 X0.7592 Y1.7393 Z-0.0500 +N0176 G01 X0.8008 Y1.6231 Z-0.0500 +N0177 G01 X0.8048 Y1.6151 Z-0.0500 +N0178 G01 X0.8583 Y1.5007 Z-0.0500 +N0179 G01 X0.9360 Y1.3721 Z-0.0500 +N0180 G01 X1.0255 Y1.2380 Z-0.0500 +N0181 G01 X1.1111 Y1.1290 Z-0.0500 +N0182 G01 X1.1887 Y1.0353 Z-0.0500 +N0183 G00 X1.1887 Y1.0353 Z0.5000 +N0184 G00 X2.4457 Y0.8313 Z0.5000 +N0185 G01 X2.4457 Y0.8313 Z-0.0500 F10.00 +N0186 G01 X2.4497 Y0.8273 Z-0.0500 F40.00 +N0187 G01 X2.4656 Y0.8273 Z-0.0500 +N0188 G01 X2.4698 Y0.8296 Z-0.0500 +N0189 G01 X2.6012 Y0.8456 Z-0.0500 +N0190 G01 X2.6650 Y0.8619 Z-0.0500 +N0191 G01 X2.7128 Y0.8779 Z-0.0500 +N0192 G01 X2.7436 Y0.8919 Z-0.0500 +N0193 G01 X2.7884 Y0.9181 Z-0.0500 +N0194 G01 X2.8438 Y0.9587 Z-0.0500 +N0195 G01 X2.8447 Y0.9620 Z-0.0500 +N0196 G01 X2.8704 Y1.0029 Z-0.0500 +N0197 G01 X2.8728 Y1.0100 Z-0.0500 +N0198 G01 X2.8796 Y1.0423 Z-0.0500 +N0199 G01 X2.8637 Y1.0741 Z-0.0500 +N0200 G01 X2.8318 Y1.0900 Z-0.0500 +N0201 G01 X2.7602 Y1.0900 Z-0.0500 +N0202 G01 X2.7279 Y1.0793 Z-0.0500 +N0203 G01 X2.6654 Y1.0493 Z-0.0500 +N0204 G01 X2.6520 Y1.0392 Z-0.0500 +N0205 G01 X2.5603 Y0.9636 Z-0.0500 +N0206 G01 X2.5164 Y0.9197 Z-0.0500 +N0207 G01 X2.4865 Y0.8861 Z-0.0500 +N0208 G01 X2.4457 Y0.8313 Z-0.0500 +N0209 G00 X2.4457 Y0.8313 Z0.5000 +N0210 G00 X2.7478 Y0.4483 Z0.5000 +N0211 G01 X2.7478 Y0.4483 Z-0.0500 F10.00 +N0212 G01 X2.8915 Y0.3496 Z-0.0500 F40.00 +N0213 G01 X2.8995 Y0.3416 Z-0.0500 +N0214 G01 X2.8995 Y0.3377 Z-0.0500 +N0215 G01 X2.9186 Y0.3208 Z-0.0500 +N0216 G01 X2.9387 Y0.3049 Z-0.0500 +N0217 G01 X2.9755 Y0.2833 Z-0.0500 +N0218 G01 X2.9867 Y0.2805 Z-0.0500 +N0219 G01 X3.0349 Y0.2700 Z-0.0500 +N0220 G01 X3.0707 Y0.2700 Z-0.0500 +N0221 G01 X3.0943 Y0.2756 Z-0.0500 +N0222 G01 X3.1021 Y0.2787 Z-0.0500 +N0223 G01 X3.1264 Y0.2939 Z-0.0500 +N0224 G01 X3.1312 Y0.3054 Z-0.0500 +N0225 G01 X3.1423 Y0.3416 Z-0.0500 +N0226 G01 X3.1423 Y0.3735 Z-0.0500 +N0227 G01 X3.1367 Y0.3971 Z-0.0500 +N0228 G01 X3.1232 Y0.4217 Z-0.0500 +N0229 G01 X3.1105 Y0.4372 Z-0.0500 +N0230 G01 X3.0432 Y0.4778 Z-0.0500 +N0231 G01 X2.9755 Y0.4944 Z-0.0500 +N0232 G01 X2.7960 Y0.5128 Z-0.0500 +N0233 G01 X2.7283 Y0.5128 Z-0.0500 +N0234 G01 X2.6727 Y0.5070 Z-0.0500 +N0235 G01 X2.6567 Y0.5009 Z-0.0500 +N0236 G01 X2.7478 Y0.4483 Z-0.0500 +N0237 G00 X2.7478 Y0.4483 Z0.5000 +N0238 G00 X2.9751 Y0.8870 Z0.5000 +N0239 G01 X2.9751 Y0.8870 Z-0.0500 F10.00 +N0240 G01 X3.1383 Y0.8851 Z-0.0500 F40.00 +N0241 G01 X3.2339 Y0.8751 Z-0.0500 +N0242 G01 X3.3135 Y0.8751 Z-0.0500 +N0243 G01 X3.3531 Y0.8808 Z-0.0500 +N0244 G01 X3.4015 Y0.8942 Z-0.0500 +N0245 G01 X3.4290 Y0.9069 Z-0.0500 +N0246 G01 X3.4379 Y0.9181 Z-0.0500 +N0247 G01 X3.4596 Y0.9511 Z-0.0500 +N0248 G01 X3.4688 Y0.9746 Z-0.0500 +N0249 G01 X3.4620 Y0.9949 Z-0.0500 +N0250 G01 X3.4489 Y1.0263 Z-0.0500 +N0251 G01 X3.4369 Y1.0383 Z-0.0500 +N0252 G01 X3.3812 Y1.0582 Z-0.0500 +N0253 G01 X3.3056 Y1.0582 Z-0.0500 +N0254 G01 X3.2581 Y1.0448 Z-0.0500 +N0255 G01 X3.2056 Y1.0271 Z-0.0500 +N0256 G01 X3.0116 Y0.9140 Z-0.0500 +N0257 G01 X2.9751 Y0.8910 Z-0.0500 +N0258 G01 X2.9751 Y0.8870 Z-0.0500 +N0259 G00 X2.9751 Y0.8870 Z0.5000 +N0260 G00 X3.5005 Y0.6237 Z0.5000 +N0261 G01 X3.5005 Y0.6237 Z-0.0500 F10.00 +N0262 G03 X3.5005 Y0.6237 I-0.0717 J0.0000 F40.00 +N0263 G00 X3.5005 Y0.6237 Z0.5000 +N0264 G00 X2.1153 Y0.3138 Z0.5000 +N0265 G01 X2.1153 Y0.3138 Z-0.0500 F10.00 +N0266 G01 X2.1354 Y0.3115 Z-0.0500 F40.00 +N0267 G01 X2.2583 Y0.2923 Z-0.0500 +N0268 G01 X2.3784 Y0.2429 Z-0.0500 +N0269 G01 X2.4493 Y0.2091 Z-0.0500 +N0270 G01 X2.5293 Y0.2063 Z-0.0500 +N0271 G01 X2.5529 Y0.2119 Z-0.0500 +N0272 G01 X2.6009 Y0.2262 Z-0.0500 +N0273 G01 X2.6248 Y0.2501 Z-0.0500 +N0274 G01 X2.6260 Y0.2576 Z-0.0500 +N0275 G01 X2.6328 Y0.2779 Z-0.0500 +N0276 G01 X2.6328 Y0.3018 Z-0.0500 +N0277 G01 X2.6129 Y0.3576 Z-0.0500 +N0278 G01 X2.5810 Y0.3894 Z-0.0500 +N0279 G01 X2.5289 Y0.4165 Z-0.0500 +N0280 G01 X2.4974 Y0.4252 Z-0.0500 +N0281 G01 X2.3900 Y0.4252 Z-0.0500 +N0282 G01 X2.3425 Y0.4157 Z-0.0500 +N0283 G01 X2.2829 Y0.4002 Z-0.0500 +N0284 G01 X2.2303 Y0.3826 Z-0.0500 +N0285 G01 X2.1517 Y0.3487 Z-0.0500 +N0286 G01 X2.1073 Y0.3217 Z-0.0500 +N0287 G01 X2.1153 Y0.3138 Z-0.0500 +N0288 G00 X2.1153 Y0.3138 Z0.5000 +N0289 G00 X1.9085 Y0.2974 Z0.5000 +N0290 G01 X1.9085 Y0.2974 Z-0.0500 F10.00 +N0291 G03 X1.9085 Y0.2974 I-0.0717 J0.0000 F40.00 +N0292 G00 X1.9085 Y0.2974 Z0.5000 +N0293 G00 X0.3828 Y0.2298 Z0.5000 +N0294 G01 X0.3828 Y0.2298 Z-0.0500 F10.00 +N0295 G01 X0.4194 Y0.1784 Z-0.0500 F40.00 +N0296 G01 X0.4234 Y0.1784 Z-0.0500 +N0297 G01 X0.4314 Y0.1705 Z-0.0500 +N0298 G01 X0.4314 Y0.1665 Z-0.0500 +N0299 G01 X0.4919 Y0.1243 Z-0.0500 +N0300 G01 X0.5154 Y0.1155 Z-0.0500 +N0301 G01 X0.5667 Y0.1028 Z-0.0500 +N0302 G01 X0.6304 Y0.1028 Z-0.0500 +N0303 G01 X0.7144 Y0.1179 Z-0.0500 +N0304 G01 X0.7296 Y0.1239 Z-0.0500 +N0305 G01 X0.8052 Y0.1593 Z-0.0500 +N0306 G01 X0.8772 Y0.2103 Z-0.0500 +N0307 G01 X0.8864 Y0.1868 Z-0.0500 +N0308 G01 X0.8963 Y0.1661 Z-0.0500 +N0309 G01 X0.9170 Y0.1386 Z-0.0500 +N0310 G01 X0.9608 Y0.0948 Z-0.0500 +N0311 G01 X0.9843 Y0.0821 Z-0.0500 +N0312 G01 X1.0289 Y0.0602 Z-0.0500 +N0313 G01 X1.0639 Y0.0498 Z-0.0500 +N0314 G01 X1.1241 Y0.0391 Z-0.0500 +N0315 G01 X1.1917 Y0.0391 Z-0.0500 +N0316 G01 X1.2512 Y0.0487 Z-0.0500 +N0317 G01 X1.2988 Y0.0642 Z-0.0500 +N0318 G01 X1.3307 Y0.0797 Z-0.0500 +N0319 G01 X1.4230 Y0.1213 Z-0.0500 +N0320 G01 X1.4899 Y0.1394 Z-0.0500 +N0321 G01 X1.6101 Y0.1573 Z-0.0500 +N0322 G01 X1.6296 Y0.1665 Z-0.0500 +N0323 G03 X2.0396 Y0.1665 I0.2050 J0.1310 +N0324 G01 X2.0671 Y0.1573 Z-0.0500 +N0325 G01 X2.2145 Y0.1332 Z-0.0500 +N0326 G01 X2.3896 Y0.0536 Z-0.0500 +N0327 G01 X2.4616 Y0.0391 Z-0.0500 +N0328 G01 X2.5373 Y0.0391 Z-0.0500 +N0329 G01 X2.6007 Y0.0487 Z-0.0500 +N0330 G01 X2.6491 Y0.0658 Z-0.0500 +N0331 G01 X2.6919 Y0.0878 Z-0.0500 +N0332 G01 X2.7037 Y0.0958 Z-0.0500 +N0333 G01 X2.7323 Y0.1187 Z-0.0500 +N0334 G01 X2.7592 Y0.1514 Z-0.0500 +N0335 G01 X2.7841 Y0.2103 Z-0.0500 +N0336 G01 X2.7920 Y0.2143 Z-0.0500 +N0337 G01 X2.8079 Y0.1943 Z-0.0500 +N0338 G01 X2.8842 Y0.1435 Z-0.0500 +N0339 G01 X2.9668 Y0.1139 Z-0.0500 +N0340 G01 X3.0229 Y0.1028 Z-0.0500 +N0341 G01 X3.0786 Y0.1028 Z-0.0500 +N0342 G01 X3.1228 Y0.1096 Z-0.0500 +N0343 G01 X3.1815 Y0.1316 Z-0.0500 +N0344 G01 X3.2299 Y0.1625 Z-0.0500 +N0345 G01 X3.2299 Y0.1665 Z-0.0500 +N0346 G01 X3.2379 Y0.1744 Z-0.0500 +N0347 G01 X3.2419 Y0.1744 Z-0.0500 +N0348 G01 X3.2618 Y0.1943 Z-0.0500 +N0349 G01 X3.2845 Y0.2385 Z-0.0500 +N0350 G01 X3.2944 Y0.2616 Z-0.0500 +N0351 G01 X3.3095 Y0.3257 Z-0.0500 +N0352 G01 X3.3095 Y0.3854 Z-0.0500 +N0353 G01 X3.3016 Y0.4252 Z-0.0500 +N0354 G03 X3.5563 Y0.7994 I0.1220 J0.1908 +N0355 G01 X3.5772 Y0.8227 Z-0.0500 +N0356 G01 X3.6029 Y0.8675 Z-0.0500 +N0357 G01 X3.6151 Y0.8916 Z-0.0500 +N0358 G01 X3.6263 Y0.9231 Z-0.0500 +N0359 G01 X3.6297 Y0.9465 Z-0.0500 +N0360 G01 X3.6320 Y0.9507 Z-0.0500 +N0361 G01 X3.6320 Y1.0104 Z-0.0500 +N0362 G01 X3.6113 Y1.0737 Z-0.0500 +N0363 G01 X3.5912 Y1.1131 Z-0.0500 +N0364 G01 X3.5732 Y1.1346 Z-0.0500 +N0365 G01 X3.5404 Y1.1697 Z-0.0500 +N0366 G01 X3.4962 Y1.1967 Z-0.0500 +N0367 G01 X3.4208 Y1.2197 Z-0.0500 +N0368 G01 X3.3974 Y1.2231 Z-0.0500 +N0369 G01 X3.3931 Y1.2254 Z-0.0500 +N0370 G01 X3.3095 Y1.2254 Z-0.0500 +N0371 G01 X3.2580 Y1.2158 Z-0.0500 +N0372 G01 X3.2375 Y1.2107 Z-0.0500 +N0373 G01 X3.1308 Y1.1768 Z-0.0500 +N0374 G01 X3.0820 Y1.1507 Z-0.0500 +N0375 G01 X3.0309 Y1.1219 Z-0.0500 +N0376 G03 X2.8318 Y1.2612 I-0.1718 J-0.0335 +N0377 G01 X2.8686 Y1.3203 Z-0.0500 +N0378 G01 X2.9185 Y1.3972 Z-0.0500 +N0379 G01 X2.9521 Y1.4559 Z-0.0500 +N0380 G01 X3.0281 Y1.6151 Z-0.0500 +N0381 G01 X3.0810 Y1.7750 Z-0.0500 +N0382 G01 X3.0842 Y1.7944 Z-0.0500 +N0383 G01 X3.1025 Y1.9260 Z-0.0500 +N0384 G01 X3.1025 Y2.0534 Z-0.0500 +N0385 G01 X3.0814 Y2.1923 Z-0.0500 +N0386 G01 X3.0613 Y2.2680 Z-0.0500 +N0387 G01 X3.0221 Y2.3635 Z-0.0500 +N0388 G01 X3.0062 Y2.3914 Z-0.0500 +N0389 G01 X2.9482 Y2.4840 Z-0.0500 +N0390 G01 X2.8836 Y2.5629 Z-0.0500 +N0391 G01 X2.8126 Y2.6276 Z-0.0500 +N0392 G01 X2.7674 Y2.6615 Z-0.0500 +N0393 G01 X2.6810 Y2.7075 Z-0.0500 +N0394 G01 X2.6491 Y2.7194 Z-0.0500 +N0395 G01 X2.5449 Y2.7564 Z-0.0500 +N0396 G01 X2.5256 Y2.7596 Z-0.0500 +N0397 G01 X2.4576 Y2.7739 Z-0.0500 +N0398 G01 X2.2347 Y2.7739 Z-0.0500 +N0399 G01 X2.0758 Y2.7287 Z-0.0500 +N0400 G01 X2.0002 Y2.6935 Z-0.0500 +N0401 G01 X1.9557 Y2.6712 Z-0.0500 +N0402 G01 X1.8353 Y2.5836 Z-0.0500 +N0403 G01 X1.8039 Y2.6057 Z-0.0500 +N0404 G01 X1.7721 Y2.6336 Z-0.0500 +N0405 G01 X1.7447 Y2.6537 Z-0.0500 +N0406 G01 X1.7338 Y2.6594 Z-0.0500 +N0407 G01 X1.6850 Y2.6891 Z-0.0500 +N0408 G01 X1.6181 Y2.7154 Z-0.0500 +N0409 G01 X1.5145 Y2.7435 Z-0.0500 +N0410 G01 X1.4304 Y2.7562 Z-0.0500 +N0411 G01 X1.3790 Y2.7598 Z-0.0500 +N0412 G01 X1.1997 Y2.7620 Z-0.0500 +N0413 G01 X1.1283 Y2.7524 Z-0.0500 +N0414 G01 X1.0606 Y2.7405 Z-0.0500 +N0415 G01 X0.9493 Y2.7015 Z-0.0500 +N0416 G01 X0.9246 Y2.6911 Z-0.0500 +N0417 G01 X0.8342 Y2.6376 Z-0.0500 +N0418 G01 X0.8009 Y2.6117 Z-0.0500 +N0419 G01 X0.7130 Y2.5240 Z-0.0500 +N0420 G01 X0.6831 Y2.4866 Z-0.0500 +N0421 G01 X0.6392 Y2.4153 Z-0.0500 +N0422 G01 X0.6177 Y2.3762 Z-0.0500 +N0423 G01 X0.5960 Y2.3198 Z-0.0500 +N0424 G01 X0.5813 Y2.2647 Z-0.0500 +N0425 G01 X0.5606 Y2.1170 Z-0.0500 +N0426 G01 X0.5569 Y2.0655 Z-0.0500 +N0427 G01 X0.5548 Y1.9618 Z-0.0500 +N0428 G01 X0.5651 Y1.8620 Z-0.0500 +N0429 G01 X0.6041 Y1.6755 Z-0.0500 +N0430 G01 X0.6555 Y1.5363 Z-0.0500 +N0431 G01 X0.7188 Y1.4129 Z-0.0500 +N0432 G01 X0.8096 Y1.2572 Z-0.0500 +N0433 G03 X0.6304 Y1.1259 I-0.0096 J-0.1747 +N0434 G01 X0.5992 Y1.1467 Z-0.0500 +N0435 G01 X0.5464 Y1.1764 Z-0.0500 +N0436 G01 X0.4835 Y1.2027 Z-0.0500 +N0437 G01 X0.3796 Y1.2254 Z-0.0500 +N0438 G01 X0.2602 Y1.2254 Z-0.0500 +N0439 G01 X0.2128 Y1.2126 Z-0.0500 +N0440 G01 X0.1961 Y1.2063 Z-0.0500 +N0441 G01 X0.1368 Y1.1776 Z-0.0500 +N0442 G01 X0.1213 Y1.1609 Z-0.0500 +N0443 G01 X0.1089 Y1.1537 Z-0.0500 +N0444 G01 X0.0701 Y1.1052 Z-0.0500 +N0445 G01 X0.0441 Y1.0466 Z-0.0500 +N0446 G01 X0.0356 Y1.0067 Z-0.0500 +N0447 G01 X0.0333 Y0.9547 Z-0.0500 +N0448 G01 X0.0425 Y0.9153 Z-0.0500 +N0449 G01 X0.0683 Y0.8548 Z-0.0500 +N0450 G01 X0.1089 Y0.7994 Z-0.0500 +N0451 G03 X0.3602 Y0.4257 I0.1455 J-0.1735 +N0452 G01 X0.3558 Y0.3814 Z-0.0500 +N0453 G01 X0.3558 Y0.3297 Z-0.0500 +N0454 G01 X0.3620 Y0.3016 Z-0.0500 +N0455 G01 X0.3689 Y0.2624 Z-0.0500 +N0456 G01 X0.3828 Y0.2298 Z-0.0500 +N0457 G00 X0.3828 Y0.2298 Z0.5000 +N0458 G00 X0.5154 Y0.7008 Z0.5000 +N0459 G01 X0.5154 Y0.7008 Z-0.0500 F10.00 +N0460 G03 X0.5230 Y0.6501 I0.0034 J-0.0254 F40.00 +N0461 G02 X1.6128 Y0.4423 I0.2500 J-1.6504 +N0462 G03 X1.6296 Y0.4969 I0.0011 J0.0295 +N0463 G03 X0.5146 Y0.7007 I-0.8398 J-1.4426 +N0464 G00 X0.5146 Y0.7007 Z0.5000 +N0465 G00 X1.8207 Y1.4486 Z0.5000 +N0466 G01 X1.8207 Y1.4486 Z-0.0500 F10.00 +N0467 G01 X1.8258 Y1.4651 Z-0.0500 F40.00 +N0468 G00 X1.8258 Y1.4651 Z0.5000 +N0469 G00 X1.9991 Y0.4943 Z0.5000 +N0470 G01 X1.9991 Y0.4943 Z-0.0500 F10.00 +N0471 G03 X2.0245 Y0.4498 I0.0123 J-0.0225 F40.00 +N0472 G02 X3.1158 Y0.6500 I0.8298 J-1.4484 +N0473 G03 X3.1117 Y0.7070 I-0.0096 J0.0279 +N0474 G03 X1.9984 Y0.4939 I-0.2614 J-1.6486 +N0475 G00 X1.9984 Y0.4939 Z0.5000 +N0476 M05 +N0477 M02 +N0478 M30 +N0479 % diff --git a/tests/test-files/Horse.tap b/tests/test-files/Horse.tap new file mode 100644 index 0000000..9bd7143 --- /dev/null +++ b/tests/test-files/Horse.tap @@ -0,0 +1,354 @@ +( Horse ) +N100G00G21G17G90G40G49G80 +N110G71G91.1 +N120T1M06 +N130(ENGRAVING - 20 DEG TIP 0.1) +N140G00G43Z6H1 +N150S12000M03 +N160 +N170 +N180G94 +N190X0Y0F600.0 +N200G00X.25Y1.75 +N210G1Z-0.2 +N220G2X.2Y2.5I.3J.4 +N230G3X1.85Y4.5I-9J9 +N240G3X.5Y6.75I-1.25J.8 +N250G2X-.3Y7.6I-.05J.75 +N260G2X1.4Y13.3I19.05J-2.6 +N270G3X2.35Y16.05I-12.45J5.95 +N280G3X4.05Y24.7I-120.15J28.25 +N290G1X4.3Y25.2 +N300G3X4.15Y25.8I-.25J.25 +N310G3X3.65Y25.4I-.1J-.35 +N320G2X3.35Y23.15I-8.95J.05 +N330G1X2.95Y21.6 +N340G2X2.55Y21.4I-.3J.05 +N350G1X3.05Y22.85 +N360G1X2.4Y21.7 +N370G1X2.15Y21.5 +N380G1X1.95Y21.55 +N390G1X2.75Y22.75 +N400G1X2.9Y23.1 +N410G1X2.8Y23.2 +N420G3X2.5Y22.95I-.05J-.25 +N430G2X1.75Y21.65I-2.15J.3 +N440G2X1.45Y21.95I-.15J.15 +N450G3X2.25Y23.2I-1.6J1.85 +N460G2X3.4Y26I9.15J-2.25 +N470G3X3.1Y26.7I-.4J.25 +N480G1X2.95Y26.65 +N490G1X2.9Y26.1 +N500G2X2Y24.25I-5.8J1.6 +N510G2X1.05Y23.5I-1.65J1.15 +N520G1X.95Y23.5 +N530G1X.9Y23.6 +N540G3X1.8Y24.6I-1.65J2.45 +N550G3X3.05Y27.65I-10.35J5.95 +N560G2X3.8Y29.1I3.3J-.8 +N570G3X3.75Y29.45I-.2J.15 +N580G3X3.4Y29.35I-.15J-.2 +N590G3X3.05Y28.15I3.65J-1.7 +N600G1X2.8Y27.5 +N610G1X2.7Y27.55 +N620G1X2.8Y27.9 +N630G1X3.4Y30.3 +N640G3X3.5Y31.6I-2.7J.9 +N650G3X3.35Y31.65I-.1J0 +N660G1X3.2Y31.2 +N670G1X2.9Y30.1 +N680G2X2.6Y30.65I.05J.4 +N690G3X3.15Y32.85I-10.65J3.85 +N700G1X3.75Y35.6 +N710G1X5.1Y39.7 +N720G2X5.5Y40.25I1.1J-.4 +N730G3X5.45Y40.95I-.25J.35 +N740G1X4.65Y39.25 +N750G2X4.45Y40.2I.15J.5 +N760G3X6.2Y43.4I-2.85J3.65 +N770G1X6.4Y44.55 +N780G1X6.55Y45.7 +N790G1X6.55Y45.95 +N800G2X6.75Y45.95I.1J0 +N810G1X6.65Y45.85 +N820G1X6.55Y45.75 +N830G1X6.55Y45.7 +N840G1X6.4Y44.45 +N850G2X6.15Y44.25I-.2J0 +N860G2X6Y44.5I0J.2 +N870G1X6.25Y45.75 +N880G1X6.65Y47 +N890G1X7.3Y48.6 +N900G3X6.8Y48.85I-.25J.1 +N910G1X6.55Y48.05 +N920G1X6.25Y47.25 +N930G1X6Y46.9 +N940G1X5.95Y46.85 +N950G1X5.95Y46.7 +N960G1X5.95Y46.5 +N970G1X5.9Y46.3 +N980G1X5.8Y46.3 +N990G1X5.8Y46.35 +N1000G1X5.85Y46.4 +N1010G1X5.95Y46.75 +N1020G1X5.95Y47.05 +N1030G1X6.25Y48.35 +N1040G1X7Y50.1 +N1050G3X6.9Y50.4I-.2J.1 +N1060G3X6.6Y50.3I-.1J-.2 +N1070G1X5.9Y49.1 +N1080G3X5.85Y48.4I.55J-.4 +N1090G1X5.75Y48.25 +N1100G1X5.65Y48.35 +N1110G2X6.25Y50.6I6.3J-.55 +N1120G3X7.25Y54.8I-8.5J4.2 +N1130G1X7.15Y54.95 +N1140G1X7Y54.8 +N1150G1X6.95Y54.45 +N1160G1X6.85Y53.95 +N1170G2X6.65Y53.8I-.2J0 +N1180G2X6.5Y54I0J.2 +N1190G1X6.6Y54.5 +N1200G3X7.05Y56.35I-4.7J2.05 +N1210G2X7.9Y59.45I7.1J-.3 +N1220G3X7.6Y60.2I-.5J.25 +N1230G1X7.45Y60.15 +N1240G1X7.15Y59.4 +N1250G2X6.9Y59.35I-.15J.1 +N1260G2X6.85Y59.6I.1J.15 +N1270G1X7.45Y60.55 +N1280G3X8.25Y64.85I-7.3J3.6 +N1290G2X12.15Y71.9I7.25J.6 +N1300G2X23.2Y75.55I16.65J-32.2 +N1310G2X36.7Y75.75I7.5J-48.2 +N1320G3X58.4Y74.4I22.25J180.2 +N1330G3X66.05Y75.65I.05J23 +N1340G2X73.8Y76.55I5.9J-17 +N1350G2X78.25Y74.4I-.75J-7.15 +N1360G3X78.5Y74.5I.1J.1 +N1370G3X78.4Y74.95I-.45J.1 +N1380G1X78.1Y75.15 +N1390G1X77.85Y75.4 +N1400G1X77.25Y75.85 +N1410G2X78Y75.95I.4J-.2 +N1420G3X80.05Y73.9I10.6J8.55 +N1430G2X83.6Y70.7I-28.3J-34.85 +N1440G2X90.6Y63.3I-143J-141.9 +N1450G2X92Y61.4I-9.1J-8.15 +N1460G3X93.15Y60.9I.95J.55 +N1470G2X93.55Y60.35I.1J-.35 +N1480G3X93.65Y59.75I.45J-.25 +N1490G1X94.9Y58.5 +N1500G3X95.3Y58.4I.3J.25 +N1510G1X95.3Y58.8 +N1520G2X95.55Y58.6I0J-.2 +N1530G3X95.95Y57.55I1.75J.1 +N1540G2X99.7Y52.6I-38.9J-33.25 +N1550G2X100.9Y50.1I-8.7J-5.75 +N1560G2X101.75Y45.9I-16.3J-5.3 +N1570G3X104.2Y38.45I15.75J1.1 +N1580G2X105Y36.4I-4.5J-2.9 +N1590G3X106.15Y36.05I.7J.1 +N1600G2X107.8Y36.95I2.1J-1.8 +N1610G2X108.15Y36.35I.05J-.35 +N1620G1X107.8Y36 +N1630G3X107.3Y35.25I.85J-1.1 +N1640G1X107.3Y34.75 +N1650G1X107.45Y34.7 +N1660G1X110.25Y37.15 +N1670G2X111.15Y36.4I.4J-.45 +N1680G1X110.75Y35.8 +N1690G3X109.35Y33.3I5.25J-4.5 +N1700G2X108.2Y32.05I-1.85J.55 +N1710G3X107.35Y30.6I.5J-1.3 +N1720G2X109.15Y9.65I-310J-37.3 +N1730G2X108.65Y6.15I-8.85J-.45 +N1740G2X107.3Y5.1I-1.55J.55 +N1750G2X101Y5.15I-2.95J21.8 +N1760G2X100.15Y5.65I.2J1.35 +N1770G2X98.9Y8.15I5.35J4.2 +N1780G2X98.8Y9.7I4.1J1.1 +N1790G3X98.4Y11.25I-2.05J.25 +N1800G2X95.8Y14.85I37.3J29.25 +N1810G3X93.2Y18.5I-34.35J-22.05 +N1820G2X92.65Y23.6I3.65J2.95 +N1830G3X92.3Y33.15I-8.65J4.45 +N1840G1X86.4Y42.65 +N1850G3X83.9Y44.05I-2.5J-1.6 +N1860G3X83.2Y43.55I0J-.7 +N1870G2X81.45Y40.9I-5.35J1.6 +N1880G1X79.55Y39.45 +N1890G3X77.9Y37.75I3J-4.5 +N1900G2X76.9Y36.6I-3.55J2.15 +N1910G3X76.05Y35.4I1.6J-2.1 +N1920G3X75.95Y32.5I4.65J-1.6 +N1930G2X76.7Y20.9I-27.25J-7.55 +N1940G3X77Y12.95I21.6J-3.15 +N1950G3X78.75Y9I10.8J2.4 +N1960G3X80.5Y7.35I4.95J3.55 +N1970G2X82.1Y5.6I-2.5J-3.95 +N1980G1X83Y4.1 +N1990G2X82.45Y2.75I-.75J-.45 +N2000G2X79.9Y2.35I-3.45J13.3 +N2010G2X77.5Y4I-.15J2.35 +N2020G3X77.1Y4.2I-.3J-.1 +N2030G2X76.5Y5.75I-.15J.85 +N2040G3X76.05Y7I-.4J.6 +N2050G2X73.7Y7.4I-.45J4.5 +N2060G2X73.25Y8.05I.3J.7 +N2070G1X73.1Y11.1 +N2080G1X72.45Y17.85 +N2090G1X71.3Y26.75 +N2100G1X71.35Y27.45 +N2110G3X70.95Y28I-.45J.1 +N2120G3X70.35Y27.55I-.05J-.55 +N2130G2X69.5Y24.7I-12.95J2.25 +N2140G1X63.65Y10.85 +N2150G3X64.05Y5.55I5.35J-2.25 +N2160G2X65.9Y2.15I-27.8J-17.15 +N2170G2X64.95Y.55I-1J-.45 +N2180G2X60.45Y1I-.95J14.2 +N2190G2X59.65Y1.95I.25J1 +N2200G3X58.8Y2.8I-.85J0 +N2210G2X58.45Y3.3I0J.4 +N2220G2X59.6Y5.7I9.55J-3 +N2230G3X59.5Y8.35I-1.95J1.25 +N2240G1X59.25Y8.55 +N2250G2X58.55Y9.5I.15J.85 +N2260G2X59.6Y13.1I13J-1.9 +N2270G3X64.75Y27.1I-85.8J39.55 +N2280G2X68.5Y36.9I57.75J-16.2 +N2290G3X67.2Y39.4I-1.6J.75 +N2300G3X62.85Y39.4I-2.05J-12.45 +N2310G2X45.6Y40.2I-6.85J37.85 +N2320G2X39Y42.9I8.25J29.4 +N2330G2X33.85Y46.75I12.1J21.8 +N2340G3X32.05Y46.1I-.75J-.75 +N2350G2X30.7Y42.95I-5.95J.7 +N2360G3X28.7Y39.45I8.85J-7.4 +N2370G3X24.2Y22.45I91.3J-33.1 +N2380G3X24.35Y15.65I17.85J-3 +N2390G3X27.25Y8.25I24.15J5.2 +N2400G3X30.85Y4.75I8.2J4.85 +N2410G2X33.6Y.55I-2.6J-4.65 +N2420G2X32.75Y-.25I-.75J-.05 +N2430G3X28.3Y.05I-4.3J-29.6 +N2440G2X25.85Y.35I-.05J10.15 +N2450G2X25.55Y.75I.1J.4 +N2460G2X25.7Y1.7I2.45J.1 +N2470G3X25.6Y2.7I-1.05J.4 +N2480G1X25.55Y3.1 +N2490G3X24.75Y4.5I-1J.35 +N2500G1X22.55Y4.95 +N2510G2X20.9Y6.45I.55J2.25 +N2520G2X19.75Y13.5I18.15J6.5 +N2530G3X17.15Y26.45I-29.6J.8 +N2540G1X16.8Y26.9 +N2550G2X16.6Y27.45I.35J.45 +N2560G2X17.45Y29.6I6.3J-1.25 +N2570G3X20Y38.6I-14.1J8.8 +N2580G2X20.2Y39.7I3.1J.05 +N2590G3X19.6Y40I-.3J.1 +N2600G1X18.45Y38.7 +N2610G3X17.7Y37.15I1.8J-1.85 +N2620G3X18.25Y36.45I.65J-.05 +N2630G2X18.4Y35.55I-.05J-.45 +N2640G2X17.8Y36.3I-.25J.45 +N2650G3X17.55Y36.75I-.25J.2 +N2660G3X17.05Y36.15I.05J-.5 +N2670G1X17.75Y33.35 +N2680G1X18.15Y32.45 +N2690G2X18.1Y32.2I-.15J-.1 +N2700G1X17.35Y33.45 +N2710G1X17.8Y31.9 +N2720G1X17.75Y30.85 +N2730G2X17.5Y31.05I0J.2 +N2740G1X17.3Y32.2 +N2750G1X17.15Y33.2 +N2760G3X16.85Y34.15I-1.95J-.1 +N2770G3X16.6Y34.1I-.1J-.05 +N2780G3X16.65Y32.7I3.8J-.5 +N2790G1X17.3Y30.65 +N2800G1X17.4Y30.15 +N2810G1X17.3Y29.65 +N2820G1X17.05Y29.15 +N2830G1X16.85Y28.6 +N2840G1X16.8Y28.7 +N2850G1X16.8Y28.85 +N2860G3X16.05Y33I-11.55J0 +N2870G3X15.5Y33.25I-.4J-.15 +N2880G3X15.2Y32.6I.15J-.45 +N2890G2X16.05Y29.95I-11.5J-5.15 +N2900G1X16.4Y29.1 +N2910G1X16.7Y28.25 +N2920G1X16.6Y27.85 +N2930G3X16.4Y26.35I1.35J-.95 +N2940G1X16.6Y26.05 +N2950G1X16.8Y25.7 +N2960G1X17.55Y21.8 +N2970G1X16.65Y25.2 +N2980G3X16.3Y24.6I.1J-.45 +N2990G2X16.85Y22I-9.2J-3.25 +N3000G1X16.9Y21.75 +N3010G1X16.95Y21.5 +N3020G1X16.95Y21.3 +N3030G1X17Y21.25 +N3040G1X17.1Y21.3 +N3050G1X17.05Y21.35 +N3060G1X17Y21.45 +N3070G1X16.95Y21.5 +N3080G2X17.05Y22.75I2.95J.4 +N3090G3X16.6Y23.3I-.4J.1 +N3100G1X16.9Y21.05 +N3110G2X16.5Y21.4I-.1J.3 +N3120G3X16.2Y23.5I-4.85J.45 +N3130G2X16.2Y24.15I1J.35 +N3140G3X15.75Y24.6I-.35J.1 +N3150G1X16.1Y21.75 +N3160G2X15.65Y22.15I-.05J.35 +N3170G3X15.45Y24.35I-6.55J.55 +N3180G2X15Y28.05I14.1J3.75 +N3190G3X14.45Y28.8I-.85J0 +N3200G3X13.85Y28.3I-.15J-.4 +N3210G1X14.35Y25.6 +N3220G1X14.55Y24.75 +N3230G1X15.45Y21.35 +N3240G2X15.2Y21.3I-.1J-.05 +N3250G2X14.7Y23.05I6J2.8 +N3260G1X14.3Y24.35 +N3270G1X14.1Y24.45 +N3280G1X14.2Y21.9 +N3290G1X14Y22.75 +N3300G1X14.05Y21.9 +N3310G1X13.95Y21.6 +N3320G1X13.9Y21.6 +N3330G1X13.05Y26.75 +N3340G1X12.65Y28.55 +N3350G3X12.15Y28.5I-.25J-.05 +N3360G1X11.85Y26.95 +N3370G1X11.3Y25.75 +N3380G3X10.8Y24.55I2.55J-1.7 +N3390G1X10.85Y24.05 +N3400G1X11.25Y22.1 +N3410G1X11.55Y21.55 +N3420G2X11.4Y20.95I-.25J-.25 +N3430G2X11.1Y21.1I-.05J.25 +N3440G2X10.7Y22.6I5.25J2.2 +N3450G2X10.75Y24.05I5.15J.65 +N3460G3X10.55Y24.4I-.3J.05 +N3470G3X9.8Y24.1I-.2J-.6 +N3480G3X8.1Y20I16.95J-9.45 +N3490G3X6.35Y10.3I47.2J-13.5 +N3500G3X8Y2.25I14.85J-1.15 +N3510G2X8.05Y.8I-1.4J-.75 +N3520G2X7Y.1I-1.15J.55 +N3530G1X3.6Y-.2 +N3540G2X1.45Y1.8I-.15J2 +N3550G3X.95Y1.9I-.25J0 +N3560G2X.25Y1.75I-.4J.25 +N3570G00X.25Y1.75 +N3580G00Z6 +N3590G00X0Y0 +N3600M05 +N3610M30 +N3620% diff --git a/tests/test-files/Horse2.tap b/tests/test-files/Horse2.tap new file mode 100644 index 0000000..aeb7db2 --- /dev/null +++ b/tests/test-files/Horse2.tap @@ -0,0 +1,157 @@ +( Horse2 ) +N100G00G21G17G90G40G49G80 +N110G71G91.1 +N120T1M06 +N130(ENGRAVING - 20 DEG TIP 0.1) +N140G00G43Z6H1 +N150S12000M03 +N160 +N170 +N180G94 +N190X0Y0F600 +N200G00X44.05Y21.75 +N210G1Z-0.2 +N220G3X50.4Y15.75I39.9J36 +N230G3X50.65Y15.85I.1J.15 +N240G3X50.75Y16.7I-1.6J.65 +N250G2X51.35Y17.6I.8J.1 +N260G2X55.2Y18.05I3.05J-10.25 +N270G3X60.3Y18.75I.9J12.3 +N280G3X65.8Y21.85I-6.35J17.5 +N290G3X67.15Y26.55I-2.75J3.35 +N300G2X66.15Y31.4I18.55J6.2 +N310G3X65.35Y33.45I-3.65J-.25 +N320G1X62.6Y36.55 +N330G3X54.55Y39.5I-7.15J-6.95 +N340G2X45.95Y39.55I-4.15J46.35 +N350G2X42.65Y40.5I.85J9.15 +N360G3X41.8Y40.15I-.25J-.5 +N370G3X41.75Y38.45I3.55J-.9 +N380G2X41.65Y31.6I-14.1J-3.15 +N390G3X44.05Y21.75I10.3J-2.7 +N400G00Z6 +N410G00X8.35Y73.5 +N420G1Z-0.2 +N430G3X6.95Y75.75I-3.3J-.5 +N440G3X6Y75.1I-.35J-.5 +N450G3X7.65Y73I3.25J.85 +N460G3X8.35Y73.5I.2J.4 +N470G00Z6 +N480G00X10.6Y74.8 +N490G1Z-0.2 +N500G1X13.45Y68.6 +N510G2X14.05Y64.9I-6.9J-3 +N520G3X14.8Y64.25I.6J-.05 +N530G3X16.9Y65.75I-1.25J4 +N540G2X25.45Y71.45I12.4J-9.3 +N550G2X42.75Y72.55I11.45J-44.45 +N560G3X52.1Y72.6I4.4J34.3 +N570G3X69.15Y79.15I-5.85J40.65 +N580G2X87Y82.7I13.15J-19.6 +N590G2X97.5Y79.05I-8.55J-41.65 +N600G2X102Y75.8I-7.8J-15.55 +N610G1X101.95Y76.5 +N620G1X101.85Y77.15 +N630G1X102.05Y76.55 +N640G3X102.5Y76.05I.55J.05 +N650G1X102.55Y76.1 +N660G1X102.55Y76.15 +N670G1X102.6Y76.2 +N680G2X103.3Y76.25I.35J-.05 +N690G3X103.7Y75.65I.9J.2 +N700G1X103.75Y75.7 +N710G1X103.8Y76.1 +N720G2X104.4Y76.3I.35J.05 +N730G3X106.95Y76I1.4J.9 +N740G2X108.8Y75.25I.75J-.8 +N750G3X109.55Y71.8I11J.6 +N760G2X111.15Y65.9I-27.2J-10.75 +N770G2X110.7Y64.8I-1.15J-.2 +N780G3X110.05Y63.5I.95J-1.3 +N790G3X110.3Y61.1I13.35J.15 +N800G2X110.3Y59.4I-4.7J-.9 +N810G1X109.85Y57.55 +N820G3X107.8Y44.45I38.4J-12.7 +N830G2X106.7Y41.3I-4.9J-.05 +N840G2X101.7Y39.35I-4.25J3.45 +N850G2X97.25Y42.65I.8J5.75 +N860G2X97.7Y45.1I1.95J.9 +N870G3X97.9Y45.7I-.5J.5 +N880G3X97.4Y47.75I-10.3J-1.35 +N890G3X93.85Y57.3I-229.55J-80.15 +N900G3X88.85Y59.25I-3.4J-1.35 +N910G3X82.15Y51.65I5.75J-11.85 +N920G2X78.15Y43.5I-32.5J11.05 +N930G2X74.3Y39.95I-9.5J6.4 +N940G1X74.2Y38.05 +N950G1X73.8Y36.35 +N960G3X74.65Y32.7I3.6J-1.1 +N970G2X75.3Y25.75I-4.05J-3.85 +N980G3X72.55Y20.7I28.95J-19.05 +N990G1X71.15Y18 +N1000G2X67.55Y14.8I-6.8J4.05 +N1010G3X65.3Y13.5I5.4J-12 +N1020G2X57.4Y12.1I-5.4J7.6 +N1030G3X53.1Y11.75I-1.7J-6.05 +N1040G2X55.75Y8.2I-7.55J-8.4 +N1050G2X56.35Y4.9I-5.75J-2.7 +N1060G3X53.1Y4.7I0J-25.3 +N1070G2X51.5Y5.4I-.2J1.65 +N1080G3X49.8Y6.9I-3.25J-2.1 +N1090G2X49.1Y7.85I.45J1.1 +N1100G3X47.35Y11.55I-5.55J-.4 +N1110G2X43Y15.9I52.5J56.35 +N1120G3X35.25Y22.9I-40.5J-37.05 +N1130G2X33.9Y25.2I2J2.7 +N1140G2X34.4Y30.55I12.7J1.55 +N1150G3X31.6Y40I-8.5J2.65 +N1160G3X32.4Y27.15I323.3J13.5 +N1170G3X33Y22.6I40.95J3.35 +N1180G3X36.3Y16I13.7J2.7 +N1190G2X40.75Y10.15I-37.35J-33.25 +N1200G3X44.55Y6.05I14J9.2 +N1210G2X45.3Y4.85I-1.2J-1.55 +N1220G3X46.45Y2.65I4.2J.8 +N1230G2X47.1Y1.45I-1.6J-1.6 +N1240G2X46.25Y.25I-1J-.2 +N1250G2X43.35Y0I-3.05J18.6 +N1260G2X39.45Y4.6I-.05J3.95 +N1270G3X38.7Y5.95I-1.2J.2 +N1280G2X35.95Y8.5I1.85J4.7 +N1290G3X27.5Y20.7I-40.8J-19.25 +N1300G2X26Y24.2I3.85J3.75 +N1310G1X25.6Y29.65 +N1320G3X18.25Y42.25I-17.65J-1.9 +N1330G2X13.25Y48.25I9.05J12.6 +N1340G2X11.3Y56.8I18.55J8.7 +N1350G2X12.05Y59.25I4.25J.05 +N1360G3X12.05Y59.55I-.2J.15 +N1370G1X11.55Y59.85 +N1380G2X7.8Y63.05I1J4.9 +N1390G2X6.5Y67.55I38.3J13.6 +N1400G3X5.45Y68.4I-1.1J-.25 +N1410G1X5.15Y68.55 +N1420G2X-.35Y76I6.85J10.8 +N1430G2X.2Y79.2I3.75J1 +N1440G1X.1Y79.15 +N1450G3X.4Y77.35I3.9J-.35 +N1460G3X4.05Y71.1I24.4J10 +N1470G3X4.4Y71.05I.2J.15 +N1480G3X4.5Y71.4I-.2J.25 +N1490G2X2.75Y79.3I24.85J9.6 +N1500G2X3.45Y87.55I28J1.85 +N1510G1X4Y83.2 +N1520G1X5.25Y76.9 +N1530G1X6.45Y77.05 +N1540G3X7.5Y77.6I-.05J1.4 +N1550G1X8.2Y78.7 +N1560G2X10.95Y83.15I32.05J-16.5 +N1570G1X10.3Y81.15 +N1580G1X10Y79.95 +N1590G3X10.6Y74.8I7.85J-1.7 +N1600G00X10.6Y74.8 +N1610G00Z6 +N1620G00X0Y0 +N1630M05 +N1640M30 +N1650% diff --git a/tests/test-files/Letter A (V-Carve).tap b/tests/test-files/Letter A (V-Carve).tap new file mode 100644 index 0000000..d0fdfe0 --- /dev/null +++ b/tests/test-files/Letter A (V-Carve).tap @@ -0,0 +1,183 @@ +(Letter 'A' F-Engrave, V-Carve.) +(60deg. 1/2" V bit) +G90 +G20 +G17 G64 P0.001 M3 S3000 +F5.00 +G0 Z0.2500 +G0 X1.8221 Y0.0000 +G1 Z0.0000 +G1 X1.8221 Y0.0000 Z0.0000 +G1 X1.5484 Y0.1983 Z-0.3435 +G1 X1.5383 Y0.2002 Z-0.3468 +G1 X1.3862 Y0.0000 Z0.0000 +G1 X1.5386 Y0.2007 Z-0.3476 +G1 X1.5387 Y0.2112 Z-0.3526 +G1 X1.4414 Y0.5321 Z-0.3396 +G1 X1.4280 Y0.5719 Z-0.3402 +G1 X1.4113 Y0.6088 Z-0.3479 +G1 X1.3945 Y0.6381 Z-0.3596 +G1 X1.3743 Y0.6678 Z-0.3769 +G1 X1.3564 Y0.6904 Z-0.3942 +G1 X1.3479 Y0.6940 Z-0.3932 +G1 X1.3062 Y0.6824 Z-0.3485 +G1 X1.2723 Y0.6729 Z-0.3205 +G1 X1.2571 Y0.6687 Z-0.3111 +G1 X1.2296 Y0.6616 Z-0.2986 +G1 X1.2095 Y0.6579 Z-0.2920 +G1 X1.1893 Y0.6553 Z-0.2876 +G1 X1.1590 Y0.6538 Z-0.2850 +G1 X0.6646 Y0.6538 Z-0.2850 +G1 X0.6444 Y0.6545 Z-0.2862 +G1 X0.6141 Y0.6579 Z-0.2920 +G1 X0.5939 Y0.6616 Z-0.2986 +G1 X0.5665 Y0.6687 Z-0.3111 +G1 X0.5433 Y0.6752 Z-0.3263 +G1 X0.5264 Y0.6799 Z-0.3402 +G1 X0.4978 Y0.6879 Z-0.3683 +G1 X0.4757 Y0.6940 Z-0.3932 +G1 X0.4670 Y0.6908 Z-0.3951 +G1 X0.4436 Y0.6607 Z-0.3729 +G1 X0.4242 Y0.6311 Z-0.3570 +G1 X0.4082 Y0.6017 Z-0.3466 +G1 X0.3923 Y0.5646 Z-0.3404 +G1 X0.3817 Y0.5323 Z-0.3405 +G1 X0.2843 Y0.2114 Z-0.3537 +G1 X0.2850 Y0.2007 Z-0.3476 +G1 X0.4374 Y0.0000 Z0.0000 +G1 X0.2848 Y0.2009 Z-0.3480 +G1 X0.2746 Y0.1989 Z-0.3444 +G1 X0.0000 Y0.0000 Z0.0000 +G1 X0.2807 Y0.2033 Z-0.3520 +G1 X0.2847 Y0.2125 Z-0.3536 +G1 X0.3836 Y0.5387 Z-0.3402 +G1 X0.3932 Y0.5672 Z-0.3406 +G1 X0.4050 Y0.5950 Z-0.3449 +G1 X0.4190 Y0.6221 Z-0.3533 +G1 X0.4410 Y0.6570 Z-0.3706 +G1 X0.4669 Y0.6907 Z-0.3950 +G1 X0.4703 Y0.7002 Z-0.3955 +G1 X0.4673 Y0.7434 Z-0.3673 +G1 X0.4684 Y0.7852 Z-0.3465 +G1 X0.4735 Y0.8257 Z-0.3330 +G1 X0.4800 Y0.8552 Z-0.3278 +G1 X0.6616 Y1.4498 Z-0.3053 +G1 X0.7179 Y1.6423 Z-0.2938 +G1 X0.7556 Y1.7776 Z-0.2828 +G1 X0.7622 Y1.7966 Z-0.2834 +G1 X0.7744 Y1.8242 Z-0.2885 +G1 X0.7771 Y1.8339 Z-0.2877 +G1 X0.6568 Y2.0000 Z0.0000 +G1 X0.7768 Y1.8343 Z-0.2870 +G1 X0.7868 Y1.8361 Z-0.2838 +G1 X0.8168 Y1.8484 Z-0.2626 +G1 X0.8468 Y1.8573 Z-0.2472 +G1 X0.8768 Y1.8628 Z-0.2376 +G1 X0.9068 Y1.8650 Z-0.2338 +G1 X0.9368 Y1.8639 Z-0.2357 +G1 X0.9668 Y1.8595 Z-0.2434 +G1 X0.9968 Y1.8517 Z-0.2569 +G1 X1.0168 Y1.8447 Z-0.2691 +G1 X1.0368 Y1.8361 Z-0.2838 +G1 X1.0468 Y1.8344 Z-0.2868 +G1 X1.1668 Y2.0000 Z0.0000 +G1 X1.0465 Y1.8340 Z-0.2874 +G1 X1.0491 Y1.8243 Z-0.2884 +G1 X1.0575 Y1.8060 Z-0.2845 +G1 X1.0679 Y1.7778 Z-0.2827 +G1 X1.0862 Y1.7099 Z-0.2891 +G1 X1.1386 Y1.5267 Z-0.3016 +G1 X1.3431 Y0.8555 Z-0.3271 +G1 X1.3496 Y0.8260 Z-0.3323 +G1 X1.3547 Y0.7855 Z-0.3457 +G1 X1.3558 Y0.7437 Z-0.3664 +G1 X1.3528 Y0.7005 Z-0.3946 +G1 X1.3559 Y0.6909 Z-0.3947 +G1 X1.3819 Y0.6573 Z-0.3701 +G1 X1.3988 Y0.6312 Z-0.3564 +G1 X1.4135 Y0.6044 Z-0.3466 +G1 X1.4221 Y0.5861 Z-0.3423 +G1 X1.4297 Y0.5675 Z-0.3398 +G1 X1.4393 Y0.5390 Z-0.3393 +G1 X1.5415 Y0.2034 Z-0.3522 +G1 X1.8121 Y0.0073 Z-0.0126 +G1 X1.8221 Y0.0000 Z0.0000 +G0 Z0.2500 +G0 X0.9118 Y1.7302 +G1 Z0.0000 +G1 X0.9118 Y1.7302 +G1 X0.7511 Y1.7621 Z-0.2838 +G1 X0.7188 Y1.6456 Z-0.2936 +G1 X0.6592 Y1.4417 Z-0.3057 +G1 X0.4801 Y0.8553 Z-0.3278 +G1 X0.4722 Y0.8176 Z-0.3352 +G1 X0.4679 Y0.7772 Z-0.3499 +G1 X0.4677 Y0.7333 Z-0.3733 +G1 X0.4698 Y0.7046 Z-0.3924 +G1 X0.4719 Y0.6951 Z-0.3978 +G1 X0.4942 Y0.6889 Z-0.3722 +G1 X0.5231 Y0.6808 Z-0.3432 +G1 X0.5481 Y0.6738 Z-0.3228 +G1 X0.5706 Y0.6675 Z-0.3088 +G1 X0.5987 Y0.6606 Z-0.2969 +G1 X0.6258 Y0.6562 Z-0.2892 +G1 X0.6525 Y0.6541 Z-0.2855 +G1 X0.6757 Y0.6538 Z-0.2850 +G1 X1.1478 +G1 X1.1844 Y0.6549 Z-0.2869 +G1 X1.2045 Y0.6571 Z-0.2907 +G1 X1.2249 Y0.6606 Z-0.2969 +G1 X1.2458 Y0.6656 Z-0.3054 +G1 X1.2677 Y0.6717 Z-0.3175 +G1 X1.2918 Y0.6784 Z-0.3356 +G1 X1.3096 Y0.6834 Z-0.3518 +G1 X1.3517 Y0.6951 Z-0.3978 +G1 X1.3555 Y0.7335 Z-0.3725 +G1 X1.3553 Y0.7773 Z-0.3492 +G1 X1.3510 Y0.8176 Z-0.3345 +G1 X1.3431 Y0.8553 Z-0.3271 +G1 X1.1400 Y1.5219 Z-0.3019 +G1 X1.0868 Y1.7079 Z-0.2892 +G1 X1.0688 Y1.7750 Z-0.2827 +G1 X1.0575 Y1.8060 Z-0.2845 +G1 X1.0460 Y1.8304 Z-0.2902 +G1 X1.0403 Y1.8345 Z-0.2867 +G1 X1.0083 Y1.8478 Z-0.2636 +G1 X0.9903 Y1.8537 Z-0.2534 +G1 X0.9671 Y1.8594 Z-0.2435 +G1 X0.9503 Y1.8623 Z-0.2384 +G1 X0.9283 Y1.8646 Z-0.2345 +G1 X0.9064 Y1.8650 Z-0.2338 +G1 X0.8846 Y1.8637 Z-0.2361 +G1 X0.8567 Y1.8595 Z-0.2434 +G1 X0.8335 Y1.8537 Z-0.2533 +G1 X0.8030 Y1.8432 Z-0.2716 +G1 X0.7835 Y1.8346 Z-0.2865 +G1 X0.7776 Y1.8307 Z-0.2904 +G1 X0.7688 Y1.8124 Z-0.2857 +G1 X0.7612 Y1.7940 Z-0.2832 +G1 X0.7511 Y1.7621 Z-0.2838 +G1 X1.0725 Y1.7618 Z-0.2837 +G1 X1.0624 Y1.7937 Z-0.2831 +G1 X1.0548 Y1.8122 Z-0.2856 +G1 X1.0460 Y1.8304 Z-0.2902 +G1 X1.0403 Y1.8345 Z-0.2867 +G1 X1.0083 Y1.8478 Z-0.2636 +G1 X0.9902 Y1.8537 Z-0.2534 +G1 X0.9671 Y1.8594 Z-0.2435 +G1 X0.9503 Y1.8623 Z-0.2384 +G1 X0.9282 Y1.8646 Z-0.2345 +G1 X0.9064 Y1.8650 Z-0.2338 +G1 X0.8846 Y1.8637 Z-0.2361 +G1 X0.8567 Y1.8595 Z-0.2434 +G1 X0.8335 Y1.8537 Z-0.2533 +G1 X0.8030 Y1.8432 Z-0.2717 +G1 X0.7835 Y1.8346 Z-0.2865 +G1 X0.7776 Y1.8307 Z-0.2904 +G1 X0.7688 Y1.8124 Z-0.2857 +G1 X0.7612 Y1.7940 Z-0.2832 +G1 X0.7511 Y1.7621 Z-0.2838 +G0 Z0.2500 +M5 +M30 +% diff --git a/tests/test-files/Mach3 write.tap b/tests/test-files/Mach3 write.tap new file mode 100644 index 0000000..ab1b8b4 --- /dev/null +++ b/tests/test-files/Mach3 write.tap @@ -0,0 +1,75 @@ +G00 G49 G40 G17 G80 G50 G90 G21 +M04 S12000 +G90 G90.1 +G00 Z6 +G00 X0 Y0 +F600 +G01 Z-0.4 +G01 X1.8945 Y8.9334 +G02 X3.2091 Y9.9985 I3.2091 J8.6546 +G01 X4.8089 Y9.9985 +G02 X5.5538 Y9.0494 I4.8089 J9.2316 +G00 Z2 +G00 X4.4691 Y4.6164 +G01 Z-0.4 +G01 X5.5572 Y9.04 +G02 X6.7833 Y9.9997 I6.7815 J8.7389 +G01 X8.3784 Y9.9974 +G02 X9.3057 Y8.8497 I8.377 J9.0479 +G01 X7.4175 Y-0.0001 +G00 Z2 +G00 X12.5737 Y0 +G01 Z-0.4 +G01 X14.1923 Y7.7724 +G02 X16.9591 Y10 I16.9317 J7.2019 +G01 X19.3014 Y9.9771 +G02 X20.9532 Y7.9109 I19.2847 J8.2704 +G01 X19.2484 Y0.0001 +G00 Z2 +G00 X13.3612 Y3.7815 +G01 Z-0.4 +G01 X20.0633 Y3.7815 +G00 Z2 +G00 X31.1752 Y1.6931 +G01 Z-0.4 +G02 X29.1577 Y-0.0232 I29.1718 J2.0042 +G01 X25.8234 Y0 +G02 X24.5528 Y1.5916 I25.8325 J1.3103 +G01 X26.0337 Y8.3291 +G02 X28.1285 Y10.0011 I28.1131 J7.872 +G01 X31.2929 Y9.9782 +G02 X32.5962 Y8.3801 I31.2832 J8.6398 +G00 Z2 +G00 X35.8642 Y0 +G01 Z-0.4 +G01 X37.9902 Y10 +G00 Z2 +G00 X36.9272 Y5 +G01 Z-0.4 +G01 X43.5272 Y5 +G00 Z2 +G00 X44.5902 Y10 +G01 Z-0.4 +G01 X42.4642 Y0 +G00 Z2 +G00 X59.2553 Y8.7284 +G01 Z-0.4 +G02 X60.5458 Y10 I60.5458 J8.7094 +G01 X64.4085 Y10 +G02 X65.6721 Y8.4332 I64.4085 J8.707 +G01 X65.3189 Y6.8035 +G02 X63.8438 Y5.6149 I63.8451 J7.1229 +G00 Z2 +G00 X61.3493 Y5.6171 +G01 Z-0.4 +G01 X63.8438 Y5.6149 +G02 X64.808 Y4.4157 I63.8429 J4.627 +G01 X64.17 Y1.502 +G02 X62.3035 Y0 I62.3035 J1.9107 +G01 X58.7792 Y0 +G02 X57.4544 Y1.3515 I58.7792 J1.3251 +G00 Z6 +G00 X0 Y0 +M05 +M30 +% \ No newline at end of file diff --git a/tests/test-files/Mach4 write.tap b/tests/test-files/Mach4 write.tap new file mode 100644 index 0000000..6db9f46 --- /dev/null +++ b/tests/test-files/Mach4 write.tap @@ -0,0 +1,68 @@ +G49 G40 G17 G80 G50 G90 G21 +M04 S12000 +G90 G90.1 +G00 Z6 +G00 X0 Y0 +F600 +G01 Z-0.4 +G01 X1.8945 Y8.9334 +G02 X3.2091 Y9.9985 I3.2091 J8.6546 +G01 X4.8089 Y9.9985 +G02 X5.5538 Y9.0494 I4.8089 J9.2316 +G00 Z2 +G00 X4.4691 Y4.6164 +G01 Z-0.4 +G01 X5.5572 Y9.04 +G02 X6.7833 Y9.9997 I6.7815 J8.7389 +G01 X8.3784 Y9.9974 +G02 X9.3057 Y8.8497 I8.377 J9.0479 +G01 X7.4175 Y-0.0001 +G00 Z2 +G00 X12.5737 Y0 +G01 Z-0.4 +G01 X14.1923 Y7.7724 +G02 X16.9591 Y10 I16.9317 J7.2019 +G01 X19.3014 Y9.9771 +G02 X20.9532 Y7.9109 I19.2847 J8.2704 +G01 X19.2484 Y0.0001 +G00 Z2 +G00 X13.3612 Y3.7815 +G01 Z-0.4 +G01 X20.0633 Y3.7815 +G00 Z2 +G00 X31.1752 Y1.6931 +G01 Z-0.4 +G02 X29.1577 Y-0.0232 I29.1718 J2.0042 +G01 X25.8234 Y0 +G02 X24.5528 Y1.5916 I25.8325 J1.3103 +G01 X26.0337 Y8.3291 +G02 X28.1285 Y10.0011 I28.1131 J7.872 +G01 X31.2929 Y9.9782 +G02 X32.5962 Y8.3801 I31.2832 J8.6398 +G00 Z2 +G00 X35.8642 Y0 +G01 Z-0.4 +G01 X37.9902 Y10 +G00 Z2 +G00 X36.9272 Y5 +G01 Z-0.4 +G01 X43.5272 Y5 +G00 Z2 +G00 X44.5902 Y10 +G01 Z-0.4 +G01 X42.4642 Y0 +G00 Z2 +G00 X59.3067 Y10 +G01 Z-0.4 +G01 X57.9242 Y4.4966 +G03 X59.286 Y2.7504 I59.286 J4.1545 +G01 X64.5422 Y2.7504 +G00 Z2 +G00 X64.2003 Y6.2539 +G01 Z-0.4 +G01 X62.6294 Y0.0001 +G00 Z6 +G00 X0 Y0 +M05 +M30 +% \ No newline at end of file diff --git a/tests/test-files/Scorpion.tap b/tests/test-files/Scorpion.tap new file mode 100644 index 0000000..fe72640 --- /dev/null +++ b/tests/test-files/Scorpion.tap @@ -0,0 +1,276 @@ +G21 +T1M6 +G0Z10.000 +G0X0.000Y0.000S10000M3 +G0X40.094Y235.389Z5.000 +G1Z-3.000F600.0 +G1X39.594Y234.826F1800.0 +X33.059Y225.446 +X29.088Y209.687 +X29.338Y187.488 +X32.027Y174.419 +X36.905Y168.040 +X38.969Y159.598 +X46.473Y148.999 +X55.665Y143.089 +X61.856Y141.870 +X68.047Y138.962 +X78.027Y141.964 +X88.870Y151.907 +X91.496Y155.096 +X100.877Y152.845 +X97.312Y145.903 +X90.934Y143.277 +X83.993Y136.523 +X68.047Y135.023 +X63.544Y134.710 +X56.884Y136.617 +X47.223Y137.461 +X40.845Y139.150 +X35.404Y139.400 +X32.965Y139.712 +X32.965Y136.242 +X46.848Y134.835 +X62.606Y131.458 +X74.881Y129.957 +X82.679Y131.833 +X91.497Y135.023 +X97.312Y140.275 +X99.563Y141.588 +X101.252Y138.587 +X100.501Y134.835 +X95.624Y134.272 +X91.403Y129.957 +X76.864Y121.984 +X62.231Y120.859 +X47.926Y121.328 +X43.283Y122.547 +X33.528Y127.331 +X31.277Y128.644 +X29.401Y123.016 +X28.557Y121.140 +X39.344Y119.639 +X55.477Y116.450 +X73.675Y116.075 +X89.433Y121.328 +X96.499Y126.768 +X100.501Y127.894 +X99.845Y123.298 +X92.435Y120.015 +X88.589Y113.824 +X79.115Y104.256 +X75.926Y96.752 +X58.979Y96.002 +X53.977Y96.189 +X44.221Y98.159 +X33.716Y102.380 +X26.212Y105.569 +X24.336Y100.504 +X33.153Y99.941 +X39.907Y96.940 +X50.225Y92.437 +X58.104Y92.062 +X65.561Y91.030 +X75.644Y92.906 +X83.430Y95.251 +X89.433Y102.755 +X92.059Y110.447 +X97.875Y114.574 +X96.562Y105.382 +X93.842Y105.007 +X92.622Y104.631 +X89.621Y97.221 +X88.964Y89.248 +X83.805Y78.930 +X81.929Y73.865 +X75.082Y68.190 +X67.296Y58.857 +X58.760Y63.172 +X49.287Y67.862 +X40.845Y71.332 +X36.155Y71.239 +X34.279Y68.049 +X44.409Y67.862 +X53.977Y62.609 +X58.667Y58.669 +X63.169Y54.917 +X70.298Y52.479 +X85.118Y66.361 +X86.807Y71.801 +X91.497Y82.119 +X92.059Y92.062 +X93.185Y93.188 +Y79.743 +X97.312Y66.173 +X101.252Y58.763 +X104.159Y51.165 +X111.070Y41.285 +X121.513Y30.154 +X132.206Y19.273 +X146.088Y11.957 +X160.909Y7.924 +X173.478Y7.079 +X183.045Y9.143 +X193.739Y15.146 +X197.960Y21.525 +X196.928Y30.529 +X187.226Y42.589 +X180.419Y52.854 +X178.355Y61.296 +X174.979Y54.355 +X176.479Y36.533 +X183.608Y20.211 +X182.389Y17.397 +X169.726Y18.898 +X162.972Y16.741 +X156.312Y22.181 +X144.775Y23.776 +X138.584Y31.749 +X132.018Y34.281 +X128.266Y39.440 +X123.326Y42.223 +X121.325Y50.040 +X129.767Y67.862 +X134.457Y84.183 +Y90.937 +X138.115Y86.997 +X140.835Y73.677 +X153.029Y60.358 +X157.907Y59.232 +X165.786Y64.110 +X173.290Y72.427 +X182.670Y76.491 +X190.268Y76.116 +X191.487Y79.493 +X176.542Y77.680 +X166.255Y70.394 +X160.533Y64.297 +X153.092Y67.987 +X147.214Y73.302 +X144.400Y83.620 +X141.586Y89.623 +X140.460Y95.627 +X136.521Y99.379 +X134.082Y100.598 +X133.144Y110.259 +X133.707Y111.385 +X138.959Y105.194 +X143.274Y100.879 +X147.120Y98.816 +X151.341Y96.752 +X162.785Y94.970 +X171.508Y92.719 +X178.824Y94.782 +X190.174Y95.251 +X198.241Y90.374 +X199.929Y95.064 +X185.484Y97.878 +X176.198Y97.315 +X164.379Y97.409 +X153.874Y102.286 +X148.339Y102.568 +X141.211Y111.385 +X137.771Y115.012 +X133.144Y118.326 +X130.893Y121.140 +X130.330Y124.329 +X134.832Y121.515 +X139.428Y119.827 +X149.840Y113.261 +X155.281Y111.885 +X161.873Y110.447 +X172.602Y111.823 +X179.997Y111.338 +X184.921Y112.323 +X193.739Y112.573 +X201.055Y110.447 +X201.430Y115.325 +X191.112Y114.387 +X180.794Y115.512 +X172.399Y115.887 +X159.327Y117.763 +X154.718 +X147.589Y123.673 +X140.554Y126.768 +X135.020Y132.209 +X130.142Y133.522 +X129.017Y142.996 +X134.082Y143.089 +X138.021Y139.713 +X146.839Y138.212 +X155.281Y133.147 +X161.284Y133.522 +X168.975Y130.145 +X174.228Y127.456 +X180.794Y120.953 +X183.608Y123.766 +X174.979Y131.646 +X164.098Y134.741 +X157.719Y137.555 +X150.122Y140.651 +X139.710Y144.872 +X134.269Y145.340 +X130.142Y150.781 +X137.021Y152.782 +X142.149Y150.593 +X149.277Y143.465 +X162.972Y140.088 +X171.039Y142.151 +X180.044Y145.903 +X191.300Y156.597 +X193.832Y165.226 +X201.055Y174.981 +X206.120Y189.802 +X205.772Y207.597 +X200.867Y223.945 +X195.427Y232.762 +X194.489Y216.253 +X191.300Y200.120 +X192.050Y229.010 +X188.157Y202.652 +X187.735Y192.991 +X182.952Y186.144 +X183.233Y177.795 +X189.987Y168.228 +X186.891Y164.570 +X175.729Y160.349 +X170.851Y155.283 +X170.101Y149.468 +X165.724Y150.030 +X155.281Y157.159 +X142.524Y158.379 +X137.083Y162.037 +X136.333Y164.007 +X126.203Y156.221 +X123.107Y155.846 +X122.638Y155.096 +X120.293Y160.818 +X117.761Y161.943 +X117.010Y155.096 +X113.258Y156.034 +X114.196Y161.287 +X111.945 +X107.818Y153.970 +X102.040Y159.973 +X93.935Y165.320 +X92.247Y165.414 +X91.403Y161.849 +X86.181Y159.223 +X68.234Y154.158 +X59.980Y150.687 +X57.541Y153.220 +X54.633Y159.786 +X44.484Y166.127 +X40.469Y172.355 +X48.818Y182.861 +X51.350Y191.115 +X44.972Y203.872 +X40.845Y231.637 +X40.657Y213.439 +X39.391Y224.695 +X40.094Y235.389 +G0Z5.000 +G0X0.000Y0.000Z10.000 +G0Z10.000 +G0X0Y0 +M30 diff --git a/tests/test-files/Skull2.tap b/tests/test-files/Skull2.tap new file mode 100644 index 0000000..1f9cc6e --- /dev/null +++ b/tests/test-files/Skull2.tap @@ -0,0 +1,397 @@ +( SKULL2 ) +( MATERIAL SIZE ) +( X= 89.500, Y= 120.000 ) +( TOOL=ENGRAVE {20' 0.02" TIP DIA} ) +N100G00G20G17G90G40G49G80 +N110G71G91.1 +N120T1M06 +N130 +N140G00G43Z0.4H1 +N150S12000M03 +N160 +N170 +N180G94 +N190X0Y0F24 +N200G00X.796Y.6845Z0.1 +N210G1X.796Y.6845Z-0.01F12 +N220G2X.7893Y.7037I.0493J.028F24 +N230G2X.7837Y.7555I.5171J.0816 +N240G2X.7841Y.7948I.2981J.017 +N250G2X.7939Y.8372I.1443J-.0108 +N260G2X.8194Y.8573I.03J-.0119 +N270G2X.8537Y.8378I.0044J-.0321 +N280G2X.8628Y.8058I-.1266J-.0529 +N290G2X.8631Y.7303I-.2524J-.0389 +N300G2X.855Y.7032I-.096J.0139 +N310G2X.8353Y.6806I-.0489J.0228 +N320G2X.8108Y.6748I-.0204J.0318 +N330G2X.796Y.6845I.0021J.0193 +N340G00X.796Y.6845Z0.1 +N350G00X.891Y.6201Z0.1 +N360G1X.891Y.6201Z-0.01F12 +N370G2X.9096Y.6578I.1526J-.0518F24 +N380G2X.9537Y.7064I.1843J-.1232 +N390G2X.9731Y.7174I.0422J-.0517 +N400G2X.9807Y.7193I.0126J-.0347 +N410G2X.9872Y.7193I.0033J-.0245 +N420G2X1.0065Y.7031I-.003J-.0231 +N430G2X1.0143Y.6633I-.1791J-.0558 +N440G2X1.0177Y.5965I-.9403J-.0806 +N450G2X1.0162Y.5343I-.8154J-.0119 +N460G2X1.0019Y.4606I-.2887J.0178 +N470G2X.9865Y.4341I-.0717J.0239 +N480G2X.9562Y.4227I-.0261J.0234 +N490G2X.9312Y.4339I.0056J.0459 +N500G2X.9028Y.4755I.0664J.0758 +N510G2X.8848Y.5848I.287J.1035 +N520G2X.891Y.6201I.1167J-.0022 +N530G00X.891Y.6201Z0.1 +N540G00X1.0641Y.5906Z0.1 +N550G1X1.0641Y.5906Z-0.01F12 +N560G2X1.0775Y.6177I.0903J-.028F24 +N570G2X1.1182Y.6424I.0494J-.0354 +N580G2X1.1416Y.6408I.0079J-.0543 +N590G2X1.1578Y.6308I-.0102J-.0347 +N600G2X1.1801Y.5917I-.0707J-.066 +N610G2X1.209Y.4352I-.7752J-.2244 +N620G2X1.209Y.2824I-.9038J-.0764 +N630G2X1.1998Y.2332I-.2502J.0211 +N640G2X1.1853Y.2019I-.1102J.0322 +N650G2X1.1597Y.1836I-.0367J.0244 +N660G2X1.1359Y.1907I-.0061J.0232 +N670G2X1.1193Y.2103I.2886J.2614 +N680G2X1.0652Y.3119I.2506J.1986 +N690G2X1.0476Y.4354I.3581J.114 +N700G2X1.0524Y.5295I1.8444J-.0468 +N710G2X1.0641Y.5906I.2772J-.0212 +N720G00X1.0641Y.5906Z0.1 +N730G00X1.2752Y.5054Z0.1 +N740G1X1.2752Y.5054Z-0.01F12 +N750G2X1.3209Y.543I.055J-.0204F24 +N760G2X1.3718Y.5369I.0148J-.0924 +N770G2X1.4132Y.5044I-.0381J-.0912 +N780G2X1.4361Y.457I-.1142J-.0843 +N790G2X1.4593Y.3333I-.7849J-.2114 +N800G2X1.4662Y.219I-1.1991J-.13 +N810G2X1.4633Y.1748I-.283J-.0037 +N820G2X1.4409Y.1128I-.1625J.0235 +N830G2X1.4053Y.0798I-.076J.0464 +N840G2X1.3476Y.0785I-.0302J.0594 +N850G2X1.2817Y.1357I.063J.1393 +N860G2X1.2565Y.2002I.1508J.0959 +N870G2X1.251Y.307I.4209J.0752 +N880G3X1.2547Y.3819I-1.483J.1102 +N890G2X1.262Y.4565I.5078J-.012 +N900G2X1.2752Y.5054I.2734J-.0474 +N910G00X1.2752Y.5054Z0.1 +N920G00X1.5359Y.3751Z0.1 +N930G1X1.5359Y.3751Z-0.01F12 +N940G2X1.5738Y.4364I.2285J-.0989F24 +N950G1X1.5883Y.4523Z-0.01 +N960G1X1.6031Y.443Z-0.01 +N970G2X1.6356Y.415I-.1146J-.1657 +N980G2X1.663Y.379I-.1633J-.1528 +N990G2X1.7008Y.2787I-.2424J-.1486 +N1000G2X1.7111Y.1639I-.7037J-.1213 +N1010G2X1.7115Y.0794I-9.3539J-.0844 +N1020G2X1.7111Y.0586I-.5678J0 +N1030G2X1.7092Y.0476I-.0404J.0015 +N1040G2X1.7049Y.0393I-.0273J.0089 +N1050G2X1.6854Y.0251I-.033J.0247 +N1060G2X1.6337Y.0145I-.0651J.1873 +N1070G2X1.532Y.023I-.023J.3405 +N1080G2X1.508Y.0352I.0131J.0551 +N1090G2X1.4967Y.0598I.0213J.0246 +N1100G2X1.4978Y.1259I2.0856J.0002 +N1110G2X1.5035Y.2231I1.7775J-.0562 +N1120G2X1.5124Y.2944I.9678J-.0837 +N1130G2X1.5359Y.3751I.3355J-.0543 +N1140G00X1.5359Y.3751Z0.1 +N1150G00X1.8139Y.3576Z0.1 +N1160G1X1.8139Y.3576Z-0.01F12 +N1170G2X1.8607Y.435I.1898J-.0617F24 +N1180G1X1.8729Y.4464Z-0.01 +N1190G1X1.8946Y.4313Z-0.01 +N1200G2X1.9505Y.3813I-.2257J-.3081 +N1210G2X1.975Y.3436I-.1012J-.0928 +N1220G2X1.9841Y.3105I-.1094J-.0479 +N1230G2X1.9935Y.1964I-1.3194J-.165 +N1240G2X1.9961Y.0943I-3.973J-.1522 +N1250G2X1.9957Y.0567I-.8389J-.0106 +N1260G2X1.9905Y.0403I-.0317J.001 +N1270G2X1.9764Y.0273I-.0331J.0217 +N1280G2X1.9467Y.0173I-.0425J.0775 +N1290G2X1.8451Y.0165I-.054J.3686 +N1300G2X1.8001Y.029I.0207J.1606 +N1310G2X1.7813Y.0567I.0129J.029 +N1320G2X1.781Y.0723I.368J.0157 +N1330G2X1.7813Y.1522I9.5636J0 +N1340G2X1.7818Y.1765I.9845J-.0082 +N1350G2X1.7827Y.1952I.5769J-.0191 +N1360G2X1.8139Y.3576I.6644J-.0435 +N1370G00X1.8139Y.3576Z0.1 +N1380G00X2.0596Y.2953Z0.1 +N1390G1X2.0596Y.2953Z-0.01F12 +N1400G2X2.08Y.4381I.8207J-.0442F24 +N1410G2X2.0996Y.4864I.1619J-.0378 +N1420G2X2.1339Y.5208I.0875J-.053 +N1430G2X2.1806Y.5357I.0543J-.0891 +N1440G1X2.1866Y.5361Z-0.01 +N1450G1X2.1906Y.5361Z-0.01 +N1460G2X2.2177Y.5287I-.0012J-.0581 +N1470G2X2.2397Y.5087I-.0319J-.0571 +N1480G2X2.2583Y.4655I-.0997J-.0685 +N1490G2X2.2702Y.3663I-.5325J-.114 +N1500G3X2.2733Y.3196I.6037J.0165 +N1510G2X2.2743Y.308I-.3703J-.039 +N1520G2X2.2752Y.2544I-.4641J-.0341 +N1530G2X2.2705Y.2165I-.2364J.0099 +N1540G2X2.2417Y.1614I-.1107J.0229 +N1550G2X2.1779Y.1191I-.1244J.1183 +N1560G2X2.1029Y.13I-.0277J.0733 +N1570G2X2.0728Y.1656I.065J.0856 +N1580G2X2.0592Y.2157I.1052J.0554 +N1590G2X2.0596Y.2953I.8179J.0356 +N1600G00X2.0596Y.2953Z0.1 +N1610G00X2.3344Y.3358Z0.1 +N1620G1X2.3344Y.3358Z-0.01F12 +N1630G2X2.3409Y.5192I.9414J.0584F24 +N1640G2X2.3646Y.616I.4606J-.0616 +N1650G2X2.3924Y.6684I.2007J-.0728 +N1660G2X2.4109Y.68I.0235J-.017 +N1670G2X2.4377Y.676I.0074J-.0424 +N1680G2X2.4638Y.6533I-.0317J-.0628 +N1690G2X2.4821Y.6113I-.0959J-.0667 +N1700G2X2.4946Y.4874I-.5456J-.1178 +N1710G2X2.465Y.3232I-.4999J.0056 +N1720G2X2.4337Y.2663I-.1959J.0707 +N1730G2X2.4046Y.2351I-.1863J.1443 +N1740G2X2.3924Y.2276I-.0273J.0305 +N1750G2X2.3753Y.2269I-.0095J.0241 +N1760G2X2.3581Y.2379I.0108J.0355 +N1770G2X2.3455Y.2623I.0434J.038 +N1780G2X2.3344Y.3358I.4102J.0996 +N1790G00X2.3344Y.3358Z0.1 +N1800G00X2.5478Y.4381Z0.1 +N1810G1X2.5478Y.4381Z-0.01F12 +N1820G2X2.5305Y.4746I.0872J.0637F24 +N1830G2X2.5176Y.5544I.4169J.1084 +N1840G2X2.5161Y.6452I.9092J.0606 +N1850G2X2.523Y.7182I.5932J-.0197 +N1860G2X2.544Y.7874I.2595J-.041 +N1870G2X2.5678Y.8151I.0609J-.0281 +N1880G2X2.5717Y.8174I.0263J-.0396 +N1890G2X2.5745Y.8187I.0105J-.0196 +N1900G2X2.5878Y.8176I.0055J-.015 +N1910G2X2.5979Y.8089I-.016J-.0289 +N1920G2X2.6433Y.7269I-.2462J-.1897 +N1930G2X2.6583Y.6452I-.2283J-.0842 +N1940G2X2.6481Y.5282I-.6004J-.0065 +N1950G2X2.6245Y.4651I-.1943J.0364 +N1960G2X2.5959Y.4302I-.1226J.0715 +N1970G2X2.5829Y.4224I-.0276J.0312 +N1980G2X2.5631Y.4242I-.008J.0215 +N1990G2X2.5478Y.4381I.0267J.0446 +N2000G00X2.5478Y.4381Z0.1 +N2010G00X2.6822Y.7157Z0.1 +N2020G1X2.6822Y.7157Z-0.01F12 +N2030G2X2.655Y.7355I-.0029J.0246F24 +N2040G2X2.6504Y.7689I.2901J.0567 +N2050G2X2.6481Y.8328I.7421J.0586 +N2060G2X2.6511Y.8705I.2601J-.0019 +N2070G2X2.6619Y.905I.1194J-.0183 +N2080G2X2.6846Y.9216I.0272J-.0132 +N2090G2X2.6922Y.9219I.0048J-.0319 +N2100G2X2.6991Y.9203I-.0023J-.0262 +N2110G2X2.7144Y.9067I-.0097J-.0264 +N2120G2X2.7278Y.8635I-.1217J-.0617 +N2130G2X2.7309Y.8191I-.325J-.0444 +N2140G2X2.7278Y.778I-.28J0 +N2150G2X2.7183Y.7432I-.1498J.0222 +N2160G2X2.6822Y.7157I-.0414J.0168 +N2170G00X2.6822Y.7157Z0.1 +N2180G00X2.6767Y1.6351Z0.1 +N2190G1X2.6767Y1.6351Z-0.01F12 +N2200G3X2.7798Y1.6441I-.0106J.7161F24 +N2210G3X2.9093Y1.6844I-.0761J.4734 +N2220G3X3.015Y1.7775I-.1095J.2307 +N2230G3X3.0418Y1.8405I-.1753J.112 +N2240G3X3.0625Y1.9732I-.7794J.1893 +N2250G3X3.0647Y2.121I-1.3279J.0939 +N2260G3X3.0515Y2.2456I-.9563J-.0387 +N2270G3X2.9806Y2.4619I-.7761J-.1344 +N2280G3X2.8734Y2.6035I-.4293J-.2135 +N2290G3X2.7472Y2.6841I-.3006J-.3314 +N2300G3X2.6583Y2.715I-.2748J-.6494 +N2310G1X2.655Y2.7004Z-0.01 +N2320G2X2.6515Y2.6859I-.6475J.1458 +N2330G2X2.5868Y2.5063I-.9125J.2272 +N2340G2X2.4903Y2.35I-.7843J.3764 +N2350G2X2.4061Y2.2512I-1.0994J.8513 +N2360G2X2.3301Y2.1788I-.6649J.6222 +N2370G2X2.0145Y2.013I-.5294J.6246 +N2380G2X1.8146Y1.9815I-.2455J.9074 +N2390G2X1.6543Y1.9837I-.0627J1.2905 +N2400G2X1.5156Y2.0042I.0746J.984 +N2410G2X1.2439Y2.1311I.1492J.6738 +N2420G2X1.0965Y2.2639I.7799J1.0135 +N2430G1X1.0654Y2.2968Z-0.01 +N2440G2X1.0583Y2.3057I.0541J.0507 +N2450G1X.9569Y2.5104Z-0.01 +N2460G1X.9062Y2.6127Z-0.01 +N2470G1X.8556Y2.715Z-0.01 +N2480G1X.8424Y2.7116Z-0.01 +N2490G3X.8293Y2.7081I.1089J-.439 +N2500G3X.6885Y2.6477I.1565J-.5587 +N2510G3X.5563Y2.5238I.2174J-.3643 +N2520G3X.4815Y2.3672I.457J-.3143 +N2530G3X.4486Y2.1607I.7722J-.229 +N2540G3X.454Y1.9867I1.4843J-.0415 +N2550G3X.4692Y1.883I.9231J.0827 +N2560G3X.5024Y1.7756I.5712J.1174 +N2570G3X.5606Y1.701I.1648J.0689 +N2580G3X.6319Y1.6648I.1413J.1902 +N2590G3X.7598Y1.6394I.1864J.6022 +N2600G3X.9289Y1.6372I.0982J1.0532 +N2610G3X1.28Y1.7029I-.1017J1.5144 +N2620G3X1.4359Y1.7609I-.4665J1.4926 +N2630G3X1.5893Y1.8281I-8.5693J19.7516 +N2640G1X1.752Y1.9003Z-0.01 +N2650G1X1.9456Y1.8156Z-0.01 +N2660G1X2.2003Y1.7054Z-0.01 +N2670G3X2.2156Y1.7002I.1026J.2778 +N2680G3X2.2543Y1.6888I.5469J1.7731 +N2690G3X2.3359Y1.6683I.3587J1.2594 +N2700G3X2.4216Y1.6526I.2976J1.3744 +N2710G3X2.6767Y1.6351I.2322J1.5241 +N2720G00X2.6767Y1.6351Z0.1 +N2730G00X2.582Y1.442Z0.1 +N2740G1X2.582Y1.442Z-0.01F12 +N2750G2X2.4304Y1.5057I9.6057J23.1048F24 +N2760G2X2.153Y1.6272I4.8191J11.3798 +N2770G2X1.819Y1.8026I1.3311J2.9405 +N2780G1X1.7618Y1.838Z-0.01 +N2790G1X1.6976Y1.8024Z-0.01 +N2800G2X1.4607Y1.6796I-3.1491J5.7836 +N2810G2X1.2122Y1.5631I-3.0789J6.2445 +N2820G2X.9498Y1.4486I-8.0731J18.1425 +N2830G3X.6884Y1.3316I3.3344J-7.7939 +N2840G3X.6499Y1.3129I.6665J-1.423 +N2850G3X.6412Y1.3079I.0387J-.0771 +N2860G3X.6245Y1.293I.0417J-.0633 +N2870G3X.5985Y1.2563I.2352J-.1952 +N2880G3X.5693Y1.2006I.4255J-.2583 +N2890G2X.5345Y1.1481I-.174J.0775 +N2900G2X.4816Y1.1181I-.0745J.0696 +N2910G2X.4454Y1.1153I-.0285J.1312 +N2920G2X.3388Y1.1561I.0108J.1877 +N2930G2X.2904Y1.2065I.167J.2089 +N2940G2X.1799Y1.3607I6.2301J4.5822 +N2950G3X.1171Y1.4414I-.8121J-.5671 +N2960G3X.0637Y1.4981I-.6914J-.5977 +N2970G2X.0507Y1.5125I.1085J.1113 +N2980G2X.0467Y1.518I.0549J.0438 +N2990G2X.0387Y1.5309I.2962J.1926 +N3000G2X.0102Y1.6004I.225J.1329 +N3010G2X0Y1.6859I.3329J.0832 +N3020G2X.0117Y1.7392I.1312J-.0009 +N3030G2X.0518Y1.8004I.2161J-.0978 +N3040G2X.1068Y1.8498I.2625J-.2373 +N3050G2X.1646Y1.8907I1.9738J-2.7266 +N3060G3X.3075Y2.0098I-.5939J.8579 +N3070G3X.3717Y2.0972I-.2507J.2514 +N3080G3X.3973Y2.2175I-.2044J.1064 +N3090G3X.3855Y2.3119I-.7427J-.0449 +N3100G3X.3425Y2.4667I-.9563J-.1822 +N3110G3X.2748Y2.6331I-2.5502J-.941 +N3120G2X.2186Y2.7707I2.1397J.9545 +N3130G2X.1757Y2.9142I1.0715J.3986 +N3140G2X.1523Y3.1311I.9048J.2071 +N3150G2X.1602Y3.2663I1.4144J-.0148 +N3160G2X.3605Y3.8486I1.3726J-.1464 +N3170G2X.5825Y4.1352I1.4985J-.9316 +N3180G2X1.0433Y4.504I1.5998J-1.5268 +N3190G2X1.3807Y4.6536I.7706J-1.2824 +N3200G2X1.698Y4.7083I.3803J-1.2572 +N3210G2X1.8843Y4.7065I.0775J-1.6128 +N3220G2X2.1832Y4.6581I-.1097J-1.6237 +N3230G2X2.6817Y4.4274I-.3861J-1.4883 +N3240G2X2.9458Y4.1991I-1.0065J-1.4311 +N3250G2X3.1052Y4.0028I-1.2101J-1.1455 +N3260G2X3.3387Y3.4551I-1.2137J-.8411 +N3270G2X3.3716Y3.1223I-1.6141J-.3273 +N3280G2X3.3581Y2.9763I-.8277J.0028 +N3290G2X3.3134Y2.8036I-1.2078J.2206 +N3300G2X3.2558Y2.6592I-1.3812J.4671 +N3310G3X3.1953Y2.5161I2.1593J-.9976 +N3320G3X3.1362Y2.312I1.1596J-.4463 +N3330G3X3.126Y2.2043I.5198J-.1033 +N3340G3X3.189Y2.0342I.2672J.0022 +N3350G3X3.2783Y1.9509I.392J.3307 +N3360G3X3.3385Y1.9111I.4483J.6131 +N3370G2X3.4459Y1.831I-.328J-.5517 +N3380G2X3.5011Y1.7669I-.2525J-.2734 +N3390G2X3.5236Y1.6957I-.1074J-.073 +N3400G2X3.5185Y1.6344I-.3196J-.0045 +N3410G2X3.5028Y1.5802I-.2651J.0479 +N3420G2X3.4695Y1.5236I-.2134J.0874 +N3430G2X3.3618Y1.3897I-22.6068J18.0644 +N3440G3X3.2433Y1.2263I1.5011J-1.2141 +N3450G2X3.2111Y1.1874I-.1845J.1197 +N3460G2X3.1389Y1.1394I-.1687J.1757 +N3470G2X3.0656Y1.1246I-.0716J.166 +N3480G2X3.0314Y1.133I.0007J.077 +N3490G2X2.9976Y1.1593I.0516J.1014 +N3500G2X2.9759Y1.191I.1183J.1042 +N3510G1X2.9541Y1.233Z-0.01 +N3520G3X2.9122Y1.2958I-.3209J-.1681 +N3530G3X2.8824Y1.3195I-.0711J-.0589 +N3540G1X2.7304Y1.3809Z-0.01 +N3550G2X2.582Y1.442I8.9839J22.0271 +N3560G00X2.582Y1.442Z0.1 +N3570G00X2.4811Y1.3039Z0.1 +N3580G1X2.4811Y1.3039Z-0.01F12 +N3590G2X2.5227Y1.2777I-.1753J-.3249F24 +N3600G2X2.6012Y1.1952I-.1843J-.2539 +N3610G2X2.6473Y1.0866I-.2817J-.1837 +N3620G2X2.6573Y1.0229I-.4554J-.1043 +N3630G2X2.6583Y.9824I-.32J-.028 +N3640G2X2.6537Y.9594I-.0742J.0029 +N3650G2X2.6386Y.9294I-.1433J.0533 +N3660G2X2.5935Y.8752I-.2526J.1642 +N3670G2X2.4807Y.7793I-.9166J.9642 +N3680G2X2.3002Y.6547I-1.4907J1.9661 +N3690G2X2.1501Y.5722I-.7975J1.2727 +N3700G2X1.9556Y.4996I-.5046J1.056 +N3710G2X1.6308Y.4876I-.1881J.6847 +N3720G2X1.4388Y.544I.2098J1.0692 +N3730G2X1.0721Y.7218I1.0191J2.5686 +N3740G2X.9269Y.8163I.8429J1.4542 +N3750G2X.8593Y.8765I.2694J.3707 +N3760G2X.8236Y.9274I.1714J.158 +N3770G2X.8146Y.9629I.0715J.0369 +N3780G2X.8379Y1.1175I.4674J.0086 +N3790G2X.9396Y1.2654I.3037J-.0998 +N3800G2X.9782Y1.2905I.1356J-.1664 +N3810G3X1.0539Y1.3299I-1.834J3.616 +N3820G3X1.1835Y1.4004I-4.4819J8.394 +N3830G3X1.3448Y1.4911I-7.2425J13.0721 +N3840G3X1.3795Y1.4207I1.4811J.688 +N3850G3X1.4028Y1.3803I.5107J.2678 +N3860G3X1.484Y1.2783I.5084J.3215 +N3870G3X1.6633Y1.177I.2689J.2665 +N3880G3X1.7754Y1.1653I.099J.4066 +N3890G3X1.8544Y1.1762I-.0117J.378 +N3900G3X1.968Y1.2323I-.0707J.2858 +N3910G3X2.0233Y1.2858I-.2603J.3244 +N3920G3X2.0893Y1.3785I-.4769J.4094 +N3930G3X2.1496Y1.4911I-1.5361J.8965 +N3940G3X2.2501Y1.4324I8.3749J14.2267 +N3950G3X2.309Y1.3988I2.8115J4.8538 +N3960G3X2.4811Y1.3039I5.303J9.4159 +N3970G00X2.4811Y1.3039Z0.1 +N3980G00Z0.4 +N3990G00X0Y0 +N4000M05 +N4010M30 +N4020% diff --git a/tests/test-files/Smiley face.tap b/tests/test-files/Smiley face.tap new file mode 100644 index 0000000..b13a7c7 --- /dev/null +++ b/tests/test-files/Smiley face.tap @@ -0,0 +1,68 @@ +(Created 7:48:52 AM 5/1/2011 from Smiley face.dxf) +(Post = Mikes Mach3 Router) +(Tool 8 = .250 Vee bit) +N0001 G90 +N0002 G20 G91.1 M3 +N0003 G00 X0.1250 Y0.0000 Z0.5000 +N0004 G00 X0.1250 Y0.0000 Z0.5000 +N0005 G01 X0.1250 Y0.0000 Z-0.0500 F10.00 +N0006 G03 X0.1250 Y0.0000 I-0.1250 J0.0000 F40.00 +N0007 G00 X0.1250 Y0.0000 Z0.5000 +N0008 G00 X1.8215 Y4.2445 Z0.5000 +N0009 G01 X1.8215 Y4.2445 Z-0.0500 F10.00 +N0010 G03 X1.8215 Y4.2445 I-0.1250 J0.0000 F40.00 +N0011 G00 X1.8215 Y4.2445 Z0.5000 +N0012 G00 X2.2583 Y5.1186 Z0.5000 +N0013 G01 X2.2583 Y5.1186 Z-0.0500 F10.00 +N0014 G01 X2.2583 Y5.9313 Z-0.0500 F40.00 +N0015 G00 X2.2583 Y5.9313 Z0.5000 +N0016 G00 X3.0000 Y6.0244 Z0.5000 +N0017 G01 X3.0000 Y6.0244 Z-0.0500 F10.00 +N0018 G01 X3.0000 Y5.1186 Z-0.0500 F40.00 +N0019 G00 X3.0000 Y5.1186 Z0.5000 +N0020 G00 X3.7417 Y5.1186 Z0.5000 +N0021 G01 X3.7417 Y5.1186 Z-0.0500 F10.00 +N0022 G01 X3.7417 Y5.9313 Z-0.0500 F40.00 +N0023 G00 X3.7417 Y5.9313 Z0.5000 +N0024 G00 X4.4835 Y5.1186 Z0.5000 +N0025 G01 X4.4835 Y5.1186 Z-0.0500 F10.00 +N0026 G01 X4.4835 Y5.6320 Z-0.0500 F40.00 +N0027 G00 X4.4835 Y5.6320 Z0.5000 +N0028 G00 X4.7885 Y4.2445 Z0.5000 +N0029 G01 X4.7885 Y4.2445 Z-0.0500 F10.00 +N0030 G03 X4.7885 Y4.2445 I-0.1250 J0.0000 F40.00 +N0031 G00 X4.7885 Y4.2445 Z0.5000 +N0032 G00 X1.5165 Y1.8003 Z0.5000 +N0033 G01 X1.5165 Y1.8003 Z-0.0500 F10.00 +N0034 G03 X4.4835 Y1.8003 I1.4835 J0.8852 F40.00 +N0035 G02 X1.5165 Y1.8003 I-1.4835 J1.2241 +N0036 G00 X1.5165 Y1.8003 Z0.5000 +N0037 G00 X2.4130 Y2.6855 Z0.5000 +N0038 G01 X2.4130 Y2.6855 Z-0.0500 F10.00 +N0039 G01 X3.5870 Y2.6855 Z-0.0500 F40.00 +N0040 G01 X3.0000 Y3.7022 Z-0.0500 +N0041 G01 X2.4130 Y2.6855 Z-0.0500 +N0042 G00 X2.4130 Y2.6855 Z0.5000 +N0043 G00 X2.0165 Y4.3945 Z0.5000 +N0044 G01 X2.0165 Y4.3945 Z-0.0500 F10.00 +N0045 G03 X2.0165 Y4.3945 I-0.5000 J0.0000 F40.00 +N0046 G00 X2.0165 Y4.3945 Z0.5000 +N0047 G00 X4.9835 Y4.3945 Z0.5000 +N0048 G01 X4.9835 Y4.3945 Z-0.0500 F10.00 +N0049 G03 X4.9835 Y4.3945 I-0.5000 J0.0000 F40.00 +N0050 G00 X4.9835 Y4.3945 Z0.5000 +N0051 G00 X6.0000 Y3.0244 Z0.5000 +N0052 G01 X6.0000 Y3.0244 Z-0.0500 F10.00 +N0053 G03 X6.0000 Y3.0244 I-3.0000 J0.0000 F40.00 +N0054 G00 X6.0000 Y3.0244 Z0.5000 +N0055 G00 X1.5165 Y5.1186 Z0.5000 +N0056 G01 X1.5165 Y5.1186 Z-0.0500 F10.00 +N0057 G01 X1.5165 Y5.6320 Z-0.0500 F40.00 +N0058 G00 X1.5165 Y5.6320 Z0.5000 +N0059 G00 X0.8518 Y5.1186 Z0.5000 +N0060 G01 X0.8518 Y5.1186 Z-0.0500 F10.00 +N0061 G01 X5.1482 Y5.1186 Z-0.0500 F40.00 +N0062 G00 X5.1482 Y5.1186 Z0.5000 +N0063 M5 +N0064 M30 +N0065 % diff --git a/tests/test-files/Smiley001.nc b/tests/test-files/Smiley001.nc new file mode 100644 index 0000000..5567ae7 --- /dev/null +++ b/tests/test-files/Smiley001.nc @@ -0,0 +1,59 @@ +G20 G40 G90 +G91.1 +G0 Z0.250 +G0 X-0.305 Y-0.127 Z0.250 +G1 X-0.305 Y-0.127 Z-0.010 F50 +G3 X0.304 Y-0.127 Z-0.010 I0.305 J0.115 F50 +G2 X-0.305 Y-0.127 Z-0.010 I-0.305 J0.172 +G0 X-0.305 Y-0.127 Z0.250 +G0 X-0.372 Y-0.145 Z0.250 +G1 X-0.372 Y-0.145 Z-0.010 F50 +G3 X-0.267 Y-0.070 Z-0.010 I0.010 J0.097 F50 +G0 X-0.267 Y-0.070 Z0.250 +G0 X0.266 Y-0.070 Z0.250 +G1 X0.266 Y-0.070 Z-0.010 F50 +G3 X0.371 Y-0.145 Z-0.010 I0.095 J0.021 F50 +G0 X0.371 Y-0.145 Z0.250 +G0 X0.174 Y0.083 Z0.250 +G1 X0.174 Y0.083 Z-0.010 F50 +G2 X0.151 Y0.077 Z-0.010 I-0.023 J0.037 F50 +G2 X0.128 Y0.083 Z-0.010 I0.000 J0.044 +G2 X0.105 Y0.105 Z-0.010 I0.039 J0.063 +G2 X0.092 Y0.135 Z-0.010 I0.087 J0.058 +G2 X0.086 Y0.174 Z-0.010 I0.140 J0.039 +G2 X0.092 Y0.213 Z-0.010 I0.145 J0.000 +G2 X0.105 Y0.243 Z-0.010 I0.100 J-0.028 +G2 X0.128 Y0.264 Z-0.010 I0.062 J-0.041 +G2 X0.151 Y0.271 Z-0.010 I0.023 J-0.037 +G2 X0.174 Y0.264 Z-0.010 I0.000 J-0.044 +G2 X0.197 Y0.243 Z-0.010 I-0.039 J-0.063 +G2 X0.211 Y0.213 Z-0.010 I-0.087 J-0.058 +G2 X0.216 Y0.174 Z-0.010 I-0.140 J-0.039 +G2 X0.211 Y0.135 Z-0.010 I-0.145 J0.000 +G2 X0.197 Y0.105 Z-0.010 I-0.100 J0.028 +G2 X0.174 Y0.083 Z-0.010 I-0.062 J0.041 +G0 X0.174 Y0.083 Z0.250 +G0 X-0.174 Y0.083 Z0.250 +G1 X-0.174 Y0.083 Z-0.010 F50 +G3 X-0.151 Y0.077 Z-0.010 I0.023 J0.037 F50 +G3 X-0.128 Y0.083 Z-0.010 I0.000 J0.044 +G3 X-0.105 Y0.105 Z-0.010 I-0.039 J0.063 +G3 X-0.092 Y0.135 Z-0.010 I-0.087 J0.058 +G3 X-0.086 Y0.174 Z-0.010 I-0.140 J0.039 +G3 X-0.092 Y0.213 Z-0.010 I-0.145 J0.000 +G3 X-0.105 Y0.243 Z-0.010 I-0.100 J-0.028 +G3 X-0.128 Y0.264 Z-0.010 I-0.062 J-0.041 +G3 X-0.151 Y0.271 Z-0.010 I-0.023 J-0.037 +G3 X-0.174 Y0.264 Z-0.010 I0.000 J-0.044 +G3 X-0.197 Y0.243 Z-0.010 I0.039 J-0.063 +G3 X-0.211 Y0.213 Z-0.010 I0.087 J-0.058 +G3 X-0.216 Y0.174 Z-0.010 I0.140 J-0.039 +G3 X-0.211 Y0.135 Z-0.010 I0.145 J0.000 +G3 X-0.197 Y0.105 Z-0.010 I0.100 J0.028 +G3 X-0.174 Y0.083 Z-0.010 I0.062 J0.041 +G0 X-0.174 Y0.083 Z0.250 +G0 X0.000 Y0.500 Z0.250 +G1 X0.000 Y0.500 Z-0.010 F50 +G2 X0.000 Y0.500 Z-0.010 I0.000 J-0.500 F50 +G0 X0.000 Y0.500 Z0.250 +M30 diff --git a/tests/test-files/Smiley002.nc b/tests/test-files/Smiley002.nc new file mode 100644 index 0000000..25f32b7 --- /dev/null +++ b/tests/test-files/Smiley002.nc @@ -0,0 +1,142 @@ +G20 G40 G90 +G91.1 +G0 Z0.250 +G0 X0.000 Y-0.366 Z0.250 +G1 X0.000 Y-0.366 Z-0.010 F50 +G2 X-0.056 Y-0.363 Z-0.010 I-0.006 J0.435 F50 +G2 X-0.088 Y-0.347 Z-0.010 I0.013 J0.066 +G2 X-0.082 Y-0.311 Z-0.010 I0.015 J0.016 +G2 X-0.041 Y-0.308 Z-0.010 I0.025 J-0.054 +G2 X-0.006 Y-0.326 Z-0.010 I-0.025 J-0.087 +G1 X0.000 Y-0.332 Z-0.010 +G1 X0.006 Y-0.326 Z-0.010 +G2 X0.041 Y-0.308 Z-0.010 I0.060 J-0.069 +G2 X0.082 Y-0.311 Z-0.010 I0.016 J-0.057 +G2 X0.088 Y-0.347 Z-0.010 I-0.009 J-0.020 +G2 X0.056 Y-0.363 Z-0.010 I-0.045 J0.049 +G2 X0.000 Y-0.366 Z-0.010 I-0.050 J0.432 +G0 X0.000 Y-0.366 Z0.250 +G0 X-0.251 Y-0.117 Z0.250 +G1 X-0.251 Y-0.117 Z-0.010 F50 +G1 X-0.197 Y-0.278 Z-0.010 F50 +G3 X-0.145 Y-0.349 Z-0.010 I0.139 J0.047 +G3 X-0.114 Y-0.364 Z-0.010 I0.052 J0.071 +G3 X0.000 Y-0.377 Z-0.010 I0.108 J0.433 +G3 X0.114 Y-0.364 Z-0.010 I0.006 J0.446 +G3 X0.145 Y-0.349 Z-0.010 I-0.021 J0.085 +G3 X0.197 Y-0.278 Z-0.010 I-0.088 J0.118 +G1 X0.251 Y-0.117 Z-0.010 +G0 X0.251 Y-0.117 Z0.250 +G0 X-0.228 Y-0.117 Z0.250 +G1 X-0.228 Y-0.117 Z-0.010 F50 +G3 X0.228 Y-0.117 Z-0.010 I0.228 J0.270 F50 +G0 X0.228 Y-0.117 Z0.250 +G0 X0.359 Y-0.037 Z0.250 +G1 X0.359 Y-0.037 Z-0.010 F50 +G3 X0.269 Y-0.031 Z-0.010 I-0.051 J-0.089 F50 +G0 X0.269 Y-0.031 Z0.250 +G0 X-0.314 Y-0.023 Z0.250 +G1 X-0.314 Y-0.023 Z-0.010 F50 +G3 X-0.258 Y-0.117 Z-0.010 I0.055 J-0.031 F50 +G1 X0.258 Y-0.117 Z-0.010 +G3 X0.314 Y-0.023 Z-0.010 I0.000 J0.063 +G0 X0.314 Y-0.023 Z0.250 +G0 X-0.269 Y-0.031 Z0.250 +G1 X-0.269 Y-0.031 Z-0.010 F50 +G3 X-0.359 Y-0.037 Z-0.010 I-0.040 J-0.095 F50 +G0 X-0.359 Y-0.037 Z0.250 +G0 X-0.225 Y0.286 Z0.250 +G1 X-0.225 Y0.286 Z-0.010 F50 +G3 X-0.252 Y0.217 Z-0.010 I0.249 J-0.134 F50 +G3 X-0.259 Y0.143 Z-0.010 I0.275 J-0.065 +G3 X-0.248 Y0.083 Z-0.010 I0.199 J0.006 +G3 X-0.217 Y0.033 Z-0.010 I0.130 J0.046 +G3 X-0.179 Y0.011 Z-0.010 I0.057 J0.055 +G3 X-0.134 Y0.013 Z-0.010 I0.018 J0.077 +G3 X-0.084 Y0.044 Z-0.010 I-0.046 J0.131 +G3 X-0.047 Y0.093 Z-0.010 I-0.138 J0.144 +G3 X-0.021 Y0.162 Z-0.010 I-0.249 J0.134 +G3 X-0.013 Y0.235 Z-0.010 I-0.275 J0.065 +G3 X-0.024 Y0.296 Z-0.010 I-0.199 J-0.006 +G3 X-0.055 Y0.346 Z-0.010 I-0.130 J-0.046 +G3 X-0.094 Y0.368 Z-0.010 I-0.057 J-0.055 +G3 X-0.138 Y0.366 Z-0.010 I-0.018 J-0.077 +G3 X-0.188 Y0.335 Z-0.010 I0.046 J-0.131 +G3 X-0.225 Y0.286 Z-0.010 I0.138 J-0.144 +G0 X-0.225 Y0.286 Z0.250 +G0 X-0.092 Y0.154 Z0.250 +G1 X-0.092 Y0.154 Z-0.010 F50 +G3 X-0.094 Y0.175 Z-0.010 I-0.067 J0.004 F50 +G3 X-0.102 Y0.192 Z-0.010 I-0.044 J-0.011 +G3 X-0.114 Y0.200 Z-0.010 I-0.018 J-0.015 +G3 X-0.127 Y0.200 Z-0.010 I-0.007 J-0.023 +G3 X-0.144 Y0.190 Z-0.010 I0.013 J-0.043 +G3 X-0.157 Y0.175 Z-0.010 I0.044 J-0.051 +G3 X-0.167 Y0.153 Z-0.010 I0.084 J-0.052 +G3 X-0.172 Y0.129 Z-0.010 I0.094 J-0.029 +G3 X-0.170 Y0.108 Z-0.010 I0.067 J-0.004 +G3 X-0.161 Y0.091 Z-0.010 I0.044 J0.011 +G3 X-0.150 Y0.084 Z-0.010 I0.018 J0.015 +G3 X-0.136 Y0.083 Z-0.010 I0.007 J0.023 +G3 X-0.119 Y0.093 Z-0.010 I-0.013 J0.043 +G3 X-0.106 Y0.108 Z-0.010 I-0.044 J0.051 +G3 X-0.096 Y0.130 Z-0.010 I-0.084 J0.052 +G3 X-0.092 Y0.154 Z-0.010 I-0.094 J0.029 +G0 X-0.092 Y0.154 Z0.250 +G0 X-0.089 Y0.413 Z0.250 +G1 X-0.089 Y0.413 Z-0.010 F50 +G3 X-0.168 Y0.414 Z-0.010 I-0.040 J-0.055 F50 +G3 X-0.241 Y0.335 Z-0.010 I0.141 J-0.204 +G2 X-0.193 Y0.418 Z-0.010 I0.126 J-0.018 +G2 X-0.089 Y0.413 Z-0.010 I0.049 J-0.064 +G0 X-0.089 Y0.413 Z0.250 +G0 X0.089 Y0.413 Z0.250 +G1 X0.089 Y0.413 Z-0.010 F50 +G2 X0.168 Y0.414 Z-0.010 I0.040 J-0.055 F50 +G2 X0.241 Y0.335 Z-0.010 I-0.141 J-0.204 +G3 X0.193 Y0.418 Z-0.010 I-0.126 J-0.018 +G3 X0.089 Y0.413 Z-0.010 I-0.049 J-0.064 +G0 X0.089 Y0.413 Z0.250 +G0 X0.225 Y0.286 Z0.250 +G1 X0.225 Y0.286 Z-0.010 F50 +G2 X0.252 Y0.217 Z-0.010 I-0.249 J-0.134 F50 +G2 X0.259 Y0.143 Z-0.010 I-0.275 J-0.065 +G2 X0.248 Y0.083 Z-0.010 I-0.199 J0.006 +G2 X0.217 Y0.033 Z-0.010 I-0.130 J0.046 +G2 X0.179 Y0.011 Z-0.010 I-0.057 J0.055 +G2 X0.134 Y0.013 Z-0.010 I-0.018 J0.077 +G2 X0.084 Y0.044 Z-0.010 I0.046 J0.131 +G2 X0.047 Y0.093 Z-0.010 I0.138 J0.144 +G2 X0.021 Y0.162 Z-0.010 I0.249 J0.134 +G2 X0.013 Y0.235 Z-0.010 I0.275 J0.065 +G2 X0.024 Y0.296 Z-0.010 I0.199 J-0.006 +G2 X0.055 Y0.346 Z-0.010 I0.130 J-0.046 +G2 X0.094 Y0.368 Z-0.010 I0.057 J-0.055 +G2 X0.138 Y0.366 Z-0.010 I0.018 J-0.077 +G2 X0.188 Y0.335 Z-0.010 I-0.046 J-0.131 +G2 X0.225 Y0.286 Z-0.010 I-0.138 J-0.144 +G0 X0.225 Y0.286 Z0.250 +G0 X0.092 Y0.154 Z0.250 +G1 X0.092 Y0.154 Z-0.010 F50 +G2 X0.094 Y0.175 Z-0.010 I0.067 J0.004 F50 +G2 X0.102 Y0.192 Z-0.010 I0.044 J-0.011 +G2 X0.114 Y0.200 Z-0.010 I0.018 J-0.015 +G2 X0.127 Y0.200 Z-0.010 I0.007 J-0.023 +G2 X0.144 Y0.190 Z-0.010 I-0.013 J-0.043 +G2 X0.157 Y0.175 Z-0.010 I-0.044 J-0.051 +G2 X0.167 Y0.153 Z-0.010 I-0.084 J-0.052 +G2 X0.172 Y0.129 Z-0.010 I-0.094 J-0.029 +G2 X0.170 Y0.108 Z-0.010 I-0.067 J-0.004 +G2 X0.161 Y0.091 Z-0.010 I-0.044 J0.011 +G2 X0.150 Y0.084 Z-0.010 I-0.018 J0.015 +G2 X0.136 Y0.083 Z-0.010 I-0.007 J0.023 +G2 X0.119 Y0.093 Z-0.010 I0.013 J0.043 +G2 X0.106 Y0.108 Z-0.010 I0.044 J0.051 +G2 X0.096 Y0.130 Z-0.010 I0.084 J0.052 +G2 X0.092 Y0.154 Z-0.010 I0.094 J0.029 +G0 X0.092 Y0.154 Z0.250 +G0 X0.000 Y0.500 Z0.250 +G1 X0.000 Y0.500 Z-0.010 F50 +G2 X0.000 Y0.500 Z-0.010 I0.000 J-0.500 F50 +G0 X0.000 Y0.500 Z0.250 +M30 diff --git a/tests/test-files/Snow White.tap b/tests/test-files/Snow White.tap new file mode 100644 index 0000000..2757671 --- /dev/null +++ b/tests/test-files/Snow White.tap @@ -0,0 +1,170 @@ +( Snow White ) +N100G20G17G90G40G49G80 +N110G70G91.1 +N120T1M06 +N140G00G43Z0.5H1 +N150S12000M03 +N180G94 +N190 (Engrave or Vinyl Cut) +N200G00X2.445Y1.5325Z0.2 +N210G1Z-.01F10.0 +N220G2X2.57Y1.6325I1.52J-1.7725F20.0 +N230G3X2.6975Y1.7325I-1.925J2.5875 +N240G3X2.835Y1.9175I-.305J.37 +N250G3X2.8975Y2.22I-.78J.3225 +N260G3X2.755Y2.7925I-1.1075J.0275 +N270G3X2.48Y3.235I-5.635J-3.1975 +N280G3X2.26Y2.4375I1.0375J-.7125 +N290G3X2.445Y1.5325I3.4725J.2325 +N300G00Z0.2 +N310G00X2.9225Y1.46 +N320G1Z-.01F10.0 +N330G3X3.3075Y1.635I-.075J.67F20.0 +N340G3X3.4675Y1.965I-.345J.37 +N350G3X3.425Y2.3I-.8125J.065 +N360G3X3.26Y2.5625I-.6625J-.2325 +N370G2X3.3425Y2.1325I-7.26J-1.65 +N380G2X3.35Y2.0075I-.61J-.1025 +N390G2X3.2575Y1.7525I-.4425J.0175 +N400G2X2.9225Y1.46I-.9325J.73 +N410G00Z0.2 +N470G00X3.42Y6.7575 +N480G1Z-.01F10.0 +N490G3X3.8575Y6.9375I-.17J1.0425F20.0 +N500G3X4.1425Y7.265I-.515J.73 +N510G2X3.8375Y7.0275I-2.375J2.705 +N520G2X3.42Y6.7575I-3.39J4.815 +N530G00Z0.2 +N540G00X3.18Y5.915 +N550G1Z-.01F10.0 +N560G1X3.28Y5.79F20.0 +N570G2X3.375Y5.665I-2.155J-1.76 +N580G2X3.455Y5.385I-.3375J-.245 +N590G2X3.325Y5.04I-.6675J.055 +N600G2X2.865Y4.875I-.355J.2625 +N610G2X2.3925Y5.0125I1.3875J5.6575 +N620G2X2.7925Y4.81I-4.5375J-9.455 +N630G2X2.9575Y4.71I-.94J-1.76 +N640G2X3.485Y4.0025I-.725J-1.0875 +N650G2X3.6925Y2.89I-5.035J-1.525 +N660G3X3.265Y3.3025I-20.3225J-20.755 +N670G3X3.1825Y3.37I-.6325J-.675 +N680G3X2.465Y3.7675I-1.825J-2.4525 +N690G3X2.0975Y3.8375I-.37J-.9525 +N700G2X3.0425Y3.3475I-3.105J-7.16 +N710G2X3.4725Y3.0025I-1.0825J-1.78 +N720G2X4.0375Y2.3525I-7.0775J-6.7275 +N730G2X4.31Y1.95I-2.4375J-1.9375 +N740G2X4.4675Y1.0975I-1.155J-.655 +N750G2X4.315Y.615I-1.6075J.24 +N760G2X4.0125Y.0975I-3.8775J1.925 +N770G2X3.93Y.05I-.09J.0625 +N780G3X3.7125Y.53I-.765J-.0575 +N790G3X2.925Y1.0775I-1.8125J-1.775 +N800G3X2.435Y1.17I-.4425J-1 +N810G2X1.505Y1.1875I-.3175J7.0825 +N820G2X1.3825Y1.24I.02J.2225 +N830G2X1.2425Y1.405I.38J.4575 +N840G1X1.2825Y1.435 +N850G1X1.3225Y1.46 +N860G2X1.845Y1.5475I.375J-.635 +N870G3X2.5275Y1.4225I3.695J18.2125 +N880G1X2.2225Y1.515 +N890G2X2.0475Y1.73I.07J.235 +N900G3X1.9475Y2.7025I-22.19J-1.765 +N910G3X1.79Y3.1625I-1.1675J-.145 +N920G1X1.6725Y2.85 +N930G3X1.56Y2.5375I5.2225J-2.0525 +N940G3X1.6525Y1.98I.58J-.19 +N950G3X1.9925Y1.585I3.48J2.6375 +N960G1X1.85Y1.605 +N970G1X1.6725Y1.62 +N980G2X1.46Y1.7225I.02J.31 +N990G2X1.1875Y2.165I1.12J.9975 +N1000G2X1.1675Y2.4225I.4J.16 +N1010G2X1.2925Y2.8525I4.3875J-1.03 +N1020G1X1.2525Y2.8325 +N1030G1X1.235Y2.8225 +N1040G3X.9575Y2.5725I1.245J-1.6725 +N1050G3X.8575Y2.415I.3725J-.3475 +N1060G3X.94Y1.98I.3775J-.1525 +N1070G3X1.435Y1.6025I1.51J1.4575 +N1080G3X1.3325Y1.5225I.375J-.59 +N1090G2X1.2075Y1.485I-.1025J.11 +N1100G2X.8575Y1.66I.095J.63 +N1110G2X.5575Y2.2375I.73J.7425 +N1120G2X.6875Y2.74I.6425J.1025 +N1130G1X1.06Y3.2175 +N1140G3X1.1725Y3.44I-.505J.3925 +N1150G3X1.1575Y3.5725I-.1775J.05 +N1160G3X.935Y3.7675I-.36J-.185 +N1170G2X.5025Y4.1075I.2975J.8275 +N1180G2X.15Y4.7175I4.4125J2.9475 +N1190G2X.055Y5.02I.97J.475 +N1200G2X.07Y5.735I1.9375J.315 +N1210G2X.465Y6.215I.65J-.135 +N1220G3Y5.9825I.49J-.1175 +N1230G3X.5675Y5.7725I.505J.115 +N1240G3X.6625Y5.685I.3825J.3075 +N1250G3X1.05Y5.425I3.6875J5.11 +N1260G2X.5925Y5.91I2.8075J3.1 +N1270G2X.515Y6.0925I.2875J.23 +N1280G2X.6175Y6.3275I.2475J.0325 +N1290G2X.8Y6.4325I.6025J-.825 +N1300G3X.8575Y6.5125I-.04J.09 +N1310G1X.9075Y6.89 +N1320G2X1.1475Y7.5225I1.5125J-.215 +N1330G2X1.7275Y8.1225I1.9475J-1.295 +N1340G2X2.1125Y8.2625I.4325J-.6 +N1350G2X2.905Y8.1325I.12J-1.765 +N1360G3X2.57Y7.6775I2.885J-2.4825 +N1370G3X2.42Y7.2525I.8525J-.5375 +N1380G2X2.7075Y7.7925I4.635J-2.13 +N1390G2X2.9325Y8.09I1.6275J-.9975 +N1400G3X3.0325Y8.0025I1.355J1.4325 +N1410G3X3.0725Y7.975I.1725J.21 +N1420G2X2.885Y8.3875I.6875J.5625 +N1430G2X2.9575Y8.645I.3025J.0525 +N1440G2X3.22Y8.6125I.12J-.1075 +N1450G3X3.3825Y8.3275I4.395J2.325 +N1460G1X3.4675Y8.315 +N1470G1X3.51Y8.3075 +N1480G2X3.5525Y8.2275I-.02J-.0625 +N1490G2X3.445Y8.07I-.2775J.0725 +N1500G3X3Y7.675I1.875J-2.57 +N1510G3X2.6925Y7.2675I1.73J-1.625 +N1520G1X2.865Y7.4625 +N1530G2X3.04Y7.6575I3.15J-2.6975 +N1540G2X3.4875Y8.06I3.24J-3.1475 +N1550G2X4.115Y8.0675I.3175J-.405 +N1560G2X4.2575Y7.5625I-.2575J-.345 +N1570G3X4.26Y7.28I.3525J-.1375 +N1580G2X4.3025Y6.4175I-1.195J-.49 +N1590G3X4.2725Y6.2025I.67J-.2025 +N1600G3X4.355Y6.235I-.0975J.37 +N1610G3X4.4975Y6.3225I-.6425J1.2 +N1620G2X4.4125Y6.2025I-.325J.1375 +N1630G2X4.2875Y6.1275I-.24J.2575 +N1640G3X4.23Y5.9625I.035J-.105 +N1650G3X4.4425Y5.69I1.725J1.135 +N1660G2X4.4475Y5.52I-.095J-.0875 +N1670G1X4.325Y5.38 +N1680G3Y5.2725I.06J-.055 +N1690G2X4.3175Y5.0725I-.105J-.095 +N1700G3X4.27Y4.94I.1075J-.115 +N1710G2X4.23Y4.805I-.1775J-.0225 +N1720G3X4.1525Y4.67I.355J-.29 +N1730G2X4.0925Y4.53I-1.1525J.4225 +N1740G2X3.8075Y4.35I-.2925J.15 +N1750G3X3.475Y4.3025I.035J-1.4125 +N1760G3X3.3125Y4.51I-3.0125J-2.2075 +N1770G3X3.105Y4.74I-3.9825J-3.3775 +N1780G3X3.4075Y5.0225I-.6225J.9775 +N1790G3X3.55Y5.335I-.65J.4875 +N1800G3X3.4425Y5.6875I-.37J.08 +N1810G3X3.18Y5.915I-2.1425J-2.2275 +N1830G00Z0.5 +N1840G00X0Y0 +N1850M05 +N1860M30 +N1870% diff --git a/tests/test-files/Star Trek.tap b/tests/test-files/Star Trek.tap new file mode 100644 index 0000000..02e98a3 --- /dev/null +++ b/tests/test-files/Star Trek.tap @@ -0,0 +1,411 @@ +(Tweakie.CNC) +G00G21G17G90G40G49G80 +G71G91.1 +T1M06 +S12000M03 +G94 M63P1 F1016.0 +X0.000Y0.000 +G00X0.033Y15.914M63P1 +G1X0.033Y15.914M62P1 +G1X13.855Y13.140M62P1 +G1X8.012Y1.013 +G1X18.895Y8.132 +G1X28.215Y0.000 +G00X28.215Y0.000M63P1 +G00X28.244Y0.000M63P1 +G1X28.244Y0.000M62P1 +G3X27.385Y6.606I-1605.937J-205.318 +G2X26.567Y13.218I408.701J53.962 +G1X42.895Y23.862M62P1 +G2X42.640Y26.315I527.406J55.934 +G3X42.374Y28.766I-175.888J-17.827 +G2X42.407Y29.013I0.506J0.058 +G2X42.519Y29.213I0.806J-0.320 +G3X42.412Y29.252I-0.205J-0.396 +G2X42.317Y29.318I0.033J0.148 +G2X42.301Y29.378I0.086J0.056 +G3X42.298Y29.628I-2.420J0.102 +G2X38.881Y28.566I-171.156J544.552 +G2X21.945Y23.371I-4108.938J13365.432 +G1X13.257Y33.082M62P1 +G3X13.319Y26.726I1947.056J15.903 +G2X13.384Y20.371I-2736.022J-31.279 +G1X0.672Y16.140M62P1 +G1X0.165Y15.991 +G2X0.033Y15.973I-0.124J0.433 +G00X0.033Y15.973M63P1 +G00X17.110Y11.385M63P1 +G1X17.110Y11.385M62P1 +G1X15.476Y16.162M62P1 +G1X19.386Y12.709 +G1X18.317Y17.815 +G1X21.662Y14.034 +G00X21.662Y14.034M63P1 +G00X21.597Y16.717M63P1 +G1X21.597Y16.717M62P1 +G2X21.729Y17.275I1.794J-0.130 +G2X22.387Y18.023I1.420J-0.588 +G2X24.667Y16.134I0.784J-1.374 +G2X21.709Y16.053I-1.494J0.515 +G2X21.614Y16.381I1.498J0.610 +G2X21.592Y16.715I1.527J0.270 +G1X21.656Y18.260M62P1 +G1X21.721Y19.804 +G00X21.721Y19.804M63P1 +G00X24.434Y19.901M63P1 +G1X24.434Y19.901M62P1 +G2X24.288Y20.373I1.738J0.796 +G2X24.403Y21.161I1.268J0.218 +G2X25.914Y21.870I1.200J-0.592 +G2X26.938Y20.552I-0.312J-1.299 +G1X26.934Y20.479M62P1 +G1X26.913Y20.313 +G2X26.692Y19.043I-23.731J3.479 +G3X26.234Y16.694I168.388J-34.014 +G1X28.588Y18.064M62P1 +G00X28.588Y18.064M63P1 +G00X45.529Y30.532M63P1 +G1X45.529Y30.532M62P1 +G2X52.306Y32.524I1246.421J-4228.934 +G2X57.375Y34.003I692.553J-2363.694 +G2X56.947Y34.874I13.755J7.298 +G2X56.880Y35.094I0.801J0.363 +G3X54.513Y35.505I-79.750J-452.575 +G2X53.927Y35.637I0.980J5.738 +G2X53.776Y35.735I0.081J0.290 +G2X53.584Y35.989I2.608J2.160 +G3X53.771Y36.194I-2.433J2.401 +G2X53.974Y36.384I0.875J-0.734 +G1X64.244Y41.566M62P1 +G2X66.059Y42.433I31.629J-63.907 +G2X66.911Y42.588I0.727J-1.579 +G2X67.379Y42.509I-0.184J-2.534 +G2X68.012Y42.295I-1.289J-4.857 +G2X68.081Y42.256I-0.123J-0.297 +G3X68.158Y42.232I0.072J0.096 +G1X97.113Y57.360M62P1 +G2X97.301Y57.343I0.078J-0.192 +G3X97.482Y57.289I0.187J0.297 +G3X97.655Y57.328I0.007J0.372 +G2X98.328Y57.556I1.159J-2.314 +G2X98.965Y57.542I0.287J-1.502 +G2X100.539Y56.809I-0.978J-4.155 +G2X101.682Y54.510I-1.699J-2.278 +G2X100.506Y52.362I-2.585J0.019 +G3X100.158Y51.962I0.526J-0.809 +G2X99.790Y51.580I-0.745J0.349 +G1X99.044Y51.199M62P1 +G3X98.997Y51.036I0.170J-0.137 +G2X98.834Y50.767I-0.252J-0.031 +G1X98.825Y50.764M62P1 +G1X98.815Y50.761 +G1X91.578Y47.249 +G1X91.757Y46.945 +G3X91.941Y46.645I5.339J3.076 +G1X99.580Y35.901M62P1 +G1X100.113Y39.541 +G1X100.369Y41.266 +G1X97.290Y39.873 +G1X96.261Y41.438 +G1X95.234Y43.003 +G2X94.721Y43.810I29.361J19.221 +G2X94.622Y43.995I1.430J0.882 +G3X105.371Y50.313I-5698.440J9707.666 +G3X108.316Y52.054I-429.841J730.409 +G3X109.355Y50.736I19.078J13.966 +G3X110.902Y49.568I3.367J2.853 +G1X109.130Y45.300M62P1 +G3X108.571Y45.288I0.002J-13.233 +G3X108.310Y45.218I0.026J-0.618 +G1X103.815Y42.911M62P1 +G1X103.064Y37.475 +G1X107.447Y39.910 +G1X109.876Y45.801 +G2X111.100Y48.684I199.626J-83.077 +G2X111.700Y50.012I42.912J-18.592 +G2X110.669Y53.002I1.683J2.253 +G2X111.648Y55.119I6.751J-1.835 +G2X113.893Y57.578I9.877J-6.763 +G2X118.293Y60.619I19.696J-23.799 +G2X123.515Y63.110I19.679J-34.530 +G2X135.336Y66.322I20.864J-53.427 +G2X141.990Y66.854I6.702J-41.982 +G2X146.129Y66.335I0.019J-16.611 +G2X148.819Y65.131I-2.158J-8.426 +G2X149.586Y64.390I-1.689J-2.516 +G3X149.631Y64.337I0.343J0.248 +G2X149.664Y64.275I-0.082J-0.083 +G2X149.657Y64.167I-0.216J-0.040 +G3X149.528Y63.757I18.047J-5.881 +G2X147.830Y60.647I-8.233J2.478 +G2X146.277Y59.121I-9.569J8.180 +G2X142.979Y56.791I-17.061J20.661 +G2X134.226Y52.571I-27.721J46.307 +G2X128.342Y50.681I-22.521J59.994 +G2X121.007Y49.017I-24.640J91.649 +G1X118.735Y48.598M62P1 +G1X117.386Y46.059 +G2X116.925Y45.260I-14.515J7.832 +G2X116.752Y45.026I-1.402J0.861 +G3X116.173Y43.825I1.808J-1.611 +G3X116.203Y41.832I5.328J-0.915 +G3X116.761Y40.032I9.280J1.888 +G3X117.863Y37.908I14.062J5.947 +G3X118.862Y36.588I7.724J4.810 +G3X120.195Y35.590I3.284J2.993 +G2X120.214Y35.518I-0.022J-0.045 +G2X120.085Y35.423I-0.191J0.126 +G1X104.337Y29.005M62P1 +G2X101.797Y28.032I-32.777J81.742 +G2X100.412Y27.712I-1.982J5.422 +G2X99.216Y27.701I-0.653J6.280 +G2X98.475Y27.879I0.220J2.552 +G3X98.322Y27.906I-0.139J-0.343 +G3X97.361Y27.833I0.580J-14.031 +G3X95.234Y27.527I3.603J-32.651 +G3X93.363Y27.124I4.542J-25.640 +G2X92.430Y26.957I-1.646J6.479 +G2X91.665Y26.942I-0.464J4.324 +G2X91.460Y26.981I0.062J0.891 +G2X91.401Y27.025I0.033J0.107 +G1X91.272Y27.350M62P1 +G1X91.446Y28.021 +G3X91.404Y28.258I-0.664J0.006 +G2X91.299Y29.216I1.844J0.687 +G2X91.360Y29.473I1.361J-0.189 +G2X91.475Y29.729I1.455J-0.500 +G2X91.050Y30.397I8.846J6.099 +G2X90.951Y30.802I0.629J0.368 +G1X90.950Y30.826M62P1 +G2X90.955Y30.848I0.032J0.005 +G1X93.752Y32.314M62P1 +G3X95.272Y33.140I-66.215J123.808 +G1X96.788Y33.971M62P1 +G2X95.029Y36.287I50.562J40.220 +G1X88.201Y45.708M62P1 +G3X66.691Y35.913I8550.998J-18808.443 +G2X61.307Y33.480I-357.189J783.279 +G1X60.292Y33.033M62P1 +G2X60.254Y33.036I-0.010J0.117 +G2X60.133Y33.072I0.305J1.260 +G1X59.415Y33.403M62P1 +G3X59.301Y33.386I-0.017J-0.278 +G2X58.847Y33.297I-0.502J1.347 +G2X58.321Y33.349I-0.067J1.989 +G2X57.786Y33.548I0.536J2.265 +G1X48.757Y27.500M62P1 +G1X45.529Y30.532 +G00X45.529Y30.532M63P1 +G00X54.098Y20.976M63P1 +G1X54.098Y20.976M62P1 +G2X54.320Y22.090I1.310J0.318 +G2X56.163Y22.185I0.960J-0.702 +G2X56.493Y21.287I-0.952J-0.859 +G2X56.111Y20.461I-1.160J0.035 +G2X56.017Y20.388I-0.507J0.561 +G1X55.920Y20.321M62P1 +G2X56.379Y20.476I0.839J-1.733 +G2X57.154Y20.390I0.254J-1.261 +G2X57.938Y19.016I-0.540J-1.218 +G2X56.262Y17.848I-1.357J0.160 +G2X55.963Y17.973I0.235J0.979 +G2X55.598Y18.263I1.105J1.766 +G00X55.598Y18.263M63P1 +G00X51.467Y17.269M63P1 +G1X51.467Y17.269M62P1 +G2X51.585Y17.835I1.815J-0.082 +G2X52.230Y18.608I1.450J-0.555 +G2X54.583Y16.763I0.829J-1.366 +G2X51.598Y16.601I-1.523J0.479 +G2X51.493Y16.931I1.507J0.661 +G2X51.462Y17.266I1.524J0.313 +G1X51.485Y18.827M62P1 +G1X51.509Y20.389 +G00X51.509Y20.389M63P1 +G00X47.082Y11.763M63P1 +G1X47.082Y11.763M62P1 +G1X45.302Y16.541M62P1 +G1X49.344Y13.162 +G1X48.126Y18.288 +G1X51.606Y14.561 +G00X51.606Y14.561M63P1 +G00X108.816Y52.254M63P1 +G1X108.816Y52.254M62P1 +G3X109.429Y51.353I3.696J1.858 +G3X110.486Y50.388I5.309J4.752 +G2X110.154Y51.128I16.941J8.047 +G2X109.973Y51.975I2.108J0.892 +G2X110.773Y54.890I5.335J0.104 +G2X112.853Y57.506I12.181J-7.550 +G2X116.779Y60.578I14.897J-14.993 +G2X123.044Y63.694I21.600J-35.571 +G2X137.179Y67.296I21.074J-53.161 +G2X143.440Y67.420I3.733J-30.541 +G2X147.075Y66.695I-1.332J-16.160 +G2X149.274Y65.542I-2.230J-6.929 +G2X149.556Y65.313I-3.776J-4.924 +G1X149.833Y65.079M62P1 +G3X149.918Y66.248I-25.520J2.441 +G3X149.670Y67.421I-2.350J0.117 +G3X148.684Y68.458I-2.197J-1.103 +G3X147.078Y69.164I-4.310J-7.617 +G3X145.448Y69.576I-3.897J-11.995 +G3X143.054Y69.900I-4.686J-25.641 +G3X142.009Y69.986I-8.860J-100.393 +G3X141.764Y70.000I-0.428J-5.497 +G3X140.151Y69.989I-0.668J-20.137 +G3X135.996Y69.614I2.276J-48.437 +G3X128.793Y68.151I7.236J-54.082 +G3X119.281Y64.609I15.171J-55.285 +G3X113.568Y61.352I19.420J-40.709 +G3X110.418Y58.662I9.976J-14.866 +G3X108.499Y55.118I5.939J-5.509 +G3X108.816Y52.254I4.017J-1.005 +G00X108.816Y52.254M63P1 +G00X119.882Y53.603M63P1 +G1X119.882Y53.603M62P1 +G3X120.315Y53.118I0.967J0.427 +G3X121.513Y52.649I2.087J3.568 +G3X123.377Y52.339I3.935J17.877 +G3X128.276Y52.052I5.048J44.327 +G3X130.398Y52.153I0.070J20.929 +G3X131.853Y52.586I-0.393J3.983 +G3X132.461Y52.954I-2.509J4.823 +G3X134.803Y54.677I-35.226J50.343 +G3X139.791Y58.694I-97.462J126.131 +G3X140.505Y59.461I-2.741J3.267 +G3X140.801Y60.014I-1.895J1.372 +G3X140.630Y60.798I-0.693J0.259 +G3X139.949Y61.191I-1.086J-1.094 +G3X137.573Y61.523I-2.484J-9.107 +G3X136.905Y61.516I-0.167J-14.581 +G3X136.159Y61.475I0.627J-18.239 +G3X130.781Y60.515I2.035J-26.962 +G3X125.306Y58.381I8.580J-30.097 +G3X122.155Y56.516I12.001J-23.876 +G3X120.481Y55.059I5.571J-8.094 +G3X119.914Y54.276I3.098J-2.838 +G3X119.882Y53.603I0.657J-0.368 +G00X119.882Y53.603M63P1 +G00X116.901Y44.536M63P1 +G1X116.901Y44.536M62P1 +G3X116.643Y43.254I3.115J-1.294 +G3X116.856Y41.676I5.814J-0.020 +G3X118.487Y38.100I12.132J3.374 +G3X120.255Y36.129I7.574J5.014 +G3X120.810Y35.888I0.690J0.830 +G3X121.190Y35.925I0.108J0.860 +G3X121.954Y36.426I-0.554J1.678 +G3X122.148Y36.698I-1.135J1.013 +G3X122.273Y36.998I-1.257J0.701 +G2X122.381Y37.145I0.255J-0.074 +G3X122.963Y37.576I-3.842J5.799 +G3X123.696Y38.208I-13.350J16.201 +G3X123.895Y38.590I-0.415J0.459 +G3X123.901Y38.791I-1.053J0.132 +G3X123.853Y39.231I-5.131J-0.336 +G1X123.755Y39.822M62P1 +G2X123.808Y39.864I0.075J-0.039 +G3X124.057Y39.965I-0.291J1.073 +G3X124.546Y40.399I-0.728J1.313 +G3X124.721Y40.886I-0.761J0.549 +G1X124.691Y41.709M62P1 +G3X124.559Y42.241I-2.488J-0.337 +G3X123.868Y43.656I-7.373J-2.721 +G3X122.802Y45.037I-7.163J-4.433 +G3X121.772Y45.274I-0.695J-0.663 +G1X121.215Y45.003M62P1 +G2X121.108Y45.051I0.006J0.156 +G3X120.697Y45.277I-0.561J-0.534 +G3X120.594Y45.277I-0.052J-0.261 +G3X120.169Y45.173I0.926J-4.694 +G1X118.758Y44.702M62P1 +G2X118.667Y44.744I0.024J0.172 +G3X118.336Y44.966I-0.982J-1.111 +G3X117.884Y45.074I-0.471J-0.963 +G3X117.361Y44.983I-0.024J-1.402 +G3X116.901Y44.536I0.288J-0.757 +G00X116.901Y44.536M63P1 +G00X93.246Y38.028M63P1 +G1X93.246Y38.028M62P1 +G1X90.509Y41.679M62P1 +G1X83.618Y38.141 +G3X83.399Y38.323I-2.466J-2.727 +G3X83.259Y38.374I-0.147J-0.191 +G3X81.697Y38.093I-0.115J-3.853 +G3X80.447Y37.537I7.572J-18.691 +G3X77.924Y36.269I47.356J-97.340 +G3X76.545Y35.511I15.499J-29.853 +G1X75.942Y35.150M62P1 +G3X75.907Y35.071I0.145J-0.112 +G2X75.825Y34.740I-2.787J0.515 +G2X75.559Y34.112I-3.341J1.045 +G2X74.858Y33.473I-1.274J0.693 +G3X73.796Y32.977I7.530J-17.515 +G2X71.845Y32.012I-61.539J121.888 +G1X71.848Y31.865M62P1 +G1X73.124Y31.463 +G2X73.271Y31.332I-0.286J-0.471 +G3X73.402Y31.185I1.292J1.017 +G1X52.220Y23.471M62P1 +G2X50.074Y25.448I366.897J400.251 +G2X42.668Y32.321I4424.031J4774.434 +G3X43.305Y25.989I4481.152J447.293 +G1X43.943Y19.657M62P1 +G3X35.680Y15.788I2153.789J-4610.324 +G3X32.245Y14.167I374.766J-798.474 +G2X34.889Y13.988I-27.376J-425.352 +G2X44.334Y13.313I-383.394J-5429.970 +G2X41.502Y5.767I-2582.688J965.061 +G3X40.811Y3.875I91.554J-34.516 +G2X40.328Y2.569I-46.055J16.288 +G3X39.876Y1.253I17.311J-6.683 +G2X40.168Y1.515I3.609J-3.735 +G2X41.541Y2.635I67.991J-81.904 +G2X45.804Y6.032I493.654J-615.236 +G3X50.074Y9.418I-1468.170J1855.893 +G1X60.084Y2.168M62P1 +G1X57.220Y15.214 +G1X60.307Y18.057 +G3X67.062Y24.336I-1583.770J1710.541 +G2X73.809Y30.625I4771.573J-5112.781 +G3X74.289Y30.177I1.309J0.922 +G3X74.856Y29.990I0.686J1.133 +G2X75.362Y29.837I-0.117J-1.293 +G3X76.338Y29.748I0.590J1.079 +G3X76.794Y29.946I-0.867J2.626 +G2X77.236Y30.175I5.774J-10.593 +G2X85.239Y34.105I1438.599J-2919.446 +G3X93.246Y38.028I-4291.786J8770.125 +G00X93.246Y38.028M63P1 +G00X120.394Y53.771M63P1 +G1X120.394Y53.771M62P1 +G2X120.365Y53.965I0.134J0.119 +G2X121.013Y54.786I2.041J-0.945 +G2X122.540Y55.908I17.166J-21.757 +G2X127.169Y58.440I15.061J-22.033 +G2X132.671Y60.210I12.518J-29.477 +G2X135.862Y60.707I5.346J-23.809 +G2X138.954Y60.767I1.976J-22.289 +G2X140.089Y60.548I-0.205J-4.113 +G2X140.280Y60.310I-0.093J-0.271 +G2X140.207Y59.997I-0.472J-0.055 +G2X139.616Y59.282I-3.321J2.145 +G2X138.902Y58.649I-8.984J9.412 +G2X134.721Y55.306I-118.849J144.352 +G2X133.275Y54.207I-53.089J68.381 +G2X132.537Y53.682I-12.854J17.294 +G2X131.801Y53.202I-12.653J18.608 +G2X130.918Y52.826I-1.649J2.641 +G2X129.744Y52.649I-1.473J5.799 +G2X127.062Y52.633I-1.517J30.439 +G1X124.008Y52.833M62P1 +G2X121.545Y53.207I2.159J22.538 +G2X120.819Y53.451I0.662J3.175 +G2X120.394Y53.771I0.566J1.194 +G00X120.394Y53.771M63P1 +M63P1 +G00X0.000Y0.000 +M09 +M30 +% diff --git a/tests/test-files/Trispokedovetiles(laser).tap b/tests/test-files/Trispokedovetiles(laser).tap new file mode 100644 index 0000000..b9ca8d9 --- /dev/null +++ b/tests/test-files/Trispokedovetiles(laser).tap @@ -0,0 +1,64 @@ +(Laser cut, interlocking, Trispokedovetiles by Peter Dow) + +G90 (set absolute distance mode) +G90.1 (set absolute distance mode for arc centers) +G17 (set active plane to XY) +G21 (set units to mm) +F600 (set feed-rate) +M10 P1 (turns laser OFF) +G0 X 65.8393 Y 49.0906 +M11 P1 (turns laser ON) +G3 Y 61.7398 I 65.8393 J 55.4203 +G3 Y 49.0906 I 65.8393 J 55.4101 +M10 P1 +G0 X 93.3399 Y 36.7792 +M11 P1 +G3 Y 42.2783 I 93.3399 J 39.5300 +G3 Y 36.7792 I 93.3399 J 39.5300 +M10 P1 +G0 X 38.3388 +M11 P1 +G3 Y 42.2783 I 38.3388 J 39.5300 +G3 Y 36.7792 I 38.3388 J 39.5300 +M10 P1 +G0 X 65.8393 Y 84.4093 +M11 P1 +G3 Y 89.9084 I 65.8393 J 87.1601 +G3 Y 84.4093 I 65.8393 J 87.1601 +M10 P1 +G0 X 93.3399 Y 103.0402 +M11 P1 +G1 X 86.9010 +G3 X 82.5094 Y 98.3285 I 86.9010 J 98.6384 +G3 X 111.3409 Y 48.3895 I 148.3411 J 103.0402 +G3 X 117.6198 Y 49.8297 I 113.8098 J 52.0294 +G1 X 120.8405 Y 55.4101 +G1 X 127.2794 +G2 X 131.6711 Y 50.6984 I 127.2794 J 51.0108 +G2 X 102.8395 Y 0.7595 I 65.8393 J 55.4101 +G2 X 96.5606 Y 2.1996 I 100.3706 J 4.3993 +G1 X 93.3399 Y 7.7800 +G1 X 96.5606 Y 13.3604 +G3 X 94.6709 Y 19.5199 I 92.7506 J 15.5600 +G3 X 37.0103 I 65.8393 J-39.8501 +G3 X 35.1206 Y 13.3604 I 38.9306 J 15.5600 +G1 X 38.3388 Y 7.7800 +G1 X 35.1206 Y 2.1996 +G2 X 28.8392 Y 0.7595 I 31.3106 J 4.3993 +G2 X 0.0102 Y 50.6984 I 65.8393 J 55.4101 +G2 X 4.3993 Y 55.4101 I 4.3993 J 51.0108 +G1 X 10.8407 +G1 X 14.0589 Y 49.8297 +G3 X 20.3403 Y 48.3895 I 17.8689 J 52.0294 +G3 X 49.1693 Y 98.3285 I-16.6599 J 103.0402 +G3 X 44.7802 Y 103.0402 I 44.7802 J 98.6384 +G1 X 38.3388 +G1 X 35.1206 Y 108.6206 +G2 X 37.0103 Y 114.7801 I 38.9306 J 110.8202 +G2 X 94.6709 I 65.8393 J 55.4101 +G2 X 96.5606 Y 108.6206 I 92.7506 J 110.8202 +G1 X 93.3399 Y 103.0402 +M10 P1 +G0 X 0.0000 Y 0.0000 +M30 +% diff --git a/tests/test-files/Tweakie's CNC Cube.nc b/tests/test-files/Tweakie's CNC Cube.nc new file mode 100644 index 0000000..e123d26 --- /dev/null +++ b/tests/test-files/Tweakie's CNC Cube.nc @@ -0,0 +1,196 @@ +(Tweakie's CNC Cube) +(Tool 2mm dia.) +N1 T1 M3 M6 G21 F80 +N2 G0 Z2 +N3 G0 X12.751 Y23.165 +N4 G1 Z-2 +N5 G1 X14.122 Y21.819 +N6 G1 X14.122 Y21.819 +N7 G1 X13.411 Y21.514 +N8 G1 X12.751 Y21.133 +N9 G1 X12.167 Y20.676 +N10 G1 X11.963 Y20.472 +N11 G1 X11.963 Y20.472 +N12 G1 X11.125 Y19.406 +N13 G1 X10.617 Y18.237 +N14 G1 X10.389 Y16.916 +N15 G1 X10.389 Y16.459 +N16 G1 X10.592 Y15.088 +N17 G1 X11.049 Y13.868 +N18 G1 X11.836 Y12.751 +N19 G1 X12.141 Y12.421 +N20 G1 X12.141 Y12.421 +N21 G1 X13.233 Y11.557 +N22 G1 X14.427 Y10.973 +N23 G1 X15.723 Y10.693 +N24 G1 X16.205 Y10.643 +N25 G1 X17.551 Y10.744 +N26 G1 X18.771 Y11.176 +N27 G1 X19.888 Y11.938 +N28 G1 X20.244 Y12.243 +N29 G1 X20.244 Y12.243 +N30 G1 X20.752 Y12.852 +N31 G1 X21.158 Y13.462 +N32 G1 X21.438 Y14.173 +N33 G1 X21.488 Y14.402 +N34 G1 X22.809 Y13.106 +N35 G1 X22.809 Y13.106 +N36 G1 X22.504 Y12.446 +N37 G1 X22.098 Y11.811 +N38 G1 X21.615 Y11.227 +N39 G1 X21.438 Y11.024 +N40 G1 X21.438 Y11.024 +N41 G1 X20.041 Y9.906 +N42 G1 X18.466 Y9.195 +N43 G1 X16.789 Y8.915 +N44 G1 X16.18 Y8.915 +N45 G1 X14.427 Y9.195 +N46 G1 X12.802 Y9.804 +N47 G1 X11.328 Y10.846 +N48 G1 X10.897 Y11.278 +N49 G1 X10.897 Y11.278 +N50 G1 X10.16 Y12.141 +N51 G1 X9.576 Y13.056 +N52 G1 X9.119 Y14.122 +N53 G1 X8.992 Y14.503 +N54 G1 X8.788 Y15.646 +N55 G1 X8.687 Y16.789 +N56 G1 X8.788 Y17.907 +N57 G1 X8.89 Y18.288 +N58 G1 X9.22 Y19.38 +N59 G1 X9.779 Y20.396 +N60 G1 X10.516 Y21.387 +N61 G1 X10.82 Y21.692 +N62 G1 X11.024 Y21.869 +N63 G1 X11.024 Y21.869 +N64 G1 X11.506 Y22.327 +N65 G1 X12.04 Y22.733 +N66 G1 X12.573 Y23.063 +N67 G1 X12.751 Y23.165 +N68 G1 X12.751 Y23.165 +N69 G0 Z2 +N70 G0 X29.591 Y19.558 +N71 G1 Z-2 +N72 G1 X28.27 Y18.237 +N73 G1 X18.034 Y28.448 +N74 G1 X30.099 Y27.864 +N75 G1 X30.099 Y27.864 +N76 G1 X30.226 Y27.889 +N77 G1 X30.328 Y27.915 +N78 G1 X30.404 Y27.991 +N79 G1 X30.429 Y27.991 +N80 G1 X30.429 Y27.991 +N81 G1 X30.48 Y28.067 +N82 G1 X30.48 Y28.118 +N83 G1 X30.48 Y28.194 +N84 G1 X30.48 Y28.219 +N85 G1 X30.48 Y28.219 +N86 G1 X30.353 Y28.397 +N87 G1 X30.175 Y28.626 +N88 G1 X29.896 Y28.931 +N89 G1 X29.794 Y29.032 +N90 G1 X24.155 Y34.671 +N91 G1 X25.476 Y35.992 +N92 G1 X35.814 Y25.654 +N93 G1 X24.333 Y26.391 +N94 G1 X24.333 Y26.391 +N95 G1 X23.927 Y26.416 +N96 G1 X23.647 Y26.391 +N97 G1 X23.47 Y26.34 +N98 G1 X23.419 Y26.314 +N99 G1 X23.419 Y26.314 +N100 G1 X23.317 Y26.111 +N101 G1 X23.368 Y25.857 +N102 G1 X23.571 Y25.578 +N103 G1 X23.647 Y25.476 +N104 G1 X29.591 Y19.558 +N105 G0 Z2 +N106 G0 X37.77 Y48.184 +N107 G1 Z-2 +N108 G1 X39.141 Y46.838 +N109 G1 X39.141 Y46.838 +N110 G1 X38.43 Y46.533 +N111 G1 X37.77 Y46.152 +N112 G1 X37.186 Y45.669 +N113 G1 X36.982 Y45.491 +N114 G1 X36.982 Y45.491 +N115 G1 X36.144 Y44.425 +N116 G1 X35.611 Y43.231 +N117 G1 X35.408 Y41.935 +N118 G1 X35.408 Y41.478 +N119 G1 X35.611 Y40.107 +N120 G1 X36.068 Y38.887 +N121 G1 X36.83 Y37.77 +N122 G1 X37.16 Y37.44 +N123 G1 X37.16 Y37.44 +N124 G1 X38.252 Y36.576 +N125 G1 X39.446 Y35.992 +N126 G1 X40.742 Y35.712 +N127 G1 X41.199 Y35.662 +N128 G1 X42.57 Y35.763 +N129 G1 X43.79 Y36.195 +N130 G1 X44.907 Y36.932 +N131 G1 X45.263 Y37.262 +N132 G1 X45.263 Y37.262 +N133 G1 X45.771 Y37.846 +N134 G1 X46.177 Y38.481 +N135 G1 X46.457 Y39.167 +N136 G1 X46.507 Y39.421 +N137 G1 X47.803 Y38.125 +N138 G1 X47.803 Y38.125 +N139 G1 X47.498 Y37.44 +N140 G1 X47.092 Y36.83 +N141 G1 X46.634 Y36.22 +N142 G1 X46.457 Y36.043 +N143 G1 X46.457 Y36.043 +N144 G1 X45.06 Y34.925 +N145 G1 X43.485 Y34.214 +N146 G1 X41.808 Y33.934 +N147 G1 X41.199 Y33.934 +N148 G1 X39.446 Y34.188 +N149 G1 X37.821 Y34.823 +N150 G1 X36.347 Y35.865 +N151 G1 X35.916 Y36.297 +N152 G1 X35.916 Y36.297 +N153 G1 X35.179 Y37.135 +N154 G1 X34.595 Y38.075 +N155 G1 X34.138 Y39.141 +N156 G1 X34.011 Y39.522 +N157 G1 X33.782 Y40.665 +N158 G1 X33.706 Y41.808 +N159 G1 X33.807 Y42.926 +N160 G1 X33.884 Y43.307 +N161 G1 X34.239 Y44.399 +N162 G1 X34.798 Y45.415 +N163 G1 X35.535 Y46.38 +N164 G1 X35.814 Y46.685 +N165 G1 X36.017 Y46.888 +N166 G1 X36.017 Y46.888 +N167 G1 X36.525 Y47.346 +N168 G1 X37.033 Y47.752 +N169 G1 X37.592 Y48.082 +N170 G1 X37.77 Y48.184 +N171 G1 X37.77 Y48.184 +N172 G0 Z2 +N173 G0 X2.54 Y54.864 +N174 G1 Z-2 +N175 G1 X28.956 Y54.864 +N176 G1 X28.956 Y52.324 +N177 G1 X28.956 Y53.34 +N178 G1 X54.864 Y53.34 +N179 G1 X54.864 Y26.924 +N180 G1 X52.324 Y26.924 +N181 G1 X53.34 Y26.924 +N182 G1 X53.34 Y1.016 +N183 G1 X26.924 Y1.016 +N184 G1 X26.924 Y3.556 +N185 G1 X26.924 Y2.54 +N186 G1 X1.016 Y2.54 +N187 G1 X1.016 Y28.956 +N188 G1 X3.556 Y28.956 +N189 G1 X2.54 Y28.956 +N190 G1 X2.54 Y54.864 +N191 G0 Z2 +N192 G0 X0 Y0 +N193 M30 +N194 % diff --git a/tests/test-files/Tweakie's CNC Cube2.nc b/tests/test-files/Tweakie's CNC Cube2.nc new file mode 100644 index 0000000..052078d --- /dev/null +++ b/tests/test-files/Tweakie's CNC Cube2.nc @@ -0,0 +1,30 @@ +(Tweakie's CNC Cube 2) +(Tool = 2mm dia.) +N1 T1 M3 M6 G21 G91.1 F80 +N2 G0 Z2 +N3 G00 X45.932 Y27.932 +N4 G1 Z-2 +N5 G03 X45.932 Y27.932 I-18 J0 F400 +N6 G0 Z2 +N7 G0 X2.54 Y54.864 +N8 G1 Z-2 +N9 G1 X28.956 Y54.864 +N10 G1 X28.956 Y52.324 +N11 G1 X28.956 Y53.34 +N12 G1 X54.864 Y53.34 +N13 G1 X54.864 Y26.924 +N14 G1 X52.324 Y26.924 +N15 G1 X53.34 Y26.924 +N16 G1 X53.34 Y1.016 +N17 G1 X26.924 Y1.016 +N18 G1 X26.924 Y3.556 +N19 G1 X26.924 Y2.54 +N20 G1 X1.016 Y2.54 +N21 G1 X1.016 Y28.956 +N22 G1 X3.556 Y28.956 +N23 G1 X2.54 Y28.956 +N24 G1 X2.54 Y54.864 +N25 G0 Z2 +N26 G0 X0 Y0 +N27 M30 +N28 % diff --git a/tests/test-files/plug6a.tap b/tests/test-files/plug6a.tap new file mode 100644 index 0000000..a67edb2 --- /dev/null +++ b/tests/test-files/plug6a.tap @@ -0,0 +1,130 @@ +G00G21G17G90G40G49G80 +G71G91.1 + +S12000M03 +G94 M10P1 F600.0 +X0.000Y0.000 +G00X76.918Y-10.288M10P1 +G1X76.918Y-10.288M11P1 +G1X83.317Y-10.288 +G1X83.317Y-14.187 +G1X76.918Y-14.187 +G1X76.918Y-10.288 +G00X76.918Y-10.288M10P1 +G00X98.918Y-10.288 +G1X98.918Y-10.288M11P1 +G1X105.317Y-10.288 +G1X105.317Y-14.187 +G1X98.918Y-14.187 +G1X98.918Y-10.288 +G00X98.918Y-10.288M10P1 +G00X93.022Y5.812 +G1X93.022Y5.812M11P1 +G1X89.122Y5.812 +G1X89.122Y13.712 +G1X93.022Y13.712 +G1X93.022Y5.812 +G00X93.022Y5.812M10P1 +G00X-75.607Y-10.288 +G1X-75.607Y-10.288M11P1 +G1X-75.607Y-14.187 +G1X-82.006Y-14.187 +G1X-82.006Y-10.288 +G1X-75.607Y-10.288 +G00X-75.607Y-10.288M10P1 +G00X-97.607Y-10.288 +G1X-97.607Y-10.288M11P1 +G1X-97.607Y-14.187 +G1X-104.006Y-14.187 +G1X-104.006Y-10.288 +G1X-97.607Y-10.288 +G00X-97.607Y-10.288M10P1 +G00X-91.836Y5.812 +G1X-91.836Y5.812M11P1 +G1X-91.836Y13.712 +G1X-87.937Y13.712 +G1X-87.937Y5.812 +G1X-91.836Y5.812 +G00X-91.836Y5.812M10P1 + +G00X-15.556Y7.900 +G1X-15.556Y7.900M11P1 +G2X-36.650Y9.539I13.488J310.094 +G2X-49.156Y11.364I21.153J188.675 +G2X-59.846Y13.733I24.394J135.416 +G2X-66.307Y15.887I13.581J51.503 +G1X-69.715Y17.476 +G2X-72.492Y19.421I6.409J12.108 +G1X-73.368Y20.224 +G1X-73.972Y20.718 +G3X-76.569Y22.055I-5.802J-8.079 +G3X-79.360Y22.552I-3.021J-8.872 +G1X-79.361Y22.552 + +G1X-99.112Y22.555 +G3X-102.657Y21.875I0.233J-10.791 +G3X-107.639Y17.790I3.489J-9.335 +G3X-108.710Y15.360I8.094J-5.017 +G3X-109.131Y12.506I10.825J-3.055 +G1X-109.131Y12.505 + +G1X-109.131Y-12.496 +G3X-108.453Y-16.055I10.908J0.233 +G3X-104.382Y-21.048I9.343J3.463 +G3X-101.954Y-22.123I5.022J8.056 +G3X-99.111Y-22.545I3.043J10.709 +G1X-79.424Y-22.540 +G1X-79.388Y-22.535 +G1X-79.168Y-22.520 +G3X-75.571Y-21.598I-0.501J9.434 +G3X-73.102Y-19.977I-4.851J10.075 +G1X-72.307Y-19.259 +G1X-71.489Y-18.581 +G2X-68.981Y-17.071I10.154J-14.026 +G2X-63.518Y-14.835I18.951J-38.502 +G2X-55.994Y-12.757I24.388J-73.663 +G2X-40.945Y-10.070I39.192J-176.018 +G2X-22.523Y-8.256I34.302J-253.893 +G2X16.846Y-7.894I23.114J-372.188 +G2X35.881Y-9.294I-13.948J-319.663 +G2X50.651Y-11.397I-20.156J-194.491 +G2X61.189Y-13.743I-24.422J-134.524 +G2X67.555Y-15.868I-13.517J-51.105 +G1X70.871Y-17.420 +G2X73.696Y-19.397I-6.781J-12.701 +G1X74.410Y-20.057 +G1X75.162Y-20.684 +G3X77.822Y-22.036I5.562J7.648 +G3X80.964Y-22.555I3.308J10.258 + +G1X100.290Y-22.545 +G3X103.641Y-21.937I-0.239J10.842 +G3X108.492Y-18.272I-3.303J9.416 +G3X109.799Y-15.631I-7.810J5.509 +G3X110.309Y-12.496I-10.600J3.334 +G1X110.309Y-12.495 + +G1X110.309Y12.506 +G3X109.631Y16.065I-10.907J-0.233 +G3X105.560Y21.057I-9.343J-3.464 +G3X103.131Y22.134I-5.025J-8.060 +G3X100.290Y22.555I-3.037J-10.689 +G1X100.289Y22.555 + +G1X80.686Y22.540 +G3X77.158Y21.806I0.259J-10.091 +G3X74.187Y19.909I3.623J-8.951 +G1X73.261Y19.069 +G1X72.879Y18.756 +G2X69.069Y16.529I-11.097J14.613 +G2X64.340Y14.738I-21.639J50.004 +G2X54.729Y12.209I-26.464J81.059 +G2X39.610Y9.752I-40.016J198.475 +G2X21.814Y8.147I-32.998J266.303 +G2X-15.556Y7.900I-21.148J372.705 +G00X-15.556Y7.900M10P1 +M10P1 +G00X0.000Y0.000 +M09 +M30 +% diff --git a/tests/test-files/random-sample-1.gcode b/tests/test-files/random-sample-1.gcode new file mode 100644 index 0000000..f2d74df --- /dev/null +++ b/tests/test-files/random-sample-1.gcode @@ -0,0 +1,11 @@ +G17 G20 G90 G94 G54 +G0 Z0.25 +X-0.5 Y0. +Z0.1 +G01 Z0. F5. +G02 X0. Y0.5 I0.5 J0. F2.5 +X0.5 Y0. I0. J-0.5 +X0. Y-0.5 I-0.5 J0. +X-0.5 Y0. I0. J0.5 +G01 Z0.1 F5. +G00 X0. Y0. Z0.25