Commit Graph

413 Commits

Author SHA1 Message Date
Marius Stanciu d62793c9bd - in CNCJob UI Autolevelling - GRBL Control and Sender tabs are disabled when the serial port is disconnected 2020-08-19 04:44:50 +03:00
Marius Stanciu 7285ee0b82 - in CNCJob UI Autolevelling - Grbl Connect tab colors will change with the connection status 2020-08-19 04:36:46 +03:00
Marius Stanciu 33c633f0c4 - in CNCJob UI Autolevelling - sending GCode/GRBL commands is now threaded 2020-08-19 04:15:15 +03:00
Marius Stanciu 3afcabe559 - in CNCJob UI Autolevelling - added handlers for GRBL report and for getting GRBL parameters 2020-08-19 03:44:16 +03:00
Marius Stanciu 56ac489466 - in CNCJob UI Autolevelling - added handlers for: jogging, reset, sending commands 2020-08-19 02:26:35 +03:00
Marius Stanciu bdb0e71425 - in CNCJob UI Autolevelling - in COntrol section added buttons for Jog an individual axes zeroing 2020-08-18 17:51:25 +03:00
Marius Stanciu 48660a0fd6 - in Doublesided Tool cleaned up the UI 2020-08-18 16:18:13 +03:00
Marius Stanciu d1733f1e1d - in Doublesided Tool added some UI for Excellon hole snapping 2020-08-18 15:30:33 +03:00
Marius Stanciu 85a0d3da9f - in CNCJob UI Autolevelling - GRBL GUI controls are now organized in a tab widget 2020-08-17 15:50:51 +03:00
Marius Stanciu 495947f8c5 - in CNCJob UI Autolevelling - made autolevelling checkbox state persistent between app restarts 2020-08-17 02:31:51 +03:00
Marius Stanciu 115e882614 - in CNCJob UI Autolevelling - finished the Import Height Map method 2020-08-17 02:09:44 +03:00
Marius Stanciu 3ef47da370 - in CNCJob UI Autolevelling - Added entries in Preferences 2020-08-17 00:40:45 +03:00
Marius Stanciu e0ec8ac44f - in CNCJob UI Autolevelling - Probing GCode has now a header 2020-08-16 23:49:53 +03:00
Marius Stanciu fd895e3c21 - in CNCJob UI Autolevelling - updated the UI with controls for probing GCode parameters and added signals and slots for the UI
- in CNCJob UI Autolevelling - added a mini gcode sender for the GRBL to be able to send the probing GCode and get the height map (I may make a small and light app for that so it does not need to have FlatCAM on the GCode sender PC)
- in CNCJob UI Autolevelling finished the probing GCode generation for MACH/LinuxCNC controllers; this GCode can also be viewed
2020-08-16 23:05:31 +03:00
Marius Stanciu cc7c525be1 - in CNCJob UI finished working on adding test points in Manual mode 2020-08-14 17:04:16 +03:00
Marius Stanciu 5af8918441 - in CNCJob UI worked on the UI for the Autolevelling
- in CNCJob UI finished working on adding test points in Grid mode
2020-08-14 12:46:27 +03:00
Marius Stanciu 298976f32e - CNCJob object - working in generating Voronoi diagram for autolevelling 2020-08-14 02:03:03 +03:00
Marius Stanciu 776034d1b1 - Tool Cutout - some work in gaps thickness control for the free form cutout 2020-08-13 22:38:39 +03:00
Marius Stanciu daf66ae58c - in CNCJob UI updated the GUI for Autolevelling 2020-08-13 17:32:54 +03:00
Marius Stanciu fff0d6efc1 - in CNCJob UI added GUI for an eventual Autolevelling feature 2020-08-13 15:13:07 +03:00
Marius Stanciu 6af295358d - Tool Cutout - some work in gaps thickness control for the free form cutout 2020-08-12 00:11:39 +03:00
Marius Stanciu b9faa7b2b8 - small fix so the cx_freeze 6.2 module will work in building a frozen version of FlatCAM 2020-08-09 04:57:29 +03:00
Marius Stanciu 9b6c65cdcb - all Geometry objects resulted from Isolation Tool are now of type multi-geo
- fixed minor glitch in the Isolation Tool UI
- added an extra check when doing selection on canvas
- fixed an UI problem in Gerber Editor
2020-08-07 13:55:32 +03:00
Marius Stanciu 06bb17f255 - Tool Cutout - some work in gaps thickness control for the free form cutout 2020-08-06 00:07:56 +03:00
Marius Stanciu 14a9710a43 - Tool Cutout - done handling the gaps thickness control for the rectangular cutout; TODO: check all app for the usage of geometry_spindledir and geometry_optimization_type defaults in tools and in options 2020-08-05 17:37:24 +03:00
Marius Stanciu b5f77eac1b - Tool Cutout - more work in gaps thickness control feature
- Tool Cutout - added some icons to buttons
2020-08-05 11:46:56 +03:00
Marius Stanciu f86193a5c0 - Tool Cutout - working in adding gaps suppression feature; added the UI in the Tool 2020-08-04 17:57:28 +03:00
Marius Stanciu e4852292b7 - removed the Toolchange Macro feature (in the future it will be replaced by full preprocessor customization)
- modified GUI in Preferences
2020-08-04 13:33:58 +03:00
Marius Stanciu eb28d28ea2 - GCode Editor - modified the UI 2020-08-03 23:20:41 +03:00
Marius Stanciu b7630f1334 - added a way to remember the old state of Tools toolbar before and after entering an Editor 2020-08-03 22:11:17 +03:00
Marius Stanciu ffda89f949 - GCode Editor - can not delete objects while in the Editor; can not close the Code Editor Tab except on Editor exit; activated the shortcut keys (for now only CTRL+S is working) 2020-08-03 22:01:42 +03:00
Marius Stanciu 7d47a133f6 - GCode Editor - GCode tool selection when clicking on tool in Tools table is working. The only issue is that the first tool gcode includes the start gcode which confuse the algorithm 2020-08-03 17:01:52 +03:00
Marius Stanciu f557eeb98d - GCode Editor - working on GCode tool selection - not OK 2020-08-02 22:25:48 +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 840db915f1 - GCode Editor - work in the UI 2020-08-02 02:31:06 +03:00
Marius Stanciu a66d8a7438 - Tools Database: added a Cutout Tool Parameters section 2020-08-01 22:34:13 +03:00
Marius Stanciu 1fc70fd3cf - minor work in GCode Editor 2020-07-31 14:08:53 +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 445b4300f5 - Gerber parser - a single move with pen up D2 followed by a pen down D1 at the same location is now treated as a Flash; fixed issue #441 2020-07-27 03:25:38 +03:00
Marius a24b09d8ad - Tools Tab is hidden when entering into a Editor and showed on exit (this needs to be remade such that the toolbars state should be restored to whatever it was before entering in the Editor) - changed the ChangeLog 2020-07-25 12:43:11 +03:00
Marius Stanciu 64529c4cfd - wip 2020-07-25 12:42:27 +03:00
Marius e7e1d959fd Merge remote-tracking branch 'origin/Beta_8.994' into Beta_8.994
# Conflicts:
#	CHANGELOG.md
2020-07-25 12:41:23 +03:00
Marius Stanciu 8354bce680 - Tools Tab is hidden when entering into a Editor and showed on exit (this needs to be remade such that the toolbars state should be restored to whatever it was before entering in the Editor) 2020-07-25 12:39:39 +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 cf78211a6f - wip in the GCode Editor 2020-07-22 17:08:40 +03:00
Marius Stanciu 9e8ab610b4 - working on a proper GCode Editor 2020-07-22 15:49:52 +03:00
Marius Stanciu 65d4f70b21 - made sure there are no issues when plotting the Excellon object in one thread and trying to build the UI in another by using a signal 2020-07-21 15:58:22 +03:00
Marius Stanciu 786423eb57 - fixed some issues in Excellon Editor due of recent changes
- moved the Gerber colors fill in the AppObject.on_object_created() slot and fixed some minor issues here
2020-07-21 15:52:53 +03:00
Marius Stanciu 8a95580f15 - fixed issues with detecting older Preferences files 2020-07-21 14:17:58 +03:00
Marius Stanciu 676645d6f5 - made sure that the Preferences files are deleted on new version install, while the application is in Beta status 2020-07-21 13:07:47 +03:00
Marius Stanciu 687efd1fc0 - Excellon UI: made sure that when the Multicolor checkbox is unchecked, the color is updated in the Color column of the tools table 2020-07-21 07:20:14 +03:00
Marius Stanciu 617b483267 - Excellon UI: added a column which will color each row/tool of that column in the color used when checking Multicolor checkbox 2020-07-21 06:49:49 +03:00
Marius Stanciu e147ef1994 - Excellon UI: fixed plot checkbox performing an extra plot function which was not required 2020-07-21 06:12:44 +03:00
Marius Stanciu 51290a6b8b - Excellon UI in Legacy Mode (2D): fixed the Solid checkbox functionality 2020-07-21 06:08:48 +03:00
Marius Stanciu e57820f707 - fixed MultiColor checkbox in Excellon Object to work in Legacy Mode (2D)
- modified the visibility change in Excellon UI to no longer do plot() when doing visibility toggle for one of the tools but only a visibility change in the shapes properties
2020-07-21 06:01:04 +03:00
Marius Stanciu e99dd967fe - updated the FCRadio class with a method that allow disabling certain options
- the Path optimization options for Excellon and Geometry objects are now available depending on the OS platform used (32bit vs 64bit)
2020-07-21 00:57:26 +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 ebdb2b3ca0 - fixed a bug in the FlatCAMGerber.on_mark_cb_click_table() method when moving a Gerber object
- added a way to remember the colors set for the Gerber objects; it will remember the order that they were loaded and set a color previously given
2020-07-20 19:21:17 +03:00
Marius Stanciu 8409c74e23 - added some icons in the Code Editor
- replaced some icons in the app
- in Code Editor, when changing text, the Save Code button will change color (text and icon) to red and after save it will revert the color to the default one
- in Code Editor some methods rework
2020-07-18 00:26:03 +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 6c3774be7a - a new icon for Search in DB 2020-07-15 21:27:01 +03:00
Marius Stanciu 0fc6f41177 - added some icons to more push buttons inside the app
- a change of layout in Tools Database
2020-07-15 21:11:47 +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 7b891900be - added Editor Push buttons in Geometry and CNCJob UI's 2020-07-15 03:31:39 +03:00
Marius Stanciu 66adab95ca - added icons to some of the push buttons 2020-07-15 02:23:45 +03:00
Marius Stanciu e67e676e45 - Tool Database - more changes to the UI 2020-07-14 23:33:43 +03:00
Marius Stanciu e0af0b2a2f - Tools Database - some fixes in the UI (some of the widgets had duplicated names)
- Tools Database - made sure the on save the tools are saved only with the properties that relate to their targeted area of the app
- Tools Database - changes can be done only for one tool at a time
2020-07-14 18:22:24 +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 5badd7a26b - Gerber UI - optimized the mark shapes to use only on ShapeCollection 2020-07-14 14:20:19 +03:00
Marius Stanciu c6baa8ca60 - Multiple Tools fix - fixed issue with converting slots to drills selection being cleared when togglinh all rows by clicking on the header
- Multiple Tools fix - fixes for when having multiple tools selected which created issues in tool tables for many tools
2020-07-13 15:49:11 +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 22d05935e8 - fixed a bug in Tools Database: due of not disconnecting the signals it created a race that was concluded into a RuntimeError exception (an dict changed size during iteration)
- Drilling Tool - working in adding tools auto-load from Tools DB
- some updates to the Excellon Object options
- Drilling Tool - manual add from Tools DB is working
2020-07-13 03:04:44 +03:00
Marius Stanciu 0d886955f8 - when creating a new FlatCAM object, the options will be updated with FlatCAM tools properties that relate to them
- updated the Tools DB class by separating the Tools DB UI into it's own class
- Tools DB - added the parameters for Drilling Tool
2020-07-12 18:30:24 +03:00
Marius Stanciu 329bb04b3c - Gerber UI - optimized the mark shapes to use only on ShapeCollection 2020-07-12 01:36:21 +03:00
Marius Stanciu eee56a8f2f - Geometry UI - moved the UI for polishing from Isolation Tool to Geometry UI (actually in the future Milling Tool) where it belongs 2020-07-11 03:51:25 +03:00
Marius Stanciu ddfc8cf6dc - Isolation Tool - modified the UI; preparing to add new feature of polishing at the end of the milling job
- Tool Paint - fixed an issue when launching the tool and an object other than Geometry or Excellon is selected
2020-07-11 03:27:28 +03:00
Marius Stanciu 9c928e7ce8 - Drilling Tool - changes in UI 2020-07-11 02:57:19 +03:00
Marius Stanciu 8a4de3b44e - Drilling Tool - minor fixes 2020-07-11 01:50:41 +03:00
Marius Stanciu 13bcc036df - moved all Excellon Advanced Prefeences to Drilling Tool Preferences
- updated Drilling Tool to use the new settings
- updated the Excellon Editor: the default_data dict is populated now on Editor entry
- Excellon Editor: added a new functionality: conversion of slots to drills
- Excellon UI: added a new feature that is grouped in Advanced Settings: a toggle tools table visibility checkbox
2020-07-11 01:42:44 +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 24192540d7 - in Gerber and Excellon UI added buttons to start the Editor
- in all Editors Selected Tab added a button to Exit the Editor
2020-07-10 05:03:54 +03:00
Marius Stanciu 0dee41e03c - Tool Drilling - moved some of the Excellon Preferences related to drilling operation to it's own group Drilling Tool Options
- optimized the CNCJob UI to look like other parts of the app
2020-07-10 04:39:25 +03:00
Marius Stanciu 391a28282e - Tool Drilling - added new feature to drill the slots 2020-07-09 16:54:15 +03:00
Marius Stanciu 494963ed04 - working in cleaning up the Excellon UI (Selected Tab)
- finished the clean-up in Excellon UI
2020-07-09 05:58:11 +03:00
Marius Stanciu fd3fe0530c - CNCJob object - now it is possible for CNCJob objects originated from Excellon objects, to toggle the plot for a selection of tools 2020-07-09 04:34:23 +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 45472f6193 - working on Tool Drilling - remaking the way that the GCode is stored, each tool will store it's own GCode 2020-07-08 17:39:33 +03:00
Marius Stanciu 5e9455991f - added as ToolTip for the the Preprocessor combobox items, the actual name of the items 2020-07-08 16:20:48 +03:00
Marius Stanciu 6edd7f051a - Tool Drilling - working on the UI
- Tool Drilling - added more tool parameters; laying the ground for adding "Drilling Slots" feature
2020-07-08 15:51:03 +03:00
Marius Stanciu f0fba5ccd1 - fixed the Panelize Tool so the box object stay as selected on new objects are loaded; any selection shape on canvas is deleted when clicking Panelize 2020-07-07 16:23:22 +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 2dfc0caed7 - Turkish translation updated by Mehmet Kaya for the 8.993 version of strings 2020-07-06 23:32:24 +03:00
Marius Stanciu cb69216f92 - Convert Any to Excellon. Finished Gerber object conversion to Excellon. Flash's are converted to drills. Traces in the form of a linear LineString (no changes in direction) are converted to slots. 2020-07-06 00:20:20 +03:00
Marius Stanciu 0c957a3365 - working in making a new functionality: Convert Any to Excellon. Finished Geometry object conversion to Excellon. 2020-07-03 03:20:56 +03:00
Marius Stanciu 27216c52e2 - modified the Gerber export method to take care of the situation where the exported Gerber file is a SVG/DXF file imported as Gerber 2020-07-02 21:35:34 +03:00
Marius Stanciu 4bce56308c - added Turkish translation - courtesy of Mehmet Kaya 2020-07-02 21:24:34 +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