Commit Graph

331 Commits

Author SHA1 Message Date
Marius Stanciu
77c752701f - refactored the code for the file registration and for the keywords update into its own class to make the main class smaller
- when creating new files the file names are added to the beginning of the keywords list for the usage of Qt auto-completer
2022-05-20 21:19:52 +03:00
Marius Stanciu
1dc26af34c - fixed the join-as-gerber functionality 2022-05-13 01:35:23 +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
82d1729eb8 - in Document Object UI - upgraded the UI and fixed the colors setting 2022-05-11 22:39:07 +03:00
Marius Stanciu
a973275f97 - fixed a crash when creating a Document object due of changes in Qt6 (missing QtGui.Qt)
- in Document object fixed the issue with not setting selection color when in a dark theme (essentially got rid of using QPalette)
- in dark theme stylesheet changed the indent of the QCheckBox (and in Radio buttons too)
- updated the FClabel widget with some more properties
- updated the hack to make sure that the Editor sub-tools do not lose the stylesheet of the background
- updated the disabled project item color default value for the dark theme
2022-05-11 20:13:36 +03:00
Marius Stanciu
a623f20cf5 - updated the GCode header 2022-05-05 18:30:16 +03:00
Marius Stanciu
b4c300b2eb - In Excellon Editor, finished updating the Drill Plugin and Slot Plugin
- fixed a bug in the excellon export method, regarding the slots processing
2022-04-29 20:11:55 +03:00
Marius Stanciu
779a8ccc9f - activated the 'View Source' option in the project menu context menu for the Geometry objects
- in Image Import plugin now the created objects have the 'source_file' attribute with content
- working in the Excellon Editor - wip
2022-04-26 14:29:23 +03:00
Marius Stanciu
cb7bcf257f - fixed some leftovers due of recent changes in the theme management
- added a new feature (new modules are required) in the Image Plugin (Menu -> File -> Import -> Import Image) that allow tracing images. This may allow engraving pictures.
- started to add UI's for the Excellon Editor Tools (really early work)
2022-04-23 18:12:43 +03:00
Marius Stanciu
de8fd2cceb - in Solderpast Plugin fixed the GCode generation; make sure that if no object is selected then the first Gerber object is autoselected
- in Solderpaste Plugin fixed the CNCJob plotting
- in Solderpaste Plugin added a new parameter 'Margin' which allows reducing how much solderpaste is added and therefore adding a space between the solderpaste and the pad boundary
- all CNCJob objects generated by the Solderpaste plugin now have the GCode saved as source_code which can be saved also from the CNCJob object context menu, and edited
2022-04-20 14:35:39 +03:00
Ali Khalil
5cc869c1fd Application wide updates for dark mode support including dark canvas option and better colors 2022-04-17 22:41:02 +03:00
Ali Khalil
adad500f15 Theme option added to match OS appearance. Sets appearance on application launch. 2022-04-17 21:48:31 +03:00
Marius Stanciu
377d79d413 - added ability to control the color of the project items for the dark theme too 2022-04-14 17:59:32 +03:00
Marius Stanciu
8e18669249 - fixed aperture marking in Extract Plugin
- in Extract Plugin if no Gerber object is selected then the first Gerber object in the project list is selected (if any)
2022-03-31 23:28:08 +03:00
Marius Stanciu
ada48269a9 - refactored the imports in the Plugins, moved almost all imports in the AppTool file
- fixed a number of issues, mostly leftovers from moving the UI of a Plugin in its own class
- fixed some bugs in the Punch Gerber plugin
- fixed some bugs where the 'pool' parameter was not passed when creating shapes collections (in 3D graphic mode); I wonder how it worked until now
- added a new feature in the Isolation Plugin: now for all the isolation Geometry objects this plugin can do a supplementary simplification of the geometry using the tolerance parameter defined in the General Parameters. This should lead to a reduced number of tool lifts when doing corners
2022-03-31 19:28:19 +03:00
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