Commit Graph

575 Commits

Author SHA1 Message Date
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
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
Marius
91bdcf674e - fixed Film Plugin (Tool) negative generation to have the black background in sync with the actual geometry when transformations are applied
- fixed Film Plugin (Tool) to have mirroring done only with reference 'center' regardless of what is selected in the UI
- in Film Plugin now multiple adjustments can be applied at the same time and correctly
2021-06-19 15:44:40 +03:00
Marius Stanciu
8cd5d253be - fixed SVG import to show an error for SVG files that have SVG units not mm or cm or inch
- for SVG files with cm units the scaling factor is multiplied by 10
- the app will signal failure when encountering the 'g' SVG element which is not supported and cancel the SVG import
2021-05-16 20:31:43 +03:00
Marius Stanciu
b790f36282 - created a new category in Preferences where only the Engraving Related preferences are located
- added a new set of options in the Preferences for the Milling Plugin by taking them out of the Geometry section
2021-03-28 16:57:57 +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
c9d9e367bf - Drilling Plugin - added in the UI the toolchange X,Y parameter and make it to work as expected 2021-03-14 14:30:02 +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
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
ca29bc0ca3 - Film Tool - made sure that the reference point is used for all transformations in case of positive film 2021-02-26 08:27:29 +02:00
Marius Stanciu
de97d60b9a - wip Drilling Tool - fixed an issue with dropping the changes done in the UI 2021-01-28 21:04:21 +02:00
Marius Stanciu
f7021d89de - some fixes in Drilling Tool and in camlib.py file 2021-01-27 02:16:05 +02:00
Marius Stanciu
bd64a34ab8 - added ability to see the verbose log when importing SVG's (if set in preferences)
- added some more logs to the SVG import
2021-01-22 12:33:14 +02:00
Marius Stanciu
3b8519276f - working on the Isolation Tool and Milling Tool 2021-01-13 04:10:49 +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
2aab71e037 - Levelling Tool - disable the UI if the Gcode is not segmented for autolevelling (perhaps recreate the GCode as segmented?)
- in camlib.CNCjob class fixed the linear2gcode_extra() method to be able to do GCode segmentation.
2021-01-04 16:52:23 +02:00
Marius Stanciu
3995080503 - applied the changes from Andre Spahlinger from PR's #332 and #334 2021-01-02 17:17:53 +02:00
Marius Stanciu
f5751d3f59 - removed the 'machinist setting' and allow all over the app the usages of both negative and positive values (where it is the case) 2021-01-02 16:53:50 +02:00
Marius Stanciu
9dfa3b497d - all the logs done on Exception are now errors (with the exception of few places where the Exception is expected) 2020-12-31 05:56:46 +02:00
Marius Stanciu
3a97cd3880 - modified the way the status bar icon is set
- Drilling Tool - fixed missing feedrate code when the toolchange is Off
- AppTextEditor - working on syntax highlighting
- App - trying to speed up the new project creation
- Tcl Shell - Browser Edit - added Undo/Redo, Cut and Delete selection
- replace all the exec_() calls with exec() (except one situation in Tcl where I'm not sure of the effect)
2020-12-20 16:56:14 +02:00
Marius Stanciu
025817b62d - updated the 'Default_no_M6' preprocessor by removing the Tx command in the Toolchange section to make it compatible with GRBL controllers
- added a new preprocessor named 'Check_points' which is to be used to check if the PCB is well aligned in position (used by at least the Corners Tool)
- Tool Corners - added a new feature that creates a verification GCode by moving in the locations positions; modfied the UI a bit
- Drilling Tool - removed the mandatory Toolchange event added even if the Toolchange was not selected
- Excellon and Geometry objects no longer have the self.options dict overwritten with the application defaults
- Drilling Tool - first tool that benefit from using the object options instead of application defaults; this is useful if an object is recreated on project load
- Drilling Tool - fixed it to update the UI form also for common parameters on object change
2020-12-11 17:22:53 +02:00
Marius Stanciu
d843cf7da7 - Geometry object - work in upgrade of the data structure 2020-12-08 00:14:49 +02:00
Marius Stanciu
01f5a37bee - in Panelize Tool - made sure that when the path optimization will yield an empty geometry it will not be added to the panel geometry 2020-12-03 02:30:16 +02:00
Marius Stanciu
c6160085ab - Milling Tool - various fixes
- Line_xyx preprocessor - fixed when using multidepth cut to use the right depth
2020-12-02 02:11:05 +02:00
Marius Stanciu
2545da79b5 - fixed an issue for importing DXF as Geometry when the DXF geometry is a single line
- updated the convert_any2geo() method such that resulting geometry objects have the tools attribute required in the newer versions of the app
2020-11-24 21:33:29 +02:00
Marius Stanciu
8f9a7fd240 - Milling Tool - finished adding the add tool, copy tool, delete tool and tool plot when the target object is Geometry
- in camlib.py fixed the bounds() method for the Geometry objects such that tools in an Geometry object with no geometry will be now ignored for calculating the bounds
2020-11-13 21:44:40 +02:00
Marius Stanciu
dea7ce3028 - PEP8 changes and PyCharm suggestions 2020-11-12 20:47:43 +02:00