Commit Graph

55 Commits

Author SHA1 Message Date
Marius Stanciu
3f504e86c6 - upgrade to use the new notations in the Shapely's buffer method for the cap_style and join_style parameters (used to be integers, now they are strings or defines) 2025-03-05 01:49:19 +02:00
Artix
859ef325eb Fix to build and run on Artix (https://aur.archlinux.org/packages/flatcam-qt6). 2025-03-04 12:12:06 +02:00
Marius Stanciu
0526f37568 - forgot to use M03 and M04 as they are more generic than M3 and M4 2023-12-06 21:04:41 +02:00
Marius Stanciu
569a30ee52 - Drilling and Milling Tools: added support to choose the GCode for turning On the laser 2023-12-06 21:00:07 +02:00
Marius Stanciu
6b4483044b - some names are updated
- made sure that when a new project is created that the levelling grid shapes are deleted
- some code optimization and code refactoring
2023-11-25 14:40:51 +02: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
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
e8a15156db - upgraded the Geometry Editor main UI
- upgraded the FCButton widget (and made it used everywhere instead of the QPushButton) so it can have the color and font weight properties settable
2022-05-10 07:01:14 +03:00
Marius Stanciu
d8a0be84a3 - replaced all the FCLabel widgets that have color HTML with the new FCLabel widget that uses parameters for 'color' and weight 2022-04-18 03:41:04 +03:00
Marius Stanciu
a59f996819 - some reformatting and class rename
- when clicking the coordinates toolbars in the status bar now the Distance Plugin is shown and if already displayed, it is closed (toggle action)
2022-04-03 15:06:36 +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
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
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
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
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
dbc2e5c381 - finished the UI for adding a new parameter that is used in conjunction with the laser preprocessors: laser minimum power parameter which should help in doing a full power up/down cycle (should prolong the lifetime for the laser diode)
- fixed some UI issues for the Milling and Drilling plugins when using a `laser` preprocessor
2022-01-30 19:03:20 +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
eb6ea7e623 - fixed an KeyError exception in the GCode Editor regarding the key: 'offset' not existing
- updated the Tcl command `drillcncjob` to store the tool gcode and the parsed tool gcode in each tool data structure
- updated the Tcl command `drillcncjob` description and examples
2022-01-28 15:54:41 +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
640739cc65 - fixed another issue when using Python 3.10, in GUI elements
- fixed the Rtree optimization when drilling with no toolchange such that all drill points are used
- fixed the CNCJob object Tools Table when drilling with no toolchange: now only one tool is displayed
2021-11-20 06:30:52 +02:00
Marius Stanciu
bb089eb657 - refactored the is_legacy object to use_3d_engine
- made sure that there is no longer a double action when toggling the object visibility ('plot' attribute)
2021-10-31 14:05:00 +02:00
Marius Stanciu
9057966aa9 - updated the translation strings 2021-10-14 19:37:34 +03:00
Marius Stanciu
8c57a53e3b - fixed some recently introduced issues for the Milling and Drilling Plugins; those plugins did not had the pluginName defined in the Plugin UI
- in the canvas context menu added the menu for color changing
- when doing color changing now only Gerber and Excellon objects can have the colors changed
2021-10-09 00:34:30 +03:00
Marius Stanciu
6f884f4d64 - the Plugins object combo boxes are no longer updated on object selection on Project tab generally but only for the Plugin that is current, if any
- in Corner Markers Plugin I added a new feature, ability to insert existing markers into external objects. Finished the work for external Gerbers and work in progress for the external Geometry
2021-10-08 01:53:36 +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
594e91f17b - some changes in the Objects UI 2021-10-03 00:52:27 +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
e73d49e2cd - solved more Shapely 2.0 deprecation warnings
- in Isolation Plugin and NCC Plugin changed the UI and the Preferences for those Plugins
2021-09-25 03:36:57 +03:00
Marius Stanciu
b36077cd9a - some UI changes in the Milling and Drilling Plugins
- working on the Excellon side from Milling Plugin
2021-09-12 01:09:53 +03:00
Marius Stanciu
76c73033cb - fixed the FCGridLayout (in GUI elements) method that synchronize the column width for multiple grid layouts when the item on column is spanning multiple columns 2021-09-10 02:41:13 +03:00
Marius Stanciu
241579d670 - on Coppper Thieving Plugin some UI updates
- updated the GCGridLayout GUi element to automatically stretch the first column but offered also configuration; updated the use throughout the app
2021-09-09 16:28:14 +03:00
Marius Stanciu
86286089bd - in Copper Thieving Plugin updated the GUI 2021-09-05 21:00:44 +03:00
Marius Stanciu
c91cb9e01b - in Punch Gerber Plugin remade the GUI
- some minor fixes in some of the Plugins
2021-09-05 01:31:11 +03:00
Marius Stanciu
b0938a2ebe - in Drilling Plugin remade the GUI 2021-09-04 22:30:44 +03:00
Marius Stanciu
3ddb321dff - some GUI changes in Milling Plugin
- fixed the multiple selection in the Project Tab collection list; now only a single selection will trigger the signal 'proj_selection_changed'
- when Milling Plugin is opened, selecting an Excelon object will set the GUI to Excellon Target
2021-09-02 12:46:38 +03:00
Marius Stanciu
75fff68cc9 - changed the translators tab in the on_about() method
- added the usage of the FCLabel widget instead of QtWidgets.QLabel
2021-08-18 03:31:23 +03:00
Marius Stanciu
2daf191948 - changed the spacings in the new custom Grid layout 2021-08-07 11:58:11 +03:00
Marius Stanciu
461aa763ad - created a new custom layout based on the Grid Layout where I can set the horizontal and vertical spacings between grid items and used it throughout the app 2021-08-07 11:46:45 +03:00
Marius Stanciu
ffce6b437f - continuing to fix the PyQt6 port
- added an Exception when App.on_canvas_setup() fails
2021-08-05 00:50:09 +03:00
Marius Stanciu
53272da959 - porting to PyQt6 2021-08-04 18:34:24 +03:00
Marius Stanciu
ba59e9ed58 - fixed the setting color functionality on right click on the objects in the Project Tab such that the set color (or opacity) it is stored in a persistent setting correctly and the colors for Gerber objects are restored in order
- trying to fix a Runtime exception that may happen when the Plugin Tab is deleted completely
2021-06-17 22:09:58 +03:00
Marius Stanciu
c2677cac26 - fixed bug in the Drilling Tool when there are tools without drill points 2021-04-01 19:34:46 +03:00
Marius Stanciu
77cdf798ab - minor logging changes 2021-03-28 15:23:03 +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
d0327ff37d - Milling Plugin - will update the UI form on object change with the data from its last tool
- Drilling Plugin - will update the UI form on object selection on canvas
2021-03-22 03:44:57 +02:00
Marius Stanciu
0177a64fe4 - changed some strings; updated the translation strings with the new strings (they need to be translated)
- modified all the plugins (formerly named Tools) to auto select in the plugin the selected object from Project Menu
- small changes in Tools Database
2021-03-18 03:45:56 +02:00
Marius Stanciu
bc29211507 - the GCode generation takes now into consideration the Toolchange X-Y parameter as a starting point
- Milling Plugin - work on it; upgraded the form-to-data_storage methods
2021-03-15 19:29:48 +02:00