Commit Graph

85 Commits

Author SHA1 Message Date
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
c23d0c4ed6 - some deletions, because there are conflicts, and I am lazy to fix them 2023-05-24 17:58:15 +03:00
Marius Stanciu
d89deb47d3 - fixed an encoding error in the Excellon parser 2023-01-16 13:05:53 +02:00
Marius Stanciu
ba7fafb6de - fixed an issue in the SVG parser where when parsing a path and getting multiple polygons will generate an invalid compound polygon (the polygons other than the first are seen as interiors even if they are not inside the first) 2022-05-09 16:12:12 +03:00
Marius Stanciu
9dc6c94a45 - wip 2022-05-09 14:18:49 +03:00
Marius Stanciu
545e594ed0 - in Isolation Plugin made sure that the last displayed message is the warning, in the case of using tool validation and the tool is not validated
- some more work in the Excellon Editor - Drill adding
- some fixes in the image loader when clicking the an image that is in the list of previous loaded files
- a small fin in the SVG parser
- added a new Tcl command that is returning the name of the active object ('get_active') to accompany the 'set_active' command
- a small fix for the 2d graphic mode by replacing the q5agg matplotlib backend with the qtagg backend which should work with the Qt6
2022-04-28 13:39:48 +03:00
Marius Stanciu
1972ed302f - some fixes in the Import Image Plugin
- made sure that the CNCJob objects made out of non-multi-toolGeometries are plotted correctly
2022-04-24 01:48:25 +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
1b6b432f7c - added the circle approximation parameter for Excellon geometry in Preferences
- updated the language strings
2021-10-04 20:57:42 +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
29988a622e - in ParseDXF file fixed import of module due of changes in the latest version of ezdxf module
- changes in Milling Plugin in the selection in the Tools Table
- some updates of milling data structure
- changes in handling the tool shape due of moving the parameter from the tool table in the tool parameters section
2021-07-21 00:46:55 +03:00
Marius Stanciu
71206b52f3 - fixed typo in Gerber parser 2021-06-21 23:58:23 +03:00
Marius Stanciu
8cd5d253be - fixed SVG import to show an error for SVG files that have SVG units not mm or cm or inch
- for SVG files with cm units the scaling factor is multiplied by 10
- the app will signal failure when encountering the 'g' SVG element which is not supported and cancel the SVG import
2021-05-16 20:31:43 +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
7cffe87953 - fixed drill file import from FreePCB 2021-04-05 00:09:33 +03:00
Marius Stanciu
61d19e0748 - fixed ParseFont such that the output of the Text Plugin in the Geometry Editor can now be painted using the Paint Plugin 2021-03-28 22:12:58 +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
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