Commit Graph

611 Commits

Author SHA1 Message Date
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
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
de1d97327c - minor debug log message change 2022-02-15 22:48:18 +02:00
Marius
363b34641a - if Start Z parameter is set in Edit -> Preferences now there is no extra lift GCode because it is replaced by the startz GCode (except for laser preprocessors) - for Drilling Plugin too 2022-02-15 22:38:37 +02:00
Marius Stanciu
ac81f4f9f4 - if Start Z parameter is set in Edit -> Preferences now there is no extra lift GCode because it is replaced by the startz GCode (except for laser preprocessors) 2022-02-15 22:19:48 +02:00
Marius Stanciu
a1a999b635 - minor fixes in the Milling Plugin 2022-02-15 16:26:09 +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
a314115448 - minor changed in camlib.py regarding the self.check_zcut() method setting the self.z_cut to 'fail' 2022-02-01 13:42:50 +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
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
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
262e795f2e - fixed the drillcncjob Tcl command to use the parameters: endz and endxy 2022-01-30 22:26: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
16af642409 - in drillcncjob Tcl command added the usage of RTree path optimization and made it the default choice 2022-01-30 16:54: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
1467c5e0bc - fixed some issues in the ncc Tcl command 2022-01-29 22:21:32 +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
2ebc231f6f - in camlib.CNCjob.gcode_parse() fixed an assumption that a certain object is present: tool_data["tools_drill_toolchange"] 2022-01-28 03:26:22 +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
d6d251173c - fixed some errors in the buffer and isolate Tcl commands
- updated the camlib.Geometry.buffer() method
2022-01-26 17:12:03 +02:00
Marius Stanciu
73fca98f90 - fix the Transform plugin, buffer functionality for Geometry objects such that the buffer with negative values will work by crating a buffer toward the interior of that geometry 2022-01-26 13:11:44 +02:00
Marius Stanciu
51d4f9030d - fixed the Milling Plugin who changed the tools information "tools_mill_multidepth" when changing from Basic to Advanced mode to the application default value but that defeated the change made by the Cutout plugin
- fixed a Shapely 2.0 deprecation warning in the Report plugin
2022-01-25 23:55:51 +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
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
a9b26b291f - the Editors require an Object UI build before launching; I've added the required code so the shortcut keys work even if the Properties tab is not current 2022-01-19 17:45:59 +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
f59a166503 - fixed the 'cncjob' Tcl Command to work in the new configuration of the data structures 2022-01-15 18:05:56 +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
8f8bff3e4f - modified the 'laser-lines' method in the Paint Plugin such that the rounded part of a painted trace is painted too in the case that the trace width is much higher than the clearing tool diameter 2022-01-06 00:02:23 +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
da154a865c - in Milling Plugin working on milling Excellon holes by painting them from the center
- removed display of some of the logs in Tcl Shell (when in Verbose mode) when parsing the Gerber files
2021-12-23 05:07:49 +02:00
Marius Stanciu
0e4eb2631e - in Milling Plugin fixed the toolchange_xy and end_xy parameters not being used 2021-12-16 05:33:25 +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
822df5ba92 - fixed the Travelling Salesman algorithm such that it does not add duplicated points that are next to each other 2021-11-22 12:45:10 +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
370e8f8ec1 - added Rtree optimization for Drilling Plugin 2021-11-17 18:59:37 +02:00
Marius Stanciu
9761e8a4d1 - added fix such that the application will work without having the ortools package installed: TSA and RTree algorithms will be automatically used in that case 2021-11-17 16:41:49 +02:00
Marius Stanciu
b29586388b - fixed the issue with toggling visibility for Excellon objects
- fixed some issue when using Python 3.10
2021-11-10 22:48:59 +02:00
Marius Stanciu
1e5bc400a5 - Markers Plugin - fixed issue when adding existing markers to an external Geometry object 2021-11-01 02:07:20 +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
f9dde40eec - fixed some more Shapely 2.0 deprecation warnings 2021-10-28 22:30:33 +03:00
Marius Stanciu
4ed8512cac - fixed printing a CNCJob object with File -> Print(PDF) functionality by adding a root element if both travels and cuts are present 2021-10-28 20:33:32 +03:00
Marius Stanciu
de4c51b480 - fixed error that did not allowed printing from the TextEditor
- added an error message when the File -> Print to PDF functionality is not working due of missing a root element in the SVG step
2021-10-28 20:11:06 +03:00
Marius Stanciu
9ff8f15b67 - cleaned the geometry generated by flattening by removing the empty geometry; fixed issue #539 on jpcgt's bitbucket account 2021-10-28 15:35:44 +03:00
Marius Stanciu
2a2dea99c9 - applied changes for offsetting to other methods 2021-10-27 20:01:10 +03:00
Marius Stanciu
af8469ebc9 - fixed the offseting feature in the Isolation Plugin such that the interiors of the isolated polygons are offset correctly 2021-10-27 19:21:08 +03:00
Marius Stanciu
bc2f31aa90 - in Preferences, more Plugins preferences UI is upgraded to the new look
- In Paint Plugin fixed the Area select mode to work with Geometry object created by the Geometry Editor
- in Paint Plugin some changes in the way the source object is autoloaded
- in Paint, NCC and Cutout Plugins when using a mode that require to be terminated (by mouse RMB or ESC key) the notebook UI element is disabled until this is done
2021-10-02 18:02: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