Commit Graph

316 Commits

Author SHA1 Message Date
Marius Stanciu
481657dc4a - fixed toggling the visibility for the CNCJob objects (was in reverse to the expected state) 2022-03-27 22:34:36 +03:00
Marius Stanciu
eec366ce7f - refactoring names for some classes 2022-03-24 18:35:44 +02:00
Marius Stanciu
d839beea6c - added a method that can help in the future in regard to drag & drop 2022-03-21 10:42:39 +02:00
Marius Stanciu
a5544615c5 - optimized the UI for the CNCJob object
- when loading a Gcode file in the app now the application makes an attempt in adding information's such that the CncJob UI works correctly; if so information's are not found then assumptions are made. Only for GCode that is detected as made from an Excellon object
2022-03-21 01:35:47 +02:00
Marius Stanciu
8f1e9fd740 - another fix to make the app save correctly the CNCJob objects when saving a project 2022-03-20 21:46:16 +02:00
Marius Stanciu
80144ed899 - updated the code in FlatCAMCNCJob object such that more attributes will be serialized in order for loading a project correctly when it has CNCJob objects 2022-03-20 17:27:18 +02:00
Marius Stanciu
c04957322e - added a last resort option to load old projects; the result is not guaranteed if the differences are too great 2022-03-20 14:32:20 +02:00
Marius Stanciu
16b6f96324 - minor change 2022-03-20 04:43:03 +02:00
Marius Stanciu
613a60cecc - fixed issues when saving the project due of changed serializable attributes 2022-03-13 04:28:52 +02:00
Marius Stanciu
bcadbf272c - fixed an issue when importing GCode which made the loaded GCode object un-plotable 2022-03-10 16:11:56 +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
14d9ea5470 - in Excellon Object UI, Advanced Mode, added a Tools Table context menu allowing to copy the tool diameters in the selected rows to clipboard 2022-02-18 15:51:21 +02:00
Marius Stanciu
4d2181eda7 - made sure that the CNCJob UI building no longer have issues with table items added from an already existing table
- fixed CNCJob UI showing all tools in the Tools Table even when only some tools were selected for processing
- fixed the `drillcncjob` Tcl Command to work in the case of drilling a selection of tools instead of all, with toolchange inactive
2022-02-18 15:16:05 +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
2de9bc730b - redraw_on_top_on_project_click works only for left mouse clicks on the Project objects list 2022-02-11 12:00:20 +02:00
Marius Stanciu
529148c60d - made sure that the redraw_on_top_on_project_click works properly and only on mouse click release in the Project list
- made sure that the `redraw_on_top_on_project_click` works only on single object selections
2022-02-11 11:06:08 +02:00
Marius Stanciu
5421b65b9e - made sure that the new feature of redrawing Gerber on top is not activated when that Gerber object is disabled
- added ability to turn off the outline plotting for Gerber objects (will speed up the plotting but the plotting visual quality will degrade); controlled from Preferences -> Gerber -> General
- plotting visuals in 3d graphic mode will no longer create some unnecessary lists
2022-02-11 10:42:03 +02:00
Marius Stanciu
4b611f5ce3 - a new feature that when selecting an object in the Project Tab, that object is redrawn over the other objects, in top position. Feature controlled from Preferences -> Gerber -> General. 2022-02-11 02:35:40 +02:00
Marius Stanciu
3d4e195ae1 - added a new preprocessor: default_laser
- in the app added a new tool type: "L" (laser) which when selected will autoselect the `default_laser` preprocessor in Milling Plugin
2022-02-10 14:01:32 +02:00
Marius Stanciu
1edc2cd241 - fixed some issues when exporting Excellon objects 2022-02-07 19:40:06 +02:00
Marius Stanciu
b1f038dd52 - fixed some issues in panelize and cncjob Tcl commands
- reversed the mirroring axis in the `mirror` Tcl command to be consistent with the action in GUI
2022-02-01 22:09:14 +02:00
Marius Stanciu
93b1c5c3a2 - fixed the multi-color feature in the Gerber object UI
- fixed the marking of apertures in Gerber object UI and in Extract plugin
2022-02-01 04:48:05 +02:00
Marius Stanciu
e8ceda4809 - yet another fix for a Shapely 2.0 deprecation warning 2022-01-31 22:05:09 +02:00
Marius Stanciu
28372c1e08 - updated the isolate, cutout and geocutout Tcl commands and now they yield multigeo Geometry objects 2022-01-31 21:19:37 +02:00
Marius Stanciu
7306e7ada1 - updated the join_geometry and join_excellon Tcl commands format to follow the format of other commands 2022-01-31 20:39:30 +02:00
Marius Stanciu
b64c11885a - yet another fix for Shapely 2.0 deprecation warnings 2022-01-31 18:40:22 +02:00
Marius Stanciu
5cee4109b8 - another fix for Shapely 2.0 deprecation warning 2022-01-31 18:32:57 +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
fa25644f8f - now the verbose log parameter from the Preferences can take 3 values (0, 1, 2). Value = 0 means that the logging is disabled (mostly), value = 1 means that the logging is only in console and value = 3 means that the logging is now displayed in the Tcl box 2022-01-31 01:25:30 +02:00
Marius Stanciu
33897e8e83 - fixed a minor UI glitch in the CNCJob UI
- made sure that the `drillcncjob` and `cncjob` Tcl commands will use the `-las_power` parameter to set the laser power when using a preprocessor with `laser` in its name
2022-01-31 00:29:59 +02:00
Marius Stanciu
7420ac9fd5 - fixed all the laser preprocessors to work correctly and the resulting GCode to be plotted
- made sure that when drilling and milling with a `laser` preprocessor the first move is not done with the laser on
2022-01-31 00:04:49 +02:00
Marius Stanciu
d6c345656c - finished implementing the new feature that add a new parameter laser minimum power for the Drillin, Milling Plugins and for the cncjob and drillcncjob Tcl commands:
- modified all the preprocessors that are for `laser` to use the new parameter: `laser minimum power`
2022-01-30 21:33:06 +02:00
Marius Stanciu
71441a80e5 - fixed not adding the feedrate code in drillcncjob Tcl command
- fixed crash when trying to do a `select all` and there are app Scripts present
- updated the `drillcncjob` Tcl command to make a script exit in case of an error
2022-01-30 16:25:11 +02:00
Marius Stanciu
c470023719 - fixed an error in Drilling Plugin when selecting only a few tools and not all for drilling
- fixed an error when building the UI for a CNCJob object created from drilling an Excellon object with a limited selection of tools
2022-01-28 04:03:19 +02:00
Marius Stanciu
b003b95022 - made sure that for the Tcl command cncjob when using the dpp parameter (multi depth) the value is always positive, as expected
- the `cutout` Tcl command creates a non-multigeo Geometry object
2022-01-27 14:36:24 +02:00
Marius Stanciu
805cf75e85 - modified the bounding box utility feature in the Gerber Object UI to work with negative margin values 2022-01-26 13:49:48 +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
6cdb276a08 - minor changes 2022-01-25 04:30:14 +02:00
Marius Stanciu
90165ce0ac - improved the running of scripts when loading from GUI a script as a FlatCAM script 2022-01-22 00:23:22 +02:00
Marius Stanciu
cdf6872e5e - updated the header of the postprocessos with 'laser' to show essential informations like some of them do not move on the Z axis
- make sure that the laser postprocessor that do move on the Z axis (like 'GRBL_laser_Z') accept negative values for the Z focus
- fixed issue in highlighter such that the keywords that have an underscore included are highlighted
- rearranged the default keywords
- fixed the generatecncjob() method default parameters to reflect new data structure names
- in Geometry object the default self.options dictionary is updated with keys that reflect new data structure
2022-01-19 02:25:40 +02:00
Marius Stanciu
3363dd0fe8 - in the 'cutout' Tcl command made sure that when an error pop-up then it returns with a "fail" string
- made sure when running scripts from the interface that if a command will generate an error then the script is aborted
2022-01-18 00:30:10 +02:00
Marius Stanciu
c08acc79eb - fixed an issue with path conversion when using Windows-style of paths in the 'set_path' Tcl command 2022-01-17 23:37:28 +02:00
Marius Stanciu
2430158334 - fixing an issue with not building the UI for the generated objects when running a script and then trying to enable/disable the plots
- attempting to add a feature in the text editors to autoselect all words in a document that are the same as the one that was clicked
- all the colors set in Preferences now have to be in the 8digits format RGBA (including the alpha channel as a suffix) - it is required to delete the current preferences files
2022-01-17 21:26:10 +02:00
Marius Stanciu
fd696b00a2 - fixed the 'isolate' Tcl command: updated to the new tools data structure elements 2022-01-17 14:08:44 +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
518bedc78d - some changes in the Excellon object suggessted by an user: Karl-Heinz 2022-01-06 17:48:00 +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
2d1cf899e8 - small optimization when deleting all objects (creating a new project) 2021-12-09 13:10:01 +02:00
Marius Stanciu
24caaedac0 - fixed some more Shapely 2.0 deprecation warnings
- fixed a message bug in the AppMain
2021-12-08 23:11:23 +02:00