fix bugs that fail judgement of path's containment

This commit is contained in:
Hiroshi Murayama 2019-12-30 17:51:48 +09:00
parent 244fcaa534
commit ca23fbd953
8 changed files with 9021 additions and 14 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,729 @@
%MOMM*%
%FSLAX34Y34*%
%IPPOS*%
%ADD10C,0*%
G75*
%LPD*%
D10*
G36*
G01*
X800000Y150000D02*
G75*
G03*
X780000Y170000I-20000J0D01*
G01*
X774000Y170000D01*
G03*
X754000Y150000I0J-20000D01*
G01*
X754000Y50000D01*
G01*
X600000Y50000D01*
G01*
X600000Y150000D01*
G03*
X580000Y170000I-20000J0D01*
G01*
X574000Y170000D01*
G03*
X554000Y150000I0J-20000D01*
G01*
X554000Y50000D01*
G01*
X400000Y50000D01*
G01*
X400000Y150000D01*
G03*
X380000Y170000I-20000J0D01*
G01*
X374000Y170000D01*
G03*
X354000Y150000I0J-20000D01*
G01*
X354000Y50000D01*
G01*
X200000Y50000D01*
G01*
X200000Y150000D01*
G03*
X180000Y170000I-20000J0D01*
G01*
X174000Y170000D01*
G03*
X154000Y150000I0J-20000D01*
G01*
X154000Y50000D01*
G01*
X0Y50000D01*
G01*
X0Y450000D01*
G01*
X17000Y450000D01*
G03*
X37000Y470000I0J20000D01*
G03*
X17000Y490000I-20000J0D01*
G01*
X0Y490000D01*
G01*
X0Y560000D01*
G01*
X17000Y560000D01*
G03*
X37000Y580000I0J20000D01*
G03*
X17000Y600000I-20000J0D01*
G01*
X0Y600000D01*
G01*
X0Y1000000D01*
G01*
X154000Y1000000D01*
G01*
X154000Y900000D01*
G03*
X174000Y880000I20000J0D01*
G01*
X180000Y880000D01*
G03*
X200000Y900000I0J20000D01*
G01*
X200000Y1000000D01*
G01*
X354000Y1000000D01*
G01*
X354000Y900000D01*
G03*
X374000Y880000I20000J0D01*
G01*
X380000Y880000D01*
G03*
X400000Y900000I0J20000D01*
G01*
X400000Y1000000D01*
G01*
X554000Y1000000D01*
G01*
X554000Y900000D01*
G03*
X574000Y880000I20000J0D01*
G01*
X580000Y880000D01*
G03*
X600000Y900000I0J20000D01*
G01*
X600000Y1000000D01*
G01*
X754000Y1000000D01*
G01*
X754000Y900000D01*
G03*
X774000Y880000I20000J0D01*
G01*
X780000Y880000D01*
G03*
X800000Y900000I0J20000D01*
G01*
X800000Y1000000D01*
G01*
X954000Y1000000D01*
G01*
X954000Y600000D01*
G01*
X937000Y600000D01*
G03*
X917000Y580000I0J-20000D01*
G03*
X937000Y560000I20000J0D01*
G01*
X954000Y560000D01*
G01*
X954000Y490000D01*
G01*
X937000Y490000D01*
G03*
X917000Y470000I0J-20000D01*
G03*
X937000Y450000I20000J0D01*
G01*
X954000Y450000D01*
G01*
X954000Y50000D01*
G01*
X800000Y50000D01*
G01*
X800000Y150000D01*
G37*
%LPC*%
G36*
G01*
X624500Y620350D02*
G75*
G01*
X624500Y633350D01*
G03*
X612500Y633350I-6000J0D01*
G01*
X612500Y620350D01*
G03*
X624500Y620350I6000J0D01*
G01*
X824500Y620350D02*
G75*
G02*
X812500Y620350I-6000J0D01*
G01*
X812500Y633350D01*
G02*
X824500Y633350I6000J0D01*
G01*
X824500Y620350D01*
G01*
X729500Y633350D02*
G75*
G02*
X741500Y633350I6000J0D01*
G01*
X741500Y620350D01*
G02*
X729500Y620350I-6000J0D01*
G01*
X729500Y633350D01*
G01*
X141500Y620350D02*
G75*
G01*
X141500Y633350D01*
G03*
X129500Y633350I-6000J0D01*
G01*
X129500Y620350D01*
G03*
X141500Y620350I6000J0D01*
G01*
X212500Y429650D02*
G75*
G01*
X212500Y416650D01*
G03*
X224500Y416650I6000J0D01*
G01*
X224500Y429650D01*
G03*
X212500Y429650I-6000J0D01*
G01*
X341500Y416650D02*
G75*
G01*
X341500Y429650D01*
G03*
X329500Y429650I-6000J0D01*
G01*
X329500Y416650D01*
G03*
X341500Y416650I6000J0D01*
G01*
X341500Y620350D02*
G75*
G01*
X341500Y633350D01*
G03*
X329500Y633350I-6000J0D01*
G01*
X329500Y620350D01*
G03*
X341500Y620350I6000J0D01*
G01*
X624500Y416650D02*
G75*
G01*
X624500Y429650D01*
G03*
X612500Y429650I-6000J0D01*
G01*
X612500Y416650D01*
G03*
X624500Y416650I6000J0D01*
G01*
X729500Y429650D02*
G75*
G01*
X729500Y416650D01*
G03*
X741500Y416650I6000J0D01*
G01*
X741500Y429650D01*
G03*
X729500Y429650I-6000J0D01*
G01*
X541500Y620350D02*
G75*
G02*
X529500Y620350I-6000J0D01*
G01*
X529500Y633350D01*
G02*
X541500Y633350I6000J0D01*
G01*
X541500Y620350D01*
G01*
X929500Y633350D02*
G75*
G02*
X941500Y633350I6000J0D01*
G01*
X941500Y620350D01*
G02*
X929500Y620350I-6000J0D01*
G01*
X929500Y633350D01*
G01*
X412500Y429650D02*
G75*
G01*
X412500Y416650D01*
G03*
X424500Y416650I6000J0D01*
G01*
X424500Y429650D01*
G03*
X412500Y429650I-6000J0D01*
G01*
X224500Y620350D02*
G75*
G01*
X224500Y633350D01*
G03*
X212500Y633350I-6000J0D01*
G01*
X212500Y620350D01*
G03*
X224500Y620350I6000J0D01*
G01*
X541500Y416650D02*
G75*
G02*
X529500Y416650I-6000J0D01*
G01*
X529500Y429650D01*
G02*
X541500Y429650I6000J0D01*
G01*
X541500Y416650D01*
G01*
X129500Y429650D02*
G75*
G02*
X141500Y429650I6000J0D01*
G01*
X141500Y416650D01*
G02*
X129500Y416650I-6000J0D01*
G01*
X129500Y429650D01*
G01*
X24500Y416650D02*
G75*
G02*
X12500Y416650I-6000J0D01*
G01*
X12500Y429650D01*
G02*
X24500Y429650I6000J0D01*
G01*
X24500Y416650D01*
G01*
X941500Y416650D02*
G75*
G02*
X929500Y416650I-6000J0D01*
G01*
X929500Y429650D01*
G02*
X941500Y429650I6000J0D01*
G01*
X941500Y416650D01*
G01*
X424500Y620350D02*
G75*
G01*
X424500Y633350D01*
G03*
X412500Y633350I-6000J0D01*
G01*
X412500Y620350D01*
G03*
X424500Y620350I6000J0D01*
G01*
X824500Y416650D02*
G75*
G02*
X812500Y416650I-6000J0D01*
G01*
X812500Y429650D01*
G02*
X824500Y429650I6000J0D01*
G01*
X824500Y416650D01*
G01*
X12500Y633350D02*
G75*
G01*
X12500Y620350D01*
G03*
X24500Y620350I6000J0D01*
G01*
X24500Y633350D01*
G03*
X12500Y633350I-6000J0D01*
G01*
X660500Y626850D02*
G75*
G03*
X660500Y626850I-6000J0D01*
G01*
X905500Y626850D02*
G75*
G03*
X905500Y626850I-6000J0D01*
G01*
X505500Y626850D02*
G75*
G03*
X505500Y626850I-6000J0D01*
G01*
X860500Y626850D02*
G75*
G03*
X860500Y626850I-6000J0D01*
G01*
X705500Y626850D02*
G75*
G03*
X705500Y626850I-6000J0D01*
G01*
X705500Y423150D02*
G75*
G03*
X705500Y423150I-6000J0D01*
G01*
X660500Y423150D02*
G75*
G03*
X660500Y423150I-6000J0D01*
G01*
X505500Y423150D02*
G75*
G03*
X505500Y423150I-6000J0D01*
G01*
X260500Y626850D02*
G75*
G03*
X260500Y626850I-6000J0D01*
G01*
X905500Y423150D02*
G75*
G03*
X905500Y423150I-6000J0D01*
G01*
X460500Y423150D02*
G75*
G03*
X460500Y423150I-6000J0D01*
G01*
X460500Y626850D02*
G75*
G03*
X460500Y626850I-6000J0D01*
G01*
X60500Y626850D02*
G75*
G03*
X60500Y626850I-6000J0D01*
G01*
X105500Y626850D02*
G75*
G03*
X105500Y626850I-6000J0D01*
G01*
X60500Y423150D02*
G75*
G03*
X60500Y423150I-6000J0D01*
G01*
X305500Y626850D02*
G75*
G03*
X305500Y626850I-6000J0D01*
G01*
X860500Y423150D02*
G75*
G03*
X860500Y423150I-6000J0D01*
G01*
X541500Y633350D02*
G75*
G01*
X541500Y620350D01*
G02*
X529500Y620350I-6000J0D01*
G01*
X529500Y633350D01*
G02*
X541500Y633350I6000J0D01*
G01*
X941500Y429650D02*
G75*
G01*
X941500Y416650D01*
G02*
X929500Y416650I-6000J0D01*
G01*
X929500Y429650D01*
G02*
X941500Y429650I6000J0D01*
G01*
X260500Y423150D02*
G75*
G03*
X260500Y423150I-6000J0D01*
G01*
X305500Y423150D02*
G75*
G03*
X305500Y423150I-6000J0D01*
G01*
X824500Y633350D02*
G75*
G03*
X812500Y633350I-6000J0D01*
G01*
X812500Y620350D01*
G03*
X824500Y620350I6000J0D01*
G01*
X824500Y633350D01*
G01*
X105500Y423150D02*
G75*
G03*
X105500Y423150I-6000J0D01*
G01*
X217000Y560000D02*
G75*
G03*
X237000Y580000I0J20000D01*
G03*
X217000Y600000I-20000J0D01*
G01*
X200000Y600000D01*
G01*
X200000Y700000D01*
G03*
X180000Y720000I-20000J0D01*
G01*
X174000Y720000D01*
G03*
X154000Y700000I0J-20000D01*
G01*
X154000Y600000D01*
G01*
X137000Y600000D01*
G03*
X117000Y580000I0J-20000D01*
G03*
X137000Y560000I20000J0D01*
G01*
X217000Y560000D01*
G01*
X417000Y560000D02*
G75*
G03*
X437000Y580000I0J20000D01*
G03*
X417000Y600000I-20000J0D01*
G01*
X400000Y600000D01*
G01*
X400000Y700000D01*
G03*
X380000Y720000I-20000J0D01*
G01*
X374000Y720000D01*
G03*
X354000Y700000I0J-20000D01*
G01*
X354000Y600000D01*
G01*
X337000Y600000D01*
G03*
X317000Y580000I0J-20000D01*
G03*
X337000Y560000I20000J0D01*
G01*
X417000Y560000D01*
G01*
X617000Y560000D02*
G75*
G03*
X637000Y580000I0J20000D01*
G03*
X617000Y600000I-20000J0D01*
G01*
X600000Y600000D01*
G01*
X600000Y700000D01*
G03*
X580000Y720000I-20000J0D01*
G01*
X574000Y720000D01*
G03*
X554000Y700000I0J-20000D01*
G01*
X554000Y600000D01*
G01*
X537000Y600000D01*
G03*
X517000Y580000I0J-20000D01*
G03*
X537000Y560000I20000J0D01*
G01*
X617000Y560000D01*
G01*
X817000Y560000D02*
G75*
G03*
X837000Y580000I0J20000D01*
G03*
X817000Y600000I-20000J0D01*
G01*
X800000Y600000D01*
G01*
X800000Y700000D01*
G03*
X780000Y720000I-20000J0D01*
G01*
X774000Y720000D01*
G03*
X754000Y700000I0J-20000D01*
G01*
X754000Y600000D01*
G01*
X737000Y600000D01*
G03*
X717000Y580000I0J-20000D01*
G03*
X737000Y560000I20000J0D01*
G01*
X817000Y560000D01*
G01*
X180000Y330000D02*
G75*
G03*
X200000Y350000I0J20000D01*
G01*
X200000Y450000D01*
G01*
X217000Y450000D01*
G03*
X237000Y470000I0J20000D01*
G03*
X217000Y490000I-20000J0D01*
G01*
X137000Y490000D01*
G03*
X117000Y470000I0J-20000D01*
G03*
X137000Y450000I20000J0D01*
G01*
X154000Y450000D01*
G01*
X154000Y350000D01*
G03*
X174000Y330000I20000J0D01*
G01*
X180000Y330000D01*
G01*
X380000Y330000D02*
G75*
G03*
X400000Y350000I0J20000D01*
G01*
X400000Y450000D01*
G01*
X417000Y450000D01*
G03*
X437000Y470000I0J20000D01*
G03*
X417000Y490000I-20000J0D01*
G01*
X337000Y490000D01*
G03*
X317000Y470000I0J-20000D01*
G03*
X337000Y450000I20000J0D01*
G01*
X354000Y450000D01*
G01*
X354000Y350000D01*
G03*
X374000Y330000I20000J0D01*
G01*
X380000Y330000D01*
G01*
X580000Y330000D02*
G75*
G03*
X600000Y350000I0J20000D01*
G01*
X600000Y450000D01*
G01*
X617000Y450000D01*
G03*
X637000Y470000I0J20000D01*
G03*
X617000Y490000I-20000J0D01*
G01*
X537000Y490000D01*
G03*
X517000Y470000I0J-20000D01*
G03*
X537000Y450000I20000J0D01*
G01*
X554000Y450000D01*
G01*
X554000Y350000D01*
G03*
X574000Y330000I20000J0D01*
G01*
X580000Y330000D01*
G01*
X780000Y330000D02*
G75*
G03*
X800000Y350000I0J20000D01*
G01*
X800000Y450000D01*
G01*
X817000Y450000D01*
G03*
X837000Y470000I0J20000D01*
G03*
X817000Y490000I-20000J0D01*
G01*
X737000Y490000D01*
G03*
X717000Y470000I0J-20000D01*
G03*
X737000Y450000I20000J0D01*
G01*
X754000Y450000D01*
G01*
X754000Y350000D01*
G03*
X774000Y330000I20000J0D01*
G01*
X780000Y330000D01*
G37*
M02*

