Commit Graph

116 Commits

Author SHA1 Message Date
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
613a60cecc - fixed issues when saving the project due of changed serializable attributes 2022-03-13 04:28:52 +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
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
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
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
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
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
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
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
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
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
24caaedac0 - fixed some more Shapely 2.0 deprecation warnings
- fixed a message bug in the AppMain
2021-12-08 23:11:23 +02:00
Marius Stanciu
538f949983 - solved some Shapely 2.0 deprecation warnings in the Geometry object 2021-11-19 20:27:47 +02:00
Marius Stanciu
ffa861fb1f - in Geometry Property Tab, clicking the tools table header will toggle the selection for all tools in the table 2021-11-06 01:26:42 +02:00
Marius Stanciu
67fa5596e1 - in Isolation Plugin there is no longer auto-switch to Properties Tab
- when editing Geometry objects with multiple geometry fixed the issue with the edited geometry always being the one in the first tool
2021-11-06 01:15:14 +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
156ffb23ed - fixed a Shapely deprecation warning in export_dxf() in GeometryObject class 2021-10-15 01:46:04 +03:00
Marius Stanciu
1fb520e829 - minor changes, code cleanup 2021-09-28 15:52:05 +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
0854101297 - in Cutout Plugin remade the UI and fixed different issues 2021-09-24 21:09:54 +03:00
Marius Stanciu
dd029d6ded - fixed an error due of missing attribute of PlotCanvasLegacy when using Legacy2D graphic engine
- solving deprecation warnings issued by Shapely
- made sure that the Gerber Object geometry is always flattened
2021-09-21 15:55:35 +03:00
Marius Stanciu
81aa0d4ef5 - fixed the Geometry object merge functionality
- fixed a message when renaming an object
2021-09-18 21:17:00 +03:00
Marius Stanciu
2e23b8590b - fixed the issue in Milling Plugin that did not automatically set the object combo to the previously selected object 2021-09-01 23:16:17 +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
3c06280d3d - more changes due of porting to PyQt6
- fixed the Autocompleter highlighting to work in PyQt6
2021-08-07 10:21: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
29988a622e - in ParseDXF file fixed import of module due of changes in the latest version of ezdxf module
- changes in Milling Plugin in the selection in the Tools Table
- some updates of milling data structure
- changes in handling the tool shape due of moving the parameter from the tool table in the tool parameters section
2021-07-21 00:46:55 +03:00
Marius Stanciu
9c139d3ea2 - modified the Geometry UI tools table. Replaced the comboboxes with labels.
- Fixed the SolderPaste Plugin regarding the special designation 'SP' job type and 'DN' tool shape
- some fixes in the GCode Editor regarding the new changes in the data structure
2021-07-18 12:01:41 +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
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
Marius Stanciu
b91bd36055 - fixed errors when using the new ... canvas context menu entries which crated a hard crash 2021-03-28 22:41:20 +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
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
Marius Stanciu
546f4c2361 - updated the Milling Plugin and all the related parts in the CNCJob Object and in all preprocessors. Now, the parent 'tools' attribute is inherited and also the GCode is stored here
- made sure that old projects load but without the CNCjob objects which would have crashed the app due different data structures
- the FlatCAm Evo projects load now in succession, no longer on threads
2021-03-15 00:02:33 +02:00
Marius Stanciu
95fb418966 - upgraded the Drilling Plugin and all the related parts in the CNCJob Object and in all preprocessors. Now, the parent 'tools' attribute is inherited and also the GCode is stored here 2021-03-14 13:05:19 +02:00
Marius Stanciu
2f64ca99b1 - Geometry Editor can now modify the edited tool diameter 2021-03-14 05:29:44 +02:00
Marius Stanciu
2f57e97a21 - fixed issue when exporting DXF and not settings the units
- added the posibility to export the Geometry in different DXF formats (previously it was hard coded to the AutoCAD 2010): R12, R2000, R2004, R2007, R2010, R2013, R2018
- fixed the camlib.Geometry.bounds() method such that it is calculated correctly for Geometry objects created in the Geometry Editor
2021-03-11 04:50:41 +02:00
Marius Stanciu
f480bafb66 - changed some confusing strings regarding the 'Properties'
- Properties Tool is now ObjectReport Tool
- fixed some attributes in Milling Slots Excellon Object utilities functionality
- fixed some issues in the translated strings .po files
2021-02-26 16:26:30 +02:00
Marius Stanciu
04649622eb - some refactoring
- working on Milling Tool and Drilling Tool: made sure that the plugin UI is initialized only when the plugin (Tool) is run in order to avoid errors like (wrapped C++ objects was deleted)
2021-01-29 02:08:34 +02:00
Marius Stanciu
5b0ec590f3 - made sure that the Offset fields in the Properties Tab are updated on object: move, origin change, transformations 2021-01-22 15:07:41 +02:00
Marius Stanciu
fabd8188b4 - working on Tool Follow, Milling Tool, camlib to adapt them to the new changes in the Geometry Object 2021-01-11 02:26:58 +02:00
Marius Stanciu
cbe0542d7d - minor change in Geometry Object 2021-01-10 03:24:22 +02:00
Marius Stanciu
8c8b781bdb - attempting to fix issue #492 - when checking for tools present in the database there were some errors in the NCC, ISO, MILL, PAINT and CUTOUT Tools 2021-01-09 23:25:10 +02:00
Marius Stanciu
4539d22329 - for Excellon, Geometry and Gerber objects now in the Object UI (Properties Tab) by default the Offset field is populated with the coordinates of the center of the current object 2021-01-08 04:01:10 +02:00
Marius Stanciu
641a48bc9a - added the toggle button for Beginner/Advanced mode for the CNCjob, Geometry, Gerber, Excellon Objects UI (Properties Tab) 2021-01-08 03:27:14 +02:00