Commit Graph

44 Commits

Author SHA1 Message Date
Marius Stanciu
e7cd73fde1 - major refactoring: started to move the methods connected to the Edit menu to their own class to clean up the App mega class 2024-03-28 14:49:05 +02:00
Marius Stanciu
a7c909273b - when failing to save a project make sure that we can still close the app correctly
- Milling Tool: when generating CNCJob's from a single_geometry type fixed an issue getting bad bounds values (Inf) which did not allow saving the project that included such a CNCJob object due of failing to serialize such an object
- fixed some redundancy in some RegEx expressions
- minor fixes
2023-10-29 17:16:39 +02: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
63071a9bae - overwritten the Beta_8.995 branch with the Gerber_Editor_Upgrade branch 2023-05-24 18:07:05 +03:00
Marius Stanciu
9eb42f4601 - some refactoring and updated the application strings
- updated Romanian translation
2022-05-11 23:42:46 +03:00
Marius Stanciu
eec366ce7f - refactoring names for some classes 2022-03-24 18:35:44 +02:00
Marius Stanciu
31eb06d5a9 - fixed multiple issues in the App objects related to wrong usage of self.obj_options attribute instead of self.app.options attribute
- remade the Film Plugin such that the `skew` feature is now done in length units as opposed with the previous usage of angles
- refactored some big methods from the Film Plugin
2022-03-10 14:22:09 +02: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
1681b327ed - refactoring all the references to object options property to obj_options to make a difference with the application options property 2022-02-16 10:47:12 +02:00
Marius Stanciu
ab3e610324 - added a new feature in Preferences -> Gerber: a Layer Color Manager where the user can set and edit predefined colors for the Gerber objects: loading order matter 2022-01-10 17:06:12 +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
866e2fb4b7 - changing the Excellon Object color from Project Tab context menu is now persistent 2021-10-08 23:48:18 +03:00
Marius Stanciu
bc2f31aa90 - in Preferences, more Plugins preferences UI is upgraded to the new look
- In Paint Plugin fixed the Area select mode to work with Geometry object created by the Geometry Editor
- in Paint Plugin some changes in the way the source object is autoloaded
- in Paint, NCC and Cutout Plugins when using a mode that require to be terminated (by mouse RMB or ESC key) the notebook UI element is disabled until this is done
2021-10-02 18:02:27 +03:00
Marius Stanciu
854548142e - remade the Gerber Object Properties UI
- fixed a small typo when creating a new Gerber empty App Object
2021-09-05 17:17:24 +03:00
Marius Stanciu
c84364e605 - in CNCJob object, for CNCJob objects created when importing a foreign Gcode file, fixed the updating of the tool diameter
- in CNCJob object, when there are no tools in the Tools Table (it happens when importing foreign GCode files) the Tool Table is now displayed in a correct way
2021-04-29 21:34:56 +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
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
f9b3cb0794 - fixed the Tcl Commands: new_geometry, new_gerber and new_excellon to create correct objects. New Geometry object created with the new_geometry Tcl command accept now the usage of add_circle/polygon/polyline/rectangle Tcl commands
- updated the autocompleter list for the Tcl commands with missing Tcl commands names
- added three new Tcl Commands: add_aperture (adds an aperture to a Gerber object), add_drill and add_slot (add a drill/slot to an Excellon object)
2021-01-03 19:58:46 +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
bf165032a3 - fixed error in Gerber Editor
- made some more log.debug messages visible in Tcl Shell
2020-12-30 05:52:35 +02:00
Marius Stanciu
86715af5a2 - new Application Objects will hold all the options that start with 'tools_' 2020-12-11 18:28:07 +02:00
Marius Stanciu
025817b62d - updated the 'Default_no_M6' preprocessor by removing the Tx command in the Toolchange section to make it compatible with GRBL controllers
- added a new preprocessor named 'Check_points' which is to be used to check if the PCB is well aligned in position (used by at least the Corners Tool)
- Tool Corners - added a new feature that creates a verification GCode by moving in the locations positions; modfied the UI a bit
- Drilling Tool - removed the mandatory Toolchange event added even if the Toolchange was not selected
- Excellon and Geometry objects no longer have the self.options dict overwritten with the application defaults
- Drilling Tool - first tool that benefit from using the object options instead of application defaults; this is useful if an object is recreated on project load
- Drilling Tool - fixed it to update the UI form also for common parameters on object change
2020-12-11 17:22:53 +02:00
Marius Stanciu
d6c34f97ef - fixed the on_delete() method in the App class; sometime it will delete all files that have similar names
- made sure that on creation of new objects the adding of the names to the auto-complete list is done properly
2020-12-09 19:13:06 +02:00
Marius Stanciu
d843cf7da7 - Geometry object - work in upgrade of the data structure 2020-12-08 00:14:49 +02:00
Marius Stanciu
b0298c02c1 - Milling Tool - working on the data structure - wip 2020-12-06 23:54:11 +02:00
Marius Stanciu
1c2314149c - added a way to keep compatibility with old projects 2020-11-25 01:40:56 +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
bb279cbebe - removed the enforced ActivityView width
- various string changes; updated the strings
- brought up-to-date the Romanian translation strings
- updated the source file when creating Excellon objects in various places in the app
2020-11-15 15:05:58 +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
cccc5634c9 - fixed an if/else selection in the AppObject.on_object_created() that made the plotting of CNCJob objects to be done twice and second time will disregard the Plot Kind Preference value 2020-11-07 14:37:49 +02:00
Marius Stanciu
a6a7e5edcc - strings update 2020-11-05 16:48:04 +02:00
Marius Stanciu
5170505f53 - trying to optimize Gerber Editor selection with the mouse
- optimized some of the strings
2020-11-03 06:21:53 +02:00
Marius Stanciu
263ec736c3 - fixed an issue in Tool Isolation used with tools from the Tools Database: the set offset value was not used
- updated the Tools Database to include all the Geometry keys in the every tool from database
- made sure that the Operation Type values ('Iso', 'Rough' and 'Finish') are not translated as this may create issues all over the application
2020-11-03 02:19:01 +02:00
Marius Stanciu
85eb39b6ec - minor change 2020-10-27 15:51:23 +02:00
Marius Stanciu
229d5c237e - added ability to run a callback function with callback_parameters after a new FlatCAM object is created 2020-10-22 00:35:23 +03:00
Marius Stanciu
d5cf7b4980 - the Selected Tab is now Properties Tab for FlatCAM objects
- modified the Properties Tab for various FlatCAM objects preparing the move of Properties Tool data into the Properties Tab
- if the Properties tab is in focus (selected) when a new object is created then it is automatically selected therefore it's properties will be populated
2020-09-26 14:39:52 +03:00
Marius Stanciu
b8fb64a143 - added a Laser preprocessor named 'Z_laser' which will change the Z to the Travel Z on each ToolChange event allowing therefore control of the dot size
- by default now a new blank Geometry object created by FlatCAM is of type multigeo
- made sure that optimizations of lines when importing SVG or DXF as lines will not encounter polygons but only LinesStrings or LinearRings, otherwise having crashes
- fixed the import SVG and import DXF, when importing as Geometry to be imported as multigeo tool
- fixed the import SVG and import DXF, the source files will be saved as loaded into the source_file attribute of the resulting object (be it Geometry or Gerber)
2020-07-23 00:44:33 +03:00
Marius Stanciu
786423eb57 - fixed some issues in Excellon Editor due of recent changes
- moved the Gerber colors fill in the AppObject.on_object_created() slot and fixed some minor issues here
2020-07-21 15:52:53 +03:00
Marius Stanciu
a3e1570747 - added a control in Preferences -> Gerber Tab for Gerber colors storage usage
- made sure that the defaults on first install will set the number of workers to half the number of CPU's on the system but no less than 2
2020-07-21 00:04:18 +03:00
Marius Stanciu
ebdb2b3ca0 - fixed a bug in the FlatCAMGerber.on_mark_cb_click_table() method when moving a Gerber object
- added a way to remember the colors set for the Gerber objects; it will remember the order that they were loaded and set a color previously given
2020-07-20 19:21:17 +03:00
Marius Stanciu
0d886955f8 - when creating a new FlatCAM object, the options will be updated with FlatCAM tools properties that relate to them
- updated the Tools DB class by separating the Tools DB UI into it's own class
- Tools DB - added the parameters for Drilling Tool
2020-07-12 18:30:24 +03:00
Marius Stanciu
039500b43f - fixed issue with trying to access GUI from different threads by adding a new signal for printing to shell messages 2020-06-07 15:30:46 +03:00
Marius Stanciu
4b01fd5473 - updated the Italian translation - contribution by Golfetto Massimiliano
- made the timing for the object creation to be displayed in the shell
2020-06-04 02:53:06 +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