Fixed Gerber parser: Now buffers current path with previous tool on tool change.
This commit is contained in:
79
bugs/_sources/active.txt
Normal file
79
bugs/_sources/active.txt
Normal 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
23
bugs/_sources/index.txt
Normal 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`
|
||||
|
||||
Reference in New Issue
Block a user