- work in Gerber Export: finished the body export but have some errors with clear geometry (LPC)

This commit is contained in:
Marius Stanciu
2019-05-07 21:13:20 +03:00
parent 825b3e5e1e
commit bdd13a3800
5 changed files with 210 additions and 178 deletions

View File

@@ -7093,56 +7093,57 @@ class App(QtCore.QObject):
time_str = "{:%A, %d %B %Y at %H:%M}".format(datetime.now())
header = 'G04*\n'
header += ';GERBER GENERATED BY FLATCAM v%s - www.flatcam.org - Version Date: %s\n' % \
header += 'G04 RS-274X GERBER GENERATED BY FLATCAM v%s - www.flatcam.org - Version Date: %s*\n' % \
(str(self.version), str(self.version_date))
header += ';Filename: %s' % str(obj_name) + '\n'
header += ';Created on : %s' % time_str + '\n'
header += 'G04 Filename: %s*' % str(obj_name) + '\n'
header += 'G04 Created on : %s*' % time_str + '\n'
header += '%%FS%sAX%s%sY%s%s*%%\n' % (gzeros, gwhole, gfract, gwhole, gfract)
# gerber_code = obj.export_gerber(gwhole, gfract, form='ndec', e_zeros=gzeros, factor=factor)
header += "%MO{units}*%\n".format(units=gunits)
for apid in obj.apertures:
if obj.apertures[apid]['type'] == 'C':
header += "%ADD{apid}{type},{size}*%\n".format(apid=str(apid),
type='C',
size=obj.apertures[apid]['size'])
header += "%ADD{apid}{type},{size}*%\n".format(
apid=str(apid),
type='C',
size=(factor * obj.apertures[apid]['size'])
)
elif obj.apertures[apid]['type'] == 'R':
header += "%ADD{apid}{type},{width}X{height}*%\n".format(
apid=str(apid),
type='R',
width=obj.apertures[apid]['width'],
height=obj.apertures[apid]['height']
width=(factor * obj.apertures[apid]['width']),
height=(factor * obj.apertures[apid]['height'])
)
elif obj.apertures[apid]['type'] == 'O':
header += "%ADD{apid}{type},{width}X{height}*%\n".format(
apid=str(apid),
type='O',
width=obj.apertures[apid]['width'],
height=obj.apertures[apid]['height']
width=(factor * obj.apertures[apid]['width']),
height=(factor * obj.apertures[apid]['height'])
)
header += '\n'
header += "%MO{units}*%\n".format(units=gunits)
header += "G04*\n"
if gunits == 'IN':
header += 'G71*\n'
else:
header += 'G70*\n'
header += 'G75*\n'
# obsolete units but some software may need it
if gunits == 'IN':
header += 'G91*\n'
header += 'G70*\n'
else:
header += 'G90*\n'
header += 'G71*\n'
# Absolute Mode
header += 'G90*\n'
header += 'G01*\n'
# positive polarity
header += '%LPD*%\n'
footer = 'M02*\n'
gerber_code = obj.export_gerber(gwhole, gfract, g_zeros=gzeros, factor=factor)
exported_gerber = header
# exported_gerber += gerber_code
exported_gerber += gerber_code
exported_gerber += footer
with open(filename, 'w') as fp: