Commit Graph

603 Commits

Author SHA1 Message Date
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
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
548b5c2e28 - more Shapely deprecations fixes 2021-09-21 20:16:44 +03:00
Marius Stanciu
734398d460 - in Legacy2D graphic engine fixed setting the Opacity functionality
- fixed a recent issue where Gerber files made out of single polygons were not processed
2021-09-21 19:21:05 +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
509f4087e1 - in Milling Plugin added a property that allows to segment the resulting GCode threfore allowing autolevelling
- in Levelling Plugin added a check that allow levelling only for CNC Job objects resulted from Geometry
- some minor changes
2021-09-09 03:01:06 +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
53272da959 - porting to PyQt6 2021-08-04 18:34:24 +03:00
Marius Stanciu
4d60e5c197 - fixed errors in the Roland preprocessors
- fixed CNCJob plot scaling when using Roland preprocessors
- in Roland preprocessors added the use of spindlespeed
- made sure that the preprocessors that don't use the gcode_header still use the start gcode
2021-07-23 23:39:25 +03:00