Commit Graph

107 Commits

Author SHA1 Message Date
Marius Stanciu
6690e507f6 - a fix for the latest change in the Preferences Tab 2022-04-20 18:47:32 +03:00
Marius Stanciu
22ad4f7946 - remade how the Preferences Tab is constructed such that now is made on demand for each section (tab) therefore making it faster to load (once a section is loaded - by clicking its tab - it will not be reloaded in the current session) 2022-04-20 18:04:30 +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
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
c4151631ec - changed the app main icons, hopefully they are more visible on black backgrounds than the ones that FlatCAM has 2022-03-31 11:28:35 +03:00
Marius Stanciu
730ef529dc - fixed issues in the Scale feature of the Film Plugin
- in the Scale feature of the Film plugin added ability to scale by a length amount
2022-03-17 02:29:28 +02:00
Marius Stanciu
dc11f1be50 - installed an eventFilter for the Sliders in the Preferences tab such that only if a slider has focus the mouse wheel will change its value
- in Preferences made sure that the changes of the scrollbar no longer interfere with signalling changes
2022-03-12 18:16:15 +02:00
Marius Stanciu
37e31b0159 - added to the application an older contribution by another user: Columnar Layout for the Preferences Tab. It can be set in Preferences -> General -> GUI section 2022-03-12 01:05:54 +02:00
Marius Stanciu
311f2d3531 - skew feature in Film Plugin now have multiple options. skew can be done by length, by angle and by ratio (factor) 2022-03-10 16:02:12 +02:00
Marius Stanciu
843be488a5 - some changes to the Preferences 2022-02-24 00:14:58 +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
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
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
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
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
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
Marius Stanciu
9d9bfa8b03 - some UI changes in the Preferences: the clicked tab now have a distinctive color (green) and some strings are optimized 2022-01-09 16:39:06 +02:00
Marius Stanciu
03f096a1cd - fixed a double application of milling offset when having geometries with multiple tools
- finished the mill-excellon feature in the Milling Tool; milling will be done progressively from the hole center toward the edge
2021-12-23 22:04:41 +02:00
Marius Stanciu
755da7c972 - minor 2021-11-22 21:25:49 +02:00
Marius Stanciu
1596f69e2b - in Isolation Plugin: if using a V-shape tool, restored the ability to change the tool diameter as a function of tip diameter, tip angle and the depth of cut 2021-10-30 16:13:32 +03:00
Marius Stanciu
aef9d97dd7 - in Markers Plugin replaced the Margin parameters with the Offset parameters that now can be referenced either to the edge of the bounding box (effectively replacing the old Margin parameter) or to the center of the bounding box
- Distance Plugin Ui was upgraded
- updated the language strings
2021-10-10 01:37:09 +03:00
Marius Stanciu
1c42efdcdf - renamed the Corner Markers Plugin in Markers Plugin
- added a new feature in Markers Plugin: now the Margin parameter can be set for both axis: X and Y or both
2021-10-09 22:45:09 +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
f4636ec71b - in 2Sided Plugin advanced mode fixed the bounds calculation: if no object is selected on canvas then the object selected in Source Object is used
- in 2Sided Plugin added a new typ of alignment drills: manual. This mode will no longer add pairs of drill holes mirrored against reference but only add in place drill holes
2021-10-04 12:02:38 +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
0cee20a6d9 - in Excellon Editor and Geometry Editor solved some Shapely 2.0 deprecation warnings
- in Excellon Editor made sure that the tool diameter is always updated before adding a new drill (or drill array)
- changing units is not possible while in Editors
- changing units outside the Preferences will make no permanent changes
- deleting all shapes from the shapes collection (OpenGl graphics) will reset also the index in the collection data dict
2021-09-26 21:21:49 +03:00
Marius Stanciu
08d3a580ac - multiple UI changes in Preferences
- UI changes in the Paint Plugin
2021-09-25 21:08:15 +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
0854101297 - in Cutout Plugin remade the UI and fixed different issues 2021-09-24 21:09:54 +03:00
Marius Stanciu
15b651147b - in Film Plugin added new parameters and improvements: now the negative film can have a box that is convex and it is no longer limited to square shapes. Also, if the box object has only one geometric element (an outline) then that one will be the final shape of the negative 2021-09-24 03:42:10 +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
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
6712b98a93 - in Fiducials Plugin updated the GUI to the new style
- Fiducials Plugin: replaced a Radio button with a Combobox2 and optimized the UI
- The Combobox2 GUI element no longer issue an exception if it is tried to set a string value, it will set automatically the index 0
2021-09-09 01:19:33 +03:00
Marius Stanciu
b7f64d97d2 - in Film Plugin updated the GUI
- in Film Plugin some changes in the data storage; require to delete de current preferences files
- Film Plugin: now the Skew and Scale transformation have their own reference
- updated the language strings to the current strings in the app
2021-09-08 21:06:50 +03:00
Marius Stanciu
7dc67e2b05 - added a partial translation for Chinese Simplified language, by 俊霄 余
- trying to separate the Preferences settings from App init and to make them dependent on the self.defaults dictionary
- updated the language strings from the source
2021-08-23 14:01:28 +03:00
Marius Stanciu
2136d6c42f - started the work in adding to Isolation Plugin a new feature to extra isolate the pads 2021-08-19 15:53:02 +03:00
Marius Stanciu
1c06c05c22 - cleaned up the Geometry and Gerber object classes
- more cleanup in Isolation Plugin
2021-08-19 15:20:23 +03:00
Marius Stanciu
7a2fdc2f05 - some cleaning up in the Preferences 2021-08-19 01:37:34 +03:00
Marius Stanciu
261b83b445 - cleaning up Isolation Plugin 2021-08-18 16:28:10 +03:00
Marius Stanciu
08e6eaa084 - when creating a nw project the user is asked if he wants to save the preferences 2021-08-18 01:31:58 +03:00
Marius Stanciu
e0a7afb2cd - fixed fullscreen functionality for PyQt6 and a few other fixes regarding the port to PyQt6 2021-08-05 02:00:54 +03:00
Marius Stanciu
53272da959 - porting to PyQt6 2021-08-04 18:34:24 +03:00
Marius Stanciu
f08466e7f2 - preferences UI is now started on preferences open
- more work/fixes in working on data structures (offset, offset_value, job_type, shape)
2021-07-14 22:35:29 +03:00
Marius Stanciu
368413e6d2 - working on data structures (offset, offset_value, job_type, shape) and on the Tools Database 2021-07-07 02:30:27 +03:00
Marius Stanciu
4e46eac61c 7.07.2021
- some changes in data tools structure ('tool_type' to ['data']['tools_mill_job_type])
- some strings changes

4.07.2021

- optimized the Milling Plugin preferences
- added more preferences for v-shape tools in the Milling Plugin Preferences
- deactivated the automatic disable of the Cut Z parameter when selecting a v-shape tool in Milling Plugin
- in Milling Plugin added some protections against receiving signals from widgets without objectName set
- in Milling Plugin made sure that the Custom offset field is displayed only when it is needed (selected from Offset Type combobox)
- added some requirements asked by vispy v0.7.0
- if the generated Gcode is empty then the app will know and will not create a CNCJob object
- modified the Tool Table in Milling Plugin: now the tool type parameter is part of the Tool parameters and no longer in the Tool Table
- working on a Kosy CNC machine preprocessor file
2021-07-07 01:16:15 +03:00