Commit Graph

336 Commits

Author SHA1 Message Date
Marius Stanciu
843be488a5 - some changes to the Preferences 2022-02-24 00:14:58 +02:00
Marius Stanciu
f016214481 - in Gerber Editor fixed adding a new aperture with code 0
- in Gerber Editor when the aperture size is 0.0 then automatically add a new aperture with code 0
- in Gerber Editor -> Eraser tool: when deleting all geometry in an aperture then the aperture is deleted too
2022-02-22 20:11:06 +02:00
Marius Stanciu
666f7cac55 - changes in the App options are now saved to the App defaults on app exit 2022-02-22 16:19:14 +02:00
Marius Stanciu
1df2570668 - some fixes in remembering the last save location and last open location 2022-02-22 15:16:03 +02:00
Marius Stanciu
72186cf8b8 - fixed an issue due of recent changes that made the application think that is run always for the first time; fixed not applying the selected language translation
- some more code is refactored in the Preferences
- the axis will now be drawn on the canvas as they were left in the previous run (just like the HUD and the Workspace)
- for processors with less than 4 cores now the default number of workers is 1 (changed from 2)
- some graphical settings go now directly to the defaults dictionary and will not pass through the `options` app dictionary
2022-02-20 22:32:54 +02:00
Marius Stanciu
42c809c1ff - fixed an issue when trying to print an exception message 2022-02-20 20:45:37 +02:00
Marius Stanciu
7acabdfa0f - fixed an issue where the selected application translation language is not remembered as was selected and defaulting to English language
- refactored code in Preferences section
2022-02-20 20:37:31 +02:00
Marius Stanciu
7bbe1e69f9 - making the above fix accept few possibilities 2022-02-20 16:39:04 +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
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
d13b4ef14f - in Tcl command add_polygon added ability to use -p_coords optional parameter where the value of this argument should be a list of tuple coordinates 2022-02-15 04:22:36 +02:00
Marius Stanciu
e0819ab1a6 - fixed issue when doing a custom origin set 2022-02-13 21:26:00 +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
88d9d6aeb4 - fixed some issue regarding Milling Plugin, importing DXF file as Geometry 2022-02-02 17:33:05 +02:00
Marius Stanciu
52a0efb62e - upgraded the skew Tcl command to work on a selection of objects and added the ability to skew not only in degrees but also by distances 2022-02-01 16:48:42 +02:00
Marius Stanciu
fc085217c9 - minor change in the way the app quits 2022-01-31 22:25:43 +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
5cee4109b8 - another fix for Shapely 2.0 deprecation warning 2022-01-31 18:32:57 +02:00
Marius Stanciu
cc8f5cc27d - improved the quit application process; now the quit_flatcam Tcl command works properly 2022-01-31 17:17:45 +02:00
Marius Stanciu
7ac1ff6364 - made sure that for laser preprocessors, the laser is always turned off completely at the end of a job
- added a new script example
2022-01-31 04:13:41 +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
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
a29d18bd12 - updated the new Tcl command: now it has an argument -keep_scripts that when True, will keep the loaded scripts in the new project 2022-01-29 20:35:28 +02:00
Marius Stanciu
54def9a426 - in the panelize, cutout and geocutout Tcl commands updated the error strings and made sure that if an error occur then a potential script execution in chain is aborted 2022-01-29 16:24:29 +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
0c656ab10c - fixed a syntax error in a call of the log.error()
- trying to solve a 'circular reference' error when saving a project in Arch Linux
2022-01-25 00:32:52 +02:00
Marius Stanciu
4089438392 - in Milling Plugin there was issue that did not showed the Z focus parameter for the GRBL_laser_Z preprocessor
- updated the `GRBL_laser_Z` preprocessor to show more complete parameter information's in the header
2022-01-22 23:28:21 +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
17533aebc3 - fixed more issues with the cncjob Tcl command
- made sure that some autocomplete keywords are correctly processed by the application; needs the delete of the preferences files
2022-01-21 22:15:33 +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
ba8b16e54f - fixed some issues due of the above hack 2022-01-19 21:35:26 +02:00
Marius Stanciu
a26fd24f65 - made a hack so if the Image Import plugin can't be loaded due of dependencies errors the app will not crash but this plugin will no longer be available 2022-01-19 18:05:13 +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
04e6bf0872 - added a new Tcl command named 'list_pp' which lists the available preprocessor names 2022-01-18 00:39:09 +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
87f1b7e15e - modified the 'new' Tcl command to be silent and to show no popup message 2022-01-17 23:48:44 +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
e18690baf0 - fixed issues in the 'millslots' and 'milldrills' Tcl commands for the case when some parameters are not used 2022-01-17 12:35:36 +02:00
Marius Stanciu
7e3152e7a3 - fixed the Tcl Command 'set_origin' to work for a specified location
- updated the Tcl Command 'set_origin' to give the option to set the origin for a specified object
2022-01-15 17:25:05 +02:00
Marius Stanciu
b615edd631 - made sure that new message boxes are always centered on the app UI by setting correctly the parent 2022-01-14 12:43:14 +02:00
Marius Stanciu
200d244b9b - made sure that the FCMessageBox taskbar icons and message are the correct ones
- applied the FCMessageBox GUI elements everywhere; there is still a hack in appTranslation file where I needed to re-implement the class due of some circular imports errors
2022-01-13 18:08:11 +02:00
Marius Stanciu
1d1613d2d6 - subclassed the QMessageBox and created a new type of MessageBox that is frameless; started to use it throughout the app 2022-01-12 02:27:12 +02:00
Marius Stanciu
d7be3c3c3b - started to mod the qdarktheme to fit the application 2022-01-12 00:44:25 +02:00
Marius Stanciu
2165ebe419 - added an initial implementation of a dark theme using the qdarktheme (performance is not great and there are some artifacts); the theme is activated once the gray icons are checked in the Preferences 2022-01-11 23:21:18 +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
e219562bbb - added in CNCJob preferences new preferences that allow compensation for the CNC bed skew/tilt (axes not being square one to another)
- all pre-processors are altered such they can adjust the gcode to use the compensation values set in Preferences -> CNC-Job section
2022-01-09 19:44:56 +02:00