Commit Graph

46 Commits

Author SHA1 Message Date
Marius Stanciu
0986ef143c - aperture keys in the gerber 'tools' dictionary are now stored as integers instead of strings as before; need to check the application especially the Gerber Editor
- fixed issues in Gerber Editor (using the '0' insteadd of 'REG' type for apertures)
2021-03-04 17:45:47 +02:00
Marius Stanciu
cda5f830be - fixed errors on project load, in ParseGerber and Extract and Punch Gerber Plugins due of refactoring the 'apertures' attribute to 'tools' 2021-03-03 23:21:10 +02:00
Marius Stanciu
e715870d12 - major rafactoring: replaced the name of the Gerber object data structure from 'apertures' to 'tools' to make the object data structure uniform across the app 2021-03-01 17:46:23 +02:00
Marius Stanciu
bd64a34ab8 - added ability to see the verbose log when importing SVG's (if set in preferences)
- added some more logs to the SVG import
2021-01-22 12:33:14 +02:00
Marius Stanciu
671b99912d - fixes in Panelize and Cutout Tool (Panelize has issues when exporting Gerber with aperture macros) 2021-01-17 23:25:23 +02:00
Marius Stanciu
5277905d73 - in Gerber parser added a fix for Gerber region geometry that is self-intersecting 2021-01-12 14:32:58 +02:00
Marius Stanciu
ca8db9cacd - changing some parameters from 'geometry_' to 'tools_mill_' format 2021-01-05 06:20:13 +02:00
Marius Stanciu
737f1cb7ba - fixed parseDXF() class imports to work with newer versions of ezdxf module (starting with 0.15) - contribution of Maurizio D'Addona and Hans Boot 2020-12-31 18:12:42 +02:00
Marius Stanciu
9dfa3b497d - all the logs done on Exception are now errors (with the exception of few places where the Exception is expected) 2020-12-31 05:56:46 +02:00
Marius Stanciu
b7c2bc8fbd - made sure that the GCode Editor does not have a misleading Cancel option when closing the tab
- made sure that some other part of the program outputs the log messages to the Tcl Shell if the Verbose Log options is set in Preferences
2020-12-21 18:25:12 +02:00
Marius Stanciu
3a95e53d59 - Gerber parser - when simplification is used, the tolerance value will be adjusted by dividing it with 25.4 if the file units are imperial 2020-12-17 04:06:55 +02:00
Marius Stanciu
66bb202a17 - in ParseGerber class fixed simplification controlled by the Preferences parameter
- in ParseGerber class made logs use the self.app.log handler which in turn can output messages in the Tcl Shell
2020-12-15 17:52:07 +02:00
Marius Stanciu
d843cf7da7 - Geometry object - work in upgrade of the data structure 2020-12-08 00:14:49 +02:00
Marius Stanciu
2545da79b5 - fixed an issue for importing DXF as Geometry when the DXF geometry is a single line
- updated the convert_any2geo() method such that resulting geometry objects have the tools attribute required in the newer versions of the app
2020-11-24 21:33:29 +02:00
Marius Stanciu
f032528025 - fixed the Gerber parser such that when it encounter an aperture with size 0.0 it will replace it with the smallest number that is still displayed which is (10 ** -self.decimals); previously it replaced with a too small number (1e-12) 2020-11-19 23:00:36 +02:00
Marius Stanciu
de3a23e82f - fixed PDF Tool such that now it can import more types of files including PDF files made with FlatCAM 2020-11-17 20:08:27 +02:00
Marius Stanciu
0fea6d0adf - working on adding new feature to Punch Gerber Tool - manual selection of pads to be punched 2020-11-15 02:47:05 +02:00
Marius Stanciu
f81c6fd36a - some work in PDF parser to make it work more reliable (not sure if I succeeded) 2020-11-14 19:35:33 +02:00
Marius Stanciu
dea7ce3028 - PEP8 changes and PyCharm suggestions 2020-11-12 20:47:43 +02:00
Marius Stanciu
1a131eb71e - some fixes in the app_Main class
- removed the "follow" functionality from the Isolation Tool
- created a new application Tool named Follow Tool
- added the "follow" functionality in the Follow Tool and added the new feature of allowing to perform "follow" on an area selection
2020-11-12 16:22:50 +02:00
Marius Stanciu
90e3b26b68 - fixed issue with arrays of items could not be added in the Gerber/Excellon Editor when a translation is used
- fixed issue in the Excellon Editor where the Space key did not toggle the direction of the array of drills
- combed the application strings all over the app and trimmed them up until those starting with letter 'O'
- updated the translation strings
2020-11-04 18:40:59 +02:00
Marius Stanciu
77c66862c5 - fixed an error in Gerber parser, when it encounter a pen-up followed by pen-down move while in a region 2020-11-03 17:36:10 +02:00
Marius Stanciu
334e2e1b91 - fixed borderline bug in Gerber editor when the edited Gerber object last aperture is a aperture without size (Aperture Macro)
- improved the loading of a Gerber object in the Gerber Editor
- updated translation strings
2020-11-02 22:55:07 +02:00
Marius Stanciu
374c29b4b0 - fixed the Tcl Command AlignDrill
- fixed the Tcl Command AlignDrillGrid
- fixed the Tcl COmmand Panelize, Excellon panelization section
- Fixed an issue in Tool Calibration export_excellon method call
- PEP8 corrections all over the app
2020-11-02 03:32:00 +02:00
Marius Stanciu
f771838c81 - some refactoring in the keys of the defaults dictionary
- fixed an ambiguity in the Tools Database GUI elements
2020-10-23 23:14:13 +03:00
Marius
5446570409 - modified behind the scene the UI for Tool Subtract
- modified some strings and updated the translation strings
- in NCC Tool added a check for the validity of the used tools; its only informative
- in NCC Tool done some refactoring
2020-10-22 15:09:12 +03:00
Marius Stanciu
66a3e36701 - cascaded_union() method will be deprecated in Shapely 1.8 in favor of unary_union; replaced the usage of cascaded_union with unary_union in all the app 2020-10-21 13:55:41 +03:00
Marius Stanciu
85640f2304 - fixed QrCode Tool 2020-10-19 17:45:50 +03:00
Marius Stanciu
09aafe5601 - added support for virtual units in SVG parser; warning: it may require the support for units which is not implemented yet 2020-09-23 11:50:00 +03:00
Marius Stanciu
c6a552d25a - working to add virtual units to SVG parser 2020-09-22 17:47:23 +03:00
Marius Stanciu
1d46b43c4f - in SVG parser: made sure that the minimum number of steps to approximate an arc/circle/bezier is 10 2020-09-21 03:27:52 +03:00
Marius Stanciu
c1c819276f - in CNCJob UI Autolevelling - made the Voronoi calculations work even in the scenarios that previously did not work; it need a newer version of Shapely, currently I installed the GIT version
- in CNCJob UI Autolevelling - Voronoi polygons are now plotted
- in CNCJob UI Autolevelling - adding manual probe points now show some geometry (circles) for the added points until the adding is finished
2020-08-25 03:06:09 +03:00
Marius Stanciu
445b4300f5 - Gerber parser - a single move with pen up D2 followed by a pen down D1 at the same location is now treated as a Flash; fixed issue #441 2020-07-27 03:25:38 +03:00
Marius Stanciu
5748eb049b - Tools Database - remade the UI
- made sure that the serializable attributes are added correctly and only once (self.ser_attrs)
2020-07-14 16:46:01 +03:00
Marius Stanciu
cb69216f92 - Convert Any to Excellon. Finished Gerber object conversion to Excellon. Flash's are converted to drills. Traces in the form of a linear LineString (no changes in direction) are converted to slots. 2020-07-06 00:20:20 +03:00
Marius Stanciu
e1dab238a7 - fixed importing DXF file as Gerber method such that now the resulting Gerber object is correctly created having the geometry attributes like self.apertures and self.follow_geometry 2020-07-02 17:15:13 +03:00
Marius Stanciu
2fb786f498 - fixed the SVG parser so the SVG files with no information regarding the 'height' can be opened in FlatCAM; fixed issue #433 2020-06-30 00:03:06 +03:00
Marius Stanciu
249ece72e9 - fixed the DXF parser to work with the latest version of ezdxf module (issues for the ellipse entity and modified attribute name for the knots_values to knots)
- fixed the DXF parser to parse correctly the b-splines by not adding automatically a knot value 0f (0, 0) when the spline is not closed
2020-06-29 00:40:49 +03:00
Marius Stanciu
755aa48490 - Panelize Tool - fixed to work for panelizing Excellon objects with the new data structure storing drills and tools in the obj.tools dictionary 2020-06-18 20:24:02 +03:00
Marius Stanciu
441b553fa8 - more typos fixed in Excellon parser, slots processing 2020-06-16 12:27:48 +03:00
Marius Stanciu
ba931a6adc - fixed some problems (typos, missing data) generated by latest changes 2020-06-16 11:59:51 +03:00
Marius Stanciu
949c265378 - changed the data structure for the Excellon object; modified the Excellon parser and the Excellon object class
- fixed partially the Excellon Editor to work with the new data structure
- fixed Excellon export to work with the new data structure
- fixed all transformations in the Excellon object attributes; still need to fix the App Tools that creates or use Exellon objects
2020-06-16 03:47:26 +03:00
Marius Stanciu
c0a4e2f3cc - in Paint and NCC Tools made sure that using the key ESCAPE to cancel the tool will not create mouse events issues
- some updates in Tcl commands Paint and CopperClear data dicts
2020-06-14 15:59:06 +03:00
Marius Stanciu
5ce7011123 - changed the Excellon defaults for zeros suppression to TZ (assumed that most Excellon without units in header will come out of older Eagle) and the Excellon export default is now with coordinates in decimal 2020-06-07 17:06:23 +03:00
Marius Stanciu
2107a4766f - changed how the import of svg.path module is done in the ParseSVG.py file
- Tool Isolation - new feature that allow to isolate interiors of polygons (holes in polygons). It is possible that the isolation to be reported as successful (internal limitations) but some interiors to not be isolated. This way the user get to fix the isolation by doing an extra isolation.
2020-06-05 07:10:18 +03:00
Marius Stanciu
2eecb20e95 - remade file names in the app
- fixed the issue with factory_defaults being saved every time the app start
- fixed the preferences not being saved to a file when the Save button is pressed in Edit -> Preferences
- fixed and updated the Transform Tools in the Editors
2020-06-03 20:35:59 +03:00