Fixed Gerber parser: Now buffers current path with previous tool on tool change.

This commit is contained in:
Juan Pablo Caram
2014-11-13 15:06:43 -05:00
parent b873cbfea4
commit 5659c3e7bd
69 changed files with 1930 additions and 6110 deletions

79
bugs/_sources/active.txt Normal file
View File

@@ -0,0 +1,79 @@
Active Bugs
===================
Drill number parsing
--------------------
The screenshot below show the problematic file:
.. image:: drill_parse_problem1.png
:align: center
The file reads::
G81
M48
METRIC
T1C00.127
T2C00.889
T3C00.900
T4C01.524
T5C01.600
T6C02.032
T7C02.540
%
T002
X03874Y08092
X03874Y23333
X06414Y08092
X06414Y23333
X08954Y08092
...
T007
X02664Y03518
X02664Y41618
X76324Y03518
X76324Y41618
...
After scaling by 10.0:
.. image:: drill_parse_problem2.png
:align: center
The code involved is:
.. code-block:: python
def __init__(self):
...
self.zeros = "T"
...
def parse_number(self, number_str):
if self.zeros == "L":
match = self.leadingzeros_re.search(number_str)
return float(number_str)/(10**(len(match.group(2))-2+len(match.group(1))))
else: # Trailing
return float(number_str)/10000
The numbers are being divided by 10000. If "L" had been specified,
the following regex would have applied:
.. code-block:: python
# Parse coordinates
self.leadingzeros_re = re.compile(r'^(0*)(\d*)')
Then the number 02664 would have been divided by 10**(4-2+1) = 10**3 = 1000,
which is what is desired.
Leading zeros weren't specified, but www.excellon.com says:
The CNC-7 uses leading zeros unless you specify
otherwise through a part program or the console.
.. note::
The parser has been modified to default to leading
zeros.

23
bugs/_sources/index.txt Normal file
View File

@@ -0,0 +1,23 @@
.. FlatCAM Bugs documentation master file, created by
sphinx-quickstart on Thu Nov 13 12:42:40 2014.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to FlatCAM Bugs's documentation!
========================================
Contents:
.. toctree::
:maxdepth: 2
active
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`