View file

@ -0,0 +1,746 @@
%MOMM*%
%FSLAX34Y34*%
%IPPOS*%
%ADD10C,0*%
%ADD11C,0*%
G75*
%LPD*%
D10*
G36*
G01*
X0Y1000000D02*
G75*
G01*
X0Y0D01*
G01*
X1000000Y0D01*
G01*
X1000000Y1000000D01*
G01*
X0Y1000000D01*
G37*
G75*
%LPC*%
D11*
G36*
G01*
X800000Y150000D02*
G75*
G03*
X780000Y170000I-20000J0D01*
G01*
X774000Y170000D01*
G03*
X754000Y150000I0J-20000D01*
G01*
X754000Y50000D01*
G01*
X600000Y50000D01*
G01*
X600000Y150000D01*
G03*
X580000Y170000I-20000J0D01*
G01*
X574000Y170000D01*
G03*
X554000Y150000I0J-20000D01*
G01*
X554000Y50000D01*
G01*
X400000Y50000D01*
G01*
X400000Y150000D01*
G03*
X380000Y170000I-20000J0D01*
G01*
X374000Y170000D01*
G03*
X354000Y150000I0J-20000D01*
G01*
X354000Y50000D01*
G01*
X200000Y50000D01*
G01*
X200000Y150000D01*
G03*
X180000Y170000I-20000J0D01*
G01*
X174000Y170000D01*
G03*
X154000Y150000I0J-20000D01*
G01*
X154000Y50000D01*
G01*
X0Y50000D01*
G01*
X0Y450000D01*
G01*
X17000Y450000D01*
G03*
X37000Y470000I0J20000D01*
G03*
X17000Y490000I-20000J0D01*
G01*
X0Y490000D01*
G01*
X0Y560000D01*
G01*
X17000Y560000D01*
G03*
X37000Y580000I0J20000D01*
G03*
X17000Y600000I-20000J0D01*
G01*
X0Y600000D01*
G01*
X0Y1000000D01*
G01*
X154000Y1000000D01*
G01*
X154000Y900000D01*
G03*
X174000Y880000I20000J0D01*
G01*
X180000Y880000D01*
G03*
X200000Y900000I0J20000D01*
G01*
X200000Y1000000D01*
G01*
X354000Y1000000D01*
G01*
X354000Y900000D01*
G03*
X374000Y880000I20000J0D01*
G01*
X380000Y880000D01*
G03*
X400000Y900000I0J20000D01*
G01*
X400000Y1000000D01*
G01*
X554000Y1000000D01*
G01*
X554000Y900000D01*
G03*
X574000Y880000I20000J0D01*
G01*
X580000Y880000D01*
G03*
X600000Y900000I0J20000D01*
G01*
X600000Y1000000D01*
G01*
X754000Y1000000D01*
G01*
X754000Y900000D01*
G03*
X774000Y880000I20000J0D01*
G01*
X780000Y880000D01*
G03*
X800000Y900000I0J20000D01*
G01*
X800000Y1000000D01*
G01*
X954000Y1000000D01*
G01*
X954000Y600000D01*
G01*
X937000Y600000D01*
G03*
X917000Y580000I0J-20000D01*
G03*
X937000Y560000I20000J0D01*
G01*
X954000Y560000D01*
G01*
X954000Y490000D01*
G01*
X937000Y490000D01*
G03*
X917000Y470000I0J-20000D01*
G03*
X937000Y450000I20000J0D01*
G01*
X954000Y450000D01*
G01*
X954000Y50000D01*
G01*
X800000Y50000D01*
G01*
X800000Y150000D01*
G37*
%LPD*%
G36*
G01*
X624500Y620350D02*
G75*
G01*
X624500Y633350D01*
G03*
X612500Y633350I-6000J0D01*
G01*
X612500Y620350D01*
G03*
X624500Y620350I6000J0D01*
G01*
X824500Y620350D02*
G75*
G02*
X812500Y620350I-6000J0D01*
G01*
X812500Y633350D01*
G02*
X824500Y633350I6000J0D01*
G01*
X824500Y620350D01*
G01*
X729500Y633350D02*
G75*
G02*
X741500Y633350I6000J0D01*
G01*
X741500Y620350D01*
G02*
X729500Y620350I-6000J0D01*
G01*
X729500Y633350D01*
G01*
X141500Y620350D02*
G75*
G01*
X141500Y633350D01*
G03*
X129500Y633350I-6000J0D01*
G01*
X129500Y620350D01*
G03*
X141500Y620350I6000J0D01*
G01*
X212500Y429650D02*
G75*
G01*
X212500Y416650D01*
G03*
X224500Y416650I6000J0D01*
G01*
X224500Y429650D01*
G03*
X212500Y429650I-6000J0D01*
G01*
X341500Y416650D02*
G75*
G01*
X341500Y429650D01*
G03*
X329500Y429650I-6000J0D01*
G01*
X329500Y416650D01*
G03*
X341500Y416650I6000J0D01*
G01*
X341500Y620350D02*
G75*
G01*
X341500Y633350D01*
G03*
X329500Y633350I-6000J0D01*
G01*
X329500Y620350D01*
G03*
X341500Y620350I6000J0D01*
G01*
X624500Y416650D02*
G75*
G01*
X624500Y429650D01*
G03*
X612500Y429650I-6000J0D01*
G01*
X612500Y416650D01*
G03*
X624500Y416650I6000J0D01*
G01*
X729500Y429650D02*
G75*
G01*
X729500Y416650D01*
G03*
X741500Y416650I6000J0D01*
G01*
X741500Y429650D01*
G03*
X729500Y429650I-6000J0D01*
G01*
X541500Y620350D02*
G75*
G02*
X529500Y620350I-6000J0D01*
G01*
X529500Y633350D01*
G02*
X541500Y633350I6000J0D01*
G01*
X541500Y620350D01*
G01*
X929500Y633350D02*
G75*
G02*
X941500Y633350I6000J0D01*
G01*
X941500Y620350D01*
G02*
X929500Y620350I-6000J0D01*
G01*
X929500Y633350D01*
G01*
X412500Y429650D02*
G75*
G01*
X412500Y416650D01*
G03*
X424500Y416650I6000J0D01*
G01*
X424500Y429650D01*
G03*
X412500Y429650I-6000J0D01*
G01*
X224500Y620350D02*
G75*
G01*
X224500Y633350D01*
G03*
X212500Y633350I-6000J0D01*
G01*
X212500Y620350D01*
G03*
X224500Y620350I6000J0D01*
G01*
X541500Y416650D02*
G75*
G02*
X529500Y416650I-6000J0D01*
G01*
X529500Y429650D01*
G02*
X541500Y429650I6000J0D01*
G01*
X541500Y416650D01*
G01*
X129500Y429650D02*
G75*
G02*
X141500Y429650I6000J0D01*
G01*
X141500Y416650D01*
G02*
X129500Y416650I-6000J0D01*
G01*
X129500Y429650D01*
G01*
X24500Y416650D02*
G75*
G02*
X12500Y416650I-6000J0D01*
G01*
X12500Y429650D01*
G02*
X24500Y429650I6000J0D01*
G01*
X24500Y416650D01*
G01*
X941500Y416650D02*
G75*
G02*
X929500Y416650I-6000J0D01*
G01*
X929500Y429650D01*
G02*
X941500Y429650I6000J0D01*
G01*
X941500Y416650D01*
G01*
X424500Y620350D02*
G75*
G01*
X424500Y633350D01*
G03*
X412500Y633350I-6000J0D01*
G01*
X412500Y620350D01*
G03*
X424500Y620350I6000J0D01*
G01*
X824500Y416650D02*
G75*
G02*
X812500Y416650I-6000J0D01*
G01*
X812500Y429650D01*
G02*
X824500Y429650I6000J0D01*
G01*
X824500Y416650D01*
G01*
X12500Y633350D02*
G75*
G01*
X12500Y620350D01*
G03*
X24500Y620350I6000J0D01*
G01*
X24500Y633350D01*
G03*
X12500Y633350I-6000J0D01*
G01*
X660500Y626850D02*
G75*
G03*
X660500Y626850I-6000J0D01*
G01*
X905500Y626850D02*
G75*
G03*
X905500Y626850I-6000J0D01*
G01*
X505500Y626850D02*
G75*
G03*
X505500Y626850I-6000J0D01*
G01*
X860500Y626850D02*
G75*
G03*
X860500Y626850I-6000J0D01*
G01*
X705500Y626850D02*
G75*
G03*
X705500Y626850I-6000J0D01*
G01*
X705500Y423150D02*
G75*
G03*
X705500Y423150I-6000J0D01*
G01*
X660500Y423150D02*
G75*
G03*
X660500Y423150I-6000J0D01*
G01*
X505500Y423150D02*
G75*
G03*
X505500Y423150I-6000J0D01*
G01*
X260500Y626850D02*
G75*
G03*
X260500Y626850I-6000J0D01*
G01*
X905500Y423150D02*
G75*
G03*
X905500Y423150I-6000J0D01*
G01*
X460500Y423150D02*
G75*
G03*
X460500Y423150I-6000J0D01*
G01*
X460500Y626850D02*
G75*
G03*
X460500Y626850I-6000J0D01*
G01*
X60500Y626850D02*
G75*
G03*
X60500Y626850I-6000J0D01*
G01*
X105500Y626850D02*
G75*
G03*
X105500Y626850I-6000J0D01*
G01*
X60500Y423150D02*
G75*
G03*
X60500Y423150I-6000J0D01*
G01*
X305500Y626850D02*
G75*
G03*
X305500Y626850I-6000J0D01*
G01*
X860500Y423150D02*
G75*
G03*
X860500Y423150I-6000J0D01*
G01*
X541500Y633350D02*
G75*
G01*
X541500Y620350D01*
G02*
X529500Y620350I-6000J0D01*
G01*
X529500Y633350D01*
G02*
X541500Y633350I6000J0D01*
G01*
X941500Y429650D02*
G75*
G01*
X941500Y416650D01*
G02*
X929500Y416650I-6000J0D01*
G01*
X929500Y429650D01*
G02*
X941500Y429650I6000J0D01*
G01*
X260500Y423150D02*
G75*
G03*
X260500Y423150I-6000J0D01*
G01*
X305500Y423150D02*
G75*
G03*
X305500Y423150I-6000J0D01*
G01*
X824500Y633350D02*
G75*
G03*
X812500Y633350I-6000J0D01*
G01*
X812500Y620350D01*
G03*
X824500Y620350I6000J0D01*
G01*
X824500Y633350D01*
G01*
X105500Y423150D02*
G75*
G03*
X105500Y423150I-6000J0D01*
G01*
X217000Y560000D02*
G75*
G03*
X237000Y580000I0J20000D01*
G03*
X217000Y600000I-20000J0D01*
G01*
X200000Y600000D01*
G01*
X200000Y700000D01*
G03*
X180000Y720000I-20000J0D01*
G01*
X174000Y720000D01*
G03*
X154000Y700000I0J-20000D01*
G01*
X154000Y600000D01*
G01*
X137000Y600000D01*
G03*
X117000Y580000I0J-20000D01*
G03*
X137000Y560000I20000J0D01*
G01*
X217000Y560000D01*
G01*
X417000Y560000D02*
G75*
G03*
X437000Y580000I0J20000D01*
G03*
X417000Y600000I-20000J0D01*
G01*
X400000Y600000D01*
G01*
X400000Y700000D01*
G03*
X380000Y720000I-20000J0D01*
G01*
X374000Y720000D01*
G03*
X354000Y700000I0J-20000D01*
G01*
X354000Y600000D01*
G01*
X337000Y600000D01*
G03*
X317000Y580000I0J-20000D01*
G03*
X337000Y560000I20000J0D01*
G01*
X417000Y560000D01*
G01*
X617000Y560000D02*
G75*
G03*
X637000Y580000I0J20000D01*
G03*
X617000Y600000I-20000J0D01*
G01*
X600000Y600000D01*
G01*
X600000Y700000D01*
G03*
X580000Y720000I-20000J0D01*
G01*
X574000Y720000D01*
G03*
X554000Y700000I0J-20000D01*
G01*
X554000Y600000D01*
G01*
X537000Y600000D01*
G03*
X517000Y580000I0J-20000D01*
G03*
X537000Y560000I20000J0D01*
G01*
X617000Y560000D01*
G01*
X817000Y560000D02*
G75*
G03*
X837000Y580000I0J20000D01*
G03*
X817000Y600000I-20000J0D01*
G01*
X800000Y600000D01*
G01*
X800000Y700000D01*
G03*
X780000Y720000I-20000J0D01*
G01*
X774000Y720000D01*
G03*
X754000Y700000I0J-20000D01*
G01*
X754000Y600000D01*
G01*
X737000Y600000D01*
G03*
X717000Y580000I0J-20000D01*
G03*
X737000Y560000I20000J0D01*
G01*
X817000Y560000D01*
G01*
X180000Y330000D02*
G75*
G03*
X200000Y350000I0J20000D01*
G01*
X200000Y450000D01*
G01*
X217000Y450000D01*
G03*
X237000Y470000I0J20000D01*
G03*
X217000Y490000I-20000J0D01*
G01*
X137000Y490000D01*
G03*
X117000Y470000I0J-20000D01*
G03*
X137000Y450000I20000J0D01*
G01*
X154000Y450000D01*
G01*
X154000Y350000D01*
G03*
X174000Y330000I20000J0D01*
G01*
X180000Y330000D01*
G01*
X380000Y330000D02*
G75*
G03*
X400000Y350000I0J20000D01*
G01*
X400000Y450000D01*
G01*
X417000Y450000D01*
G03*
X437000Y470000I0J20000D01*
G03*
X417000Y490000I-20000J0D01*
G01*
X337000Y490000D01*
G03*
X317000Y470000I0J-20000D01*
G03*
X337000Y450000I20000J0D01*
G01*
X354000Y450000D01*
G01*
X354000Y350000D01*
G03*
X374000Y330000I20000J0D01*
G01*
X380000Y330000D01*
G01*
X580000Y330000D02*
G75*
G03*
X600000Y350000I0J20000D01*
G01*
X600000Y450000D01*
G01*
X617000Y450000D01*
G03*
X637000Y470000I0J20000D01*
G03*
X617000Y490000I-20000J0D01*
G01*
X537000Y490000D01*
G03*
X517000Y470000I0J-20000D01*
G03*
X537000Y450000I20000J0D01*
G01*
X554000Y450000D01*
G01*
X554000Y350000D01*
G03*
X574000Y330000I20000J0D01*
G01*
X580000Y330000D01*
G01*
X780000Y330000D02*
G75*
G03*
X800000Y350000I0J20000D01*
G01*
X800000Y450000D01*
G01*
X817000Y450000D01*
G03*
X837000Y470000I0J20000D01*
G03*
X817000Y490000I-20000J0D01*
G01*
X737000Y490000D01*
G03*
X717000Y470000I0J-20000D01*
G03*
X737000Y450000I20000J0D01*
G01*
X754000Y450000D01*
G01*
X754000Y350000D01*
G03*
X774000Y330000I20000J0D01*
G01*
X780000Y330000D01*
G37*
M02*

