Commit Graph

54 Commits

Author SHA1 Message Date
Marius Stanciu
ca630be149 - Gerber parser: added support for obsoleted G55 command before a D03 (flash) 2023-09-27 18:08:24 +03:00
Marius Stanciu
4d5287ce12 - Gerber Parser: fixed a bug where a region is a MultiPolygon and failed because of changes in Shapely starting with version 2.0 2023-07-05 16:22:49 +03:00
Marius Stanciu
598650d41e - Allowed the opening of certain types of damaged Gerber files (apertures not defines but used) but WARNINGS 2023-06-08 22:50:37 +03:00
Marius Stanciu
24806b3116 - Gerber Parser: minor changes, cleaning up the KiCAD junk lines if the Gerber file is made by KiCAD 2023-06-08 00:59:08 +03:00
Marius Stanciu
63071a9bae - overwritten the Beta_8.995 branch with the Gerber_Editor_Upgrade branch 2023-05-24 18:07:05 +03:00
Marius Stanciu
65d8dcc0b2 - the application now uses only the default values from the app.options dict, the app.defaults dict holds the definitive default values
- fixed some outstanding issues from the PyQt6 port
- PEP8 fixes
- minor fixes
- updated the saving of Preferences to update the self.options too: the `Apply` action will update the self.options but the `Save` action will save the updated preferences to the file on disk
2022-02-18 23:06:58 +02:00
Marius Stanciu
c5b929781e - fixed an issue with the moving shape when creating an exclusion area
- added ability to copy the coordinates of the exclusion area with the context menu actions in the Exclusion areas table found in the Milling/Drilling plugins
2022-02-15 03:45:52 +02:00
Marius Stanciu
88d9d6aeb4 - fixed some issue regarding Milling Plugin, importing DXF file as Geometry 2022-02-02 17:33:05 +02:00
Marius Stanciu
056ff05e29 - most of the logging (except in the Editors) is now done by the AppLogging class 2022-01-31 02:14:14 +02:00
Marius Stanciu
5d3fce12d5 - modified the bounding box utility feature in the Gerber Object UI to work with buffer value of 0.0 and rounded corners 2022-01-26 12:23:12 +02:00
Marius Stanciu
b0db73029d - added a new Tcl command: buffer which will buffer the geometry of an object or will scale individually each geometry sub element
- fixed the buffer() method for the Excellon objects (the resulting tool diameters were calculated less than the what was expected)
2022-01-21 02:37:34 +02:00
Marius Stanciu
a9b26b291f - the Editors require an Object UI build before launching; I've added the required code so the shortcut keys work even if the Properties tab is not current 2022-01-19 17:45:59 +02:00
Marius Stanciu
747a2f0de4 - 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 2022-01-09 21:20:42 +02:00
Marius Stanciu
da154a865c - in Milling Plugin working on milling Excellon holes by painting them from the center
- removed display of some of the logs in Tcl Shell (when in Verbose mode) when parsing the Gerber files
2021-12-23 05:07:49 +02:00
Marius Stanciu
02741cf37f - added an ugly form of extra pad passes functionality in Isolation Plugin - does not take into consideration the milling direction 2021-10-15 01:35:16 +03:00
Marius Stanciu
fd8d473703 - for Transform and SolderPaste Plugins upgraded the UI
- in SolderPaste Plugin now the paste is dispensed only on the pads/Gerber flashes
2021-10-02 22:39:11 +03:00
Marius Stanciu
b4c817722b - minor changes 2021-09-29 00:10:30 +03:00
Marius Stanciu
3fc0ab826f - working to differentiate between temporary units change and permanent units change 2021-09-27 17:28:54 +03:00
Marius Stanciu
89426e8ac3 - in Gerber Object trying to solve the issue with too little details on plotting geometry with inch units 2021-09-27 15:22:27 +03:00
Marius Stanciu
0cee20a6d9 - in Excellon Editor and Geometry Editor solved some Shapely 2.0 deprecation warnings
- in Excellon Editor made sure that the tool diameter is always updated before adding a new drill (or drill array)
- changing units is not possible while in Editors
- changing units outside the Preferences will make no permanent changes
- deleting all shapes from the shapes collection (OpenGl graphics) will reset also the index in the collection data dict
2021-09-26 21:21:49 +03:00
Marius Stanciu
eaf9562854 - fixed some leftovers from Qt6 port
- some code optimizations in the Gerber Editor
- Corners Plugin now generate Gerber objects with the solid geometry flattened
- fixed issue where Gerber objects created from importing SVG geometries could not be edited
2021-09-21 23:41:56 +03:00
Marius Stanciu
548b5c2e28 - more Shapely deprecations fixes 2021-09-21 20:16:44 +03:00
Marius Stanciu
dd029d6ded - fixed an error due of missing attribute of PlotCanvasLegacy when using Legacy2D graphic engine
- solving deprecation warnings issued by Shapely
- made sure that the Gerber Object geometry is always flattened
2021-09-21 15:55:35 +03:00
Marius Stanciu
0df26163a4 - small change due of a deprecation warning 2021-08-05 15:05:16 +03:00
Marius Stanciu
53272da959 - porting to PyQt6 2021-08-04 18:34:24 +03:00
Marius Stanciu
71206b52f3 - fixed typo in Gerber parser 2021-06-21 23:58:23 +03:00
Marius Stanciu
8972b3d635 - fixed the Gerber parser to work for the case of having coordinates with negative values and the trailing zeros are removed and leading zeros are kept 2021-05-07 01:02:37 +03:00
Marius Stanciu
4c92083c01 - upgraded all the plugins such that at each launch the Plugin UI is reinitialized reducing the chances to get errors like "wrapped up C++ object deleted" with the side effect that the performance might be slightly reduced 2021-03-28 15:21:17 +03:00
Marius Stanciu
f103cc0a70 - added detection of Gerber files in Gerber X2 format
- added a new feature: if a Gerber file in format Gerber X2 having Drill information's is detected then after loading, it will be converted to an Excellon object
2021-03-05 05:36:40 +02:00
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
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
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
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
dea7ce3028 - PEP8 changes and PyCharm suggestions 2020-11-12 20:47:43 +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
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
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
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