Commit Graph

630 Commits

Author SHA1 Message Date
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
3f1a77e663 - fixed the Tcl command drillcncjob so it can use positive or zero depth of cuts
- fixed the Drilling Plugin such that when the Z_CUt (depth of cut) is positive value then the up-to-zero feature will not be used
2022-05-15 01:16:57 +03:00
Marius Stanciu
a5770d44b5 Merge remote-tracking branch 'origin/Beta_8.995' into Beta_8.995 2022-05-09 16:20:59 +03:00
Marius Stanciu
a53ec7ea75 Merge remote-tracking branch 'origin/Beta_8.995' into Beta_8.995 2022-05-09 15:57:42 +03:00
Marius Stanciu
9dc6c94a45 - wip 2022-05-09 14:18:49 +03:00
Marius Stanciu
411a9320e5 - fixed an issue in the Paint Plugin where some polygons are discarded in a Geometry object made out of an imported SVG
- a few other changes
2022-05-09 12:40:12 +03:00
Marius Stanciu
df2727b911 Merge remote-tracking branch 'origin/Beta_8.995' into Beta_8.995 2022-05-03 15:04:42 +03:00
Marius Stanciu
0caa2c97f6 - in SolderPaste Plugin fixed an issue where the new parameter 'margin' was taken from the current UI and applied to all tools (nozzles); now each nozzle use his 'margin' parameter
- in SolderPaste Plugin make sure that the preprocessor is set the same for all tools (nozzles) whenever is modified
- added 2 new preprocessor files for the SolderPaste Plugin (GRBL and MARLIN)
- in SolderPaste Plugin made sure that the start GCode is not added for each nozzle but only once at start
- in SolderPaste Plugin added a new parameter: 'Feedrate Rapids' which will set the feedrate for the fast moves as opposed with the previously used G0 command. This allows to fine tune the fast moves to reduce the vibrations
2022-04-25 00:01:11 +03:00
Marius Stanciu
cb7bcf257f - fixed some leftovers due of recent changes in the theme management
- added a new feature (new modules are required) in the Image Plugin (Menu -> File -> Import -> Import Image) that allow tracing images. This may allow engraving pictures.
- started to add UI's for the Excellon Editor Tools (really early work)
2022-04-23 18:12:43 +03:00
Marius Stanciu
7406c444ed Merge remote-tracking branch 'origin/Beta_8.995' into Beta_8.995 2022-04-21 17:07: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
Marius Stanciu
cd52f1a00d - minor comment 2022-03-31 14:31:54 +03:00
Marius Stanciu
c69f9dc2d9 - a minor fix in the Plotcanvas() class
- fixed the OR-tools path optimization (it required now a cast to int when creating the distances' matrix)
2022-03-30 01:30:07 +03:00
Marius Stanciu
eec366ce7f - refactoring names for some classes 2022-03-24 18:35:44 +02:00
Dmitriy Zakharkin
f3c2bd7b77 Merged in tool-size (pull request #20)
KeyError during G-code generation for spindle.

Approved-by: Marius Stanciu. This should not happen except for older projects.
2022-03-22 13:02:25 +00:00
Marius Stanciu
f641cc65bd - fixed the GCode generation such that (for milling Geometries) the choice of using (or not) and end position is respected
- for `hpgl` code generation made sure that the first travel line is not marked as a cut line when using a toolchange event
2022-03-22 00:33:02 +02:00
Dmitriy
f07c3a474c KeyError during G-code generation for spindle. 2022-03-21 09:40:34 -04:00
Marius Stanciu
a5544615c5 - optimized the UI for the CNCJob object
- when loading a Gcode file in the app now the application makes an attempt in adding information's such that the CncJob UI works correctly; if so information's are not found then assumptions are made. Only for GCode that is detected as made from an Excellon object
2022-03-21 01:35:47 +02:00
Marius Stanciu
8f1e9fd740 - another fix to make the app save correctly the CNCJob objects when saving a project 2022-03-20 21:46:16 +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
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