View file

@ -19,6 +19,7 @@ class TestExcellon(unittest.TestCase):
cls.OUTPREFIX = 'dxf_'
cls.METRIC_FILE = os.path.join(cls.INDIR, 'ref_dxf_metric.dxf')
cls.INCH_FILE = os.path.join(cls.INDIR, 'ref_dxf_inch.dxf')
cls.COMPLEX_FILE = os.path.join(cls.INDIR, 'ref_dxf_complex.dxf')
try:
os.mkdir(cls.OUTDIR)
except FileExistsError:
@ -127,5 +128,26 @@ class TestExcellon(unittest.TestCase):
dxf.write(outfile)
self._checkResult(outfile)
def test_complex_fill(self):
outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'complex_fill.gtl')
dxf = gerberex.read(self.COMPLEX_FILE)
dxf.draw_mode = dxf.DM_FILL
dxf.write(outfile)
self._checkResult(outfile)
def test_complex_fill_flip(self):
outfile = os.path.join(
self.OUTDIR, self.OUTPREFIX + 'complex_fill_flip.gtl')
ctx = gerberex.GerberComposition()
base = gerberex.rectangle(width=100, height=100, left=0, bottom=0, units='metric')
base.draw_mode = base.DM_FILL
ctx.merge(base)
dxf = gerberex.read(self.COMPLEX_FILE)
dxf.negate_polarity()
dxf.draw_mode = dxf.DM_FILL
ctx.merge(dxf)
ctx.dump(outfile)
self._checkResult(outfile)
if __name__ == '__main__':
unittest.main()