Commit Graph

523 Commits

Author SHA1 Message Date
uenz 3284469168 Fix for errors in TclCommandDrillcncjob 2020-12-29 23:42:05 +01:00
Marius Stanciu d4fec5ae60 - fixed the annotation plotting in the CNCJob object
- created a new InputDialog widget that has the buttons and the context menu translated and replaced the old widget throughout the app
- updated the translation strings
2020-11-05 16:36:41 +02:00
Marius Stanciu a4c8737ab7 - added a method for intersection to FlatCAMRtree class 2020-11-05 12:22:12 +02:00
Marius Stanciu 90e3b26b68 - fixed issue with arrays of items could not be added in the Gerber/Excellon Editor when a translation is used
- fixed issue in the Excellon Editor where the Space key did not toggle the direction of the array of drills
- combed the application strings all over the app and trimmed them up until those starting with letter 'O'
- updated the translation strings
2020-11-04 18:40:59 +02:00
Marius Stanciu f5310148eb - trimmed the application strings 2020-11-03 22:37:39 +02:00
Marius Stanciu b6d4d5e85f - fix an older issue that made that only the Custom choice created an effect when changing the Offset in the Geometry Object Tool Table 2020-11-03 02:47:41 +02:00
Marius Stanciu 263ec736c3 - fixed an issue in Tool Isolation used with tools from the Tools Database: the set offset value was not used
- updated the Tools Database to include all the Geometry keys in the every tool from database
- made sure that the Operation Type values ('Iso', 'Rough' and 'Finish') are not translated as this may create issues all over the application
2020-11-03 02:19:01 +02:00
Marius Stanciu 374c29b4b0 - fixed the Tcl Command AlignDrill
- fixed the Tcl Command AlignDrillGrid
- fixed the Tcl COmmand Panelize, Excellon panelization section
- Fixed an issue in Tool Calibration export_excellon method call
- PEP8 corrections all over the app
2020-11-02 03:32:00 +02:00
Marius Stanciu c7b96b7a68 - fixed issue with preamble not being inserted when used alone
- modified the way that the start GCode is stored such that now the bug in GCode Editor that did not allowed selection of the first tool is now solved
2020-10-30 02:01:33 +02:00
Marius Stanciu 9c97ce49b9 - brought up-to-date and fixed the Tcl Command Drillcncjob and Cncjob
- fixed Tcl command Isolate to not print messages on message bar in case it is run headless
- fixed Tcl command Copper Clear (NCC)
- fixed Tcl command Paint
2020-10-28 13:15:38 +02:00
Marius Stanciu 8a341de4ca - UI changes in the AppTextEditor and in CNCJob properties tab and in GCoe Editor
- some changes in strings; updated all the translation strings to the latest changes
- finished the Romanian translation
2020-10-24 15:58:20 +03:00
Marius Stanciu 66a3e36701 - cascaded_union() method will be deprecated in Shapely 1.8 in favor of unary_union; replaced the usage of cascaded_union with unary_union in all the app 2020-10-21 13:55:41 +03:00
Marius Stanciu 738cda0de5 - in NCC and Paint Tool fixed some issues with missing keys in the tool data dictionary 2020-10-21 09:48:06 +03:00
Marius Stanciu d4555c02d0 - in Geometry Object fixed the issue with not using the End X-Y value and also made some other updates here 2020-10-21 09:26:01 +03:00
Marius Stanciu 13d4192124 - fixed issue with calling the inform signal in the FlatCAMDefaults.load method
- fixed macro parsing in Gerber files generated by KiCAD 4.99 (KiCAD 5.0)
2020-10-18 22:06:06 +03:00
Marius Stanciu 8cb4b5abf8 - finished working in adding DPI settings for PNG export in Film Tool although there are some limitations due of Reportlab 2020-10-06 12:49:24 +03:00
Marius Stanciu f99a5a8073 - working on adding DPI setting for PNG export in the Film Tool 2020-10-05 12:53:06 +03:00
Marius Stanciu dab3a5f703 - fixed a bug where end_xy parameter in Drilling Tool was not used
- fixed an issue in Delete All method in the app_Main.py
2020-09-24 14:37:06 +03:00
Marius Stanciu 09aafe5601 - added support for virtual units in SVG parser; warning: it may require the support for units which is not implemented yet 2020-09-23 11:50:00 +03:00
Marius Stanciu c3bbbc40e0 - fixed an error in importing SVG that has a single line
- updated the POT file and the PO/MO files for Turkish language
2020-09-22 16:13:03 +03:00
Marius Stanciu 1d46b43c4f - in SVG parser: made sure that the minimum number of steps to approximate an arc/circle/bezier is 10 2020-09-21 03:27:52 +03:00
Marius Stanciu c95625beac - Cutout Tool - rectangular and freeform cutouts are done in a threaded way
- Cutout Tool - added the Mouse Bites feature for the Rectangular and Freeform cutouts and right now it fails in case of using a Geometry object and Freeform cutout (weird result)
- some changes in camlib due of warnigns for future changes in Shapely 2.0
2020-08-29 23:10:25 +03:00
Marius Stanciu 19b5e100d5 - fixed the Tcl commands AddCircle, AddPolygon, AddPolyline and AddRectangle to have stored bounds therefore making them movable/selectable on canvas 2020-08-27 02:25:07 +03:00
Marius Stanciu a823de9f98 - fixed issue when plotting a CNCJob object with multiple tools and annotations on by plotting annotations after all the tools geometries are plotted 2020-08-26 22:58:40 +03:00
Marius Stanciu e22ae1ad6c - solved some deprecation warnings (Shapely module) 2020-08-26 15:10:36 +03:00
Marius Stanciu c1c819276f - in CNCJob UI Autolevelling - made the Voronoi calculations work even in the scenarios that previously did not work; it need a newer version of Shapely, currently I installed the GIT version
- in CNCJob UI Autolevelling - Voronoi polygons are now plotted
- in CNCJob UI Autolevelling - adding manual probe points now show some geometry (circles) for the added points until the adding is finished
2020-08-25 03:06:09 +03:00
Marius Stanciu 44411cdc82 - GCode Editor - closing the Editor will close also the Code Editor Tab
- cleanup of the CNCJob UI; added a checkbox to signal if any append/prepend gcode was set in Preferences (unchecking it will override and disable the usage of the append/prepend GCode)
- the start Gcode is now stored in the CNCJob object attribute gc_start
- GCode Editor - finished adding the ability to select a row in the Tools table and select the related GCode
2020-08-02 16:27:30 +03:00
Marius Stanciu 593e6a80e5 - fixed an exception that was raised in Geometry object when using an Offset 2020-07-29 17:18:02 +03:00
Marius Stanciu 5142b51590 - in import SVG and import DXF methods made sure that any polygons that are imported as polygons will survive and only the lines are optimized (changed the behavior of the above made modification) 2020-07-23 01:01:40 +03:00
Marius Stanciu b8fb64a143 - added a Laser preprocessor named 'Z_laser' which will change the Z to the Travel Z on each ToolChange event allowing therefore control of the dot size
- by default now a new blank Geometry object created by FlatCAM is of type multigeo
- made sure that optimizations of lines when importing SVG or DXF as lines will not encounter polygons but only LinesStrings or LinearRings, otherwise having crashes
- fixed the import SVG and import DXF, when importing as Geometry to be imported as multigeo tool
- fixed the import SVG and import DXF, the source files will be saved as loaded into the source_file attribute of the resulting object (be it Geometry or Gerber)
2020-07-23 00:44:33 +03:00
Marius Stanciu a3e1570747 - added a control in Preferences -> Gerber Tab for Gerber colors storage usage
- made sure that the defaults on first install will set the number of workers to half the number of CPU's on the system but no less than 2
2020-07-21 00:04:18 +03:00
Marius Stanciu 1b15d2a2c1 - minor changes 2020-07-16 04:58:54 +03:00
Marius Stanciu 144a89f686 - added a new method for GCode generation for Geometry objects
- added multiple algorithms for path optimization when generating GCode from an Geometry object beside the original Rtree algorithm: TSA, OR-Tools Basic, OR-Tools metaheuristics
- added controls for Geometry object path optimization in Preferences
2020-07-16 04:55:58 +03:00
Marius Stanciu 5b80760ba7 - Tool Drilling - brushing through code and solved the report on estimation of execution time
- Tool Drilling - more optimizations regarding of using Toolchange as opposed to not using it
- modfied the preprocessors to work with the new properties for Excellon objects
- added to preprocessors information regarding the X,Y position at the end of the job
- Tool Drilling made sure that on Toolchange event after toolchange event the tool feedrate is set
2020-07-15 20:16:57 +03:00
Marius Stanciu 5748eb049b - Tools Database - remade the UI
- made sure that the serializable attributes are added correctly and only once (self.ser_attrs)
2020-07-14 16:46:01 +03:00
Marius Stanciu 1c77e3cc2a - Drilling Tool - now slots are converted to drills if the checkbox is ON for the tool investigated
- Drilling Tool - fixes due of changes in properties (preferences)
- fixed the Drillcncjob TCL command
2020-07-13 15:19:24 +03:00
Marius Stanciu f53ffe54d9 - Tool Drilling - fixed incorrect annotations in CNCJob objects generated; one drawback is that now each tool (when Toolchange is ON) has it's own annotation order which lead to overlapping in the start point of one tool and the end of previous tool
- Tool Drilling - refactoring methods and optimizations
2020-07-10 17:05:32 +03:00
Marius Stanciu 391a28282e - Tool Drilling - added new feature to drill the slots 2020-07-09 16:54:15 +03:00
Marius Stanciu 4216333645 - Tool Drilling - remade the methods used to generate GCode from Excellon, to parse the GCode. Now the GCode and GCode_parsed are stored individually for each tool and also they are plotted individually
- Tool Drilling now works - I still need to add the method for converting slots to drill holes
2020-07-09 03:53:41 +03:00
Marius Stanciu a0fea17aed - working on Tool Drilling 2020-07-08 21:35:24 +03:00
Marius Stanciu e7c369ab8e - updated the Panelize Tool to save the source code for the panelized Excellon objects so it can be saved from the Save project tab context menu entry
- updated the Panelize Tool to save the source code for the panelized Geometry objects as DXF file
2020-07-07 15:52:58 +03:00
Marius Stanciu e1dab238a7 - fixed importing DXF file as Gerber method such that now the resulting Gerber object is correctly created having the geometry attributes like self.apertures and self.follow_geometry 2020-07-02 17:15:13 +03:00
Marius Stanciu ce4b6a5a85 - trying to optimize the resulting geometry in DXF import (and in SVG import) by merging contiguous lines; reduced the lines to about one third of the original 2020-07-02 05:53:59 +03:00
Marius Stanciu a833b3e3d4 - wip 2020-06-21 08:00:36 +03:00
Marius Stanciu 79fec61934 - fixed bug in the Cutout Tool that did not allowed the manual cutous to be added on a Geometry created in the Tool
- fixed bug that made the selection box show in the stage of adding manual gaps
- updated Cutout Tool UI
- Cutout Tool - in manual gap adding there is now an option to automatically turn on the big cursor which could help
- Cutout Tool - fixed errors when trying to add a manual gap without having a geometry object selected in the combobox
2020-06-18 14:26:24 +03:00
Marius Stanciu e70c795961 - modified generate_from_excellon_by_tool() method in camlib.CNCJob() such that when Toolchange option is False, since the drills will be drilled with one tool only, all tools will be optimized together 2020-06-17 17:36:27 +03:00
Marius Stanciu 949c265378 - changed the data structure for the Excellon object; modified the Excellon parser and the Excellon object class
- fixed partially the Excellon Editor to work with the new data structure
- fixed Excellon export to work with the new data structure
- fixed all transformations in the Excellon object attributes; still need to fix the App Tools that creates or use Exellon objects
2020-06-16 03:47:26 +03:00
Marius Stanciu 1ea168fd4b - NCC Tool - fixed the non-rest copper clearing to work as expected: each tool in the tool table will make it's own copper clearing without interference from the rest of the tools 2020-06-12 22:26:17 +03:00
Marius Stanciu 99e274c82d - fixed a possible problem in generating bounds value for a solid_geometry that have empty geo elements 2020-06-09 13:10:26 +03:00
Marius Stanciu 2c2db0efe2 - refactoring in camlib.py. Made sure that some conditions are met, if some of the parameters are None then return failure. Modifications in generate_from_geometry_2 and generate_from_multitool_geometry methods 2020-06-07 14:52:06 +03:00