Commit Graph

540 Commits

Author SHA1 Message Date
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
Marius Stanciu
1a131eb71e - some fixes in the app_Main class
- removed the "follow" functionality from the Isolation Tool
- created a new application Tool named Follow Tool
- added the "follow" functionality in the Follow Tool and added the new feature of allowing to perform "follow" on an area selection
2020-11-12 16:22:50 +02:00
Marius Stanciu
efa69d1941 - preprocessors are no longer ordered in the comboboxes so I had to sort them manually 2020-11-08 05:17:12 +02:00
Marius Stanciu
cccc5634c9 - fixed an if/else selection in the AppObject.on_object_created() that made the plotting of CNCJob objects to be done twice and second time will disregard the Plot Kind Preference value 2020-11-07 14:37:49 +02: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