- fixed a Gerber parser issue shown by Gerber files generated by Autotrax DEX ECAD software: if the last operation before a region was a flash D03 then at the beginning of the region a flash was added with the previous aperture

This commit is contained in:
Marius Stanciu
2022-01-09 21:20:42 +02:00
committed by Marius
parent e219562bbb
commit 747a2f0de4
2 changed files with 5 additions and 1 deletions

View File

@@ -12,6 +12,7 @@ CHANGELOG for FlatCAM beta
- some UI changes in the Preferences: the clicked tab now have a distinctive color (green) and some strings are optimized - some UI changes in the Preferences: the clicked tab now have a distinctive color (green) and some strings are optimized
- added in CNCJob preferences new preferences that allow compensation for the CNC bed skew/tilt (axes not being square one to another) - added in CNCJob preferences new preferences that allow compensation for the CNC bed skew/tilt (axes not being square one to another)
- all pre-processors are altered such they can adjust the gcode to use the compensation values set in Preferences -> CNC-Job section - all pre-processors are altered such they can adjust the gcode to use the compensation values set in Preferences -> CNC-Job section
- fixed a Gerber parser issue shown by Gerber files generated by Autotrax DEX ECAD software: if the last operation before a region was a flash D03 then at the beginning of the region a flash was added with the previous aperture
8.01.2021 8.01.2021

View File

@@ -876,6 +876,9 @@ class Gerber(Geometry):
path = [path[-1]] path = [path[-1]]
making_region = True making_region = True
# flashes are not allowed inside regions
if current_operation_code == 3:
current_operation_code = 2
continue continue
# ################################################################ # ################################################################
@@ -1068,7 +1071,7 @@ class Gerber(Geometry):
if match.group(4) is not None: if match.group(4) is not None:
current_operation_code = int(match.group(4)) current_operation_code = int(match.group(4))
# Pen down: add segment # Pen down: add segment
if current_operation_code == 1: if current_operation_code == 1:
# if linear_x or linear_y are None, ignore those # if linear_x or linear_y are None, ignore those
if current_x is not None and current_y is not None: if current_x is not None and current_y is not None: