Commit Graph

577 Commits

Author SHA1 Message Date
Marius Stanciu 653c013ff6 - small change in the NCC Tool UI
- some strings are changed and therefore the translation strings source are updated
2020-10-08 15:42:16 +03:00
Marius Stanciu aa073a2b40 - finished updating DPI setting feature for PNG export in Film Tool 2020-10-07 00:26:12 +03:00
Marius Stanciu efdcc6d6ee - working on adding DPI setting for PNG export - update 2020-10-07 00:23:36 +03:00
Marius Stanciu 604f4b72d6 - small change in TclCommandExportSVG 2020-10-06 12:51:25 +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 d5cf7b4980 - the Selected Tab is now Properties Tab for FlatCAM objects
- modified the Properties Tab for various FlatCAM objects preparing the move of Properties Tool data into the Properties Tab
- if the Properties tab is in focus (selected) when a new object is created then it is automatically selected therefore it's properties will be populated
2020-09-26 14:39:52 +03:00
Marius Stanciu 2f564b5a76 - minor GUI change in Isolation Tool 2020-09-25 14:55:15 +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 7e4585e65f - fixed canvas selection such that when selecting shape fails to be displayed with rounded corners a square selection shape is used
- fixed canvas selection for the case when the selected object is a single line or a line made from multiple segments
2020-09-23 13:32:13 +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 c6a552d25a - working to add virtual units to SVG parser 2020-09-22 17:47:23 +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 d3ebb08d1f - in CNCJob UI Autolevelling: on manual add of probe points, only voronoi diagram is calculated 2020-09-20 19:19:03 +03:00
Marius Stanciu 8a3770f169 - removed some brackets in the GRBL laser preprocessor due of GRBL firmware interpreting the first closing bracket as the comment end 2020-09-19 21:58:46 +03:00
Marius Stanciu af3d855285 - in CNCJob UI Autolevelling: prepared the app for bilinear interpolation
- in CNCJob UI Autolevelling: fixes in the UI
2020-09-03 12:48:50 +03:00
Marius Stanciu 743885cf0f - in CNCJob UI Autolevelling: changed the UI a bit
- added a bilinear interpolation calculation class from: https://github.com/pmav99/interpolation
- in CNCJob UI Autolevelling: made sure that the grid can't have less than 2 rows and 2 columns when using the bilinear interpolation or 1 row and 1 column when using the Voronoi polygons
2020-09-03 03:45:58 +03:00
Marius Stanciu 06c526db39 - in CNCJob UI Autolevelling - GRBL controller - added a way to save a GRBL height map
- in CNCJob UI Autolevelling: added the UI for choosing the method used for the interpolation used in autolevelling
2020-09-03 00:37:10 +03:00
Marius Stanciu 906ab83396 - in CNCJob UI Autolevelling: first added point when manual adding of probe points is auto added in origin before adding first point
- in CNCJob UI Autolevelling: temp geo for adding points in manual mode is now painted in solid black color and with a smaller diameter
2020-09-02 22:08:28 +03:00
Marius Stanciu ab414ce348 - in CNCJob UI Autolevelling: solved some small errors: when manual adding probe points dragging the mouse with left button pressed created selection rectangles; detection of click inside the solid geometry was failing
- in CNCJob UI Autolevelling: in manual adding of probe points make sure you always add a first probe point in origin
2020-09-02 01:26:18 +03:00
Marius Stanciu 42c5a69bfa - in CNCJob UI Autolevelling: made sure that plotting a Voronoi polygon is done only for non-None polygons
- in CNCJob UI Autolevelling : in manual mode, Points can be chosen only when clicking inside the object to be probed
- in CNCJob UI Autolevelling: made sure that plotting a Voronoi polygon is done only for non-None polygons
- in CNCJob UI Autolevelling: remade the probing points generation so they could allow bilinear interpolation
2020-08-31 21:47:11 +03:00
Marius Stanciu 6bb4144a40 - updated the Italian translation files by Massimiliano Golfetto 2020-08-31 01:27:36 +03:00
Marius Stanciu 15a8f718c9 - Cutout Tool - finished adding the Mouse Bites feature by adding mouse bites for manual cutouts 2020-08-30 01:08:21 +03:00
Marius Stanciu 26ac02e484 - Cutout Tool - fixed mouse bites feature in case of using a Geometry object and Freeform cutout
- Cutout Tool - can do cutouts on multigeo Geometry objects: it will automatically select the geometry of first tool
- Geometry Editor - fixed exception raised when trying to move and there is no shape to move
2020-08-30 00:05: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 f73f6fb5da - 2Sided Tool - fixed newly introduced issues in the Alignment section
- 2Sided Tool - modified the UI such that some of the fields will allow only numbers and some special characters ([,],(,),/,*,,,+,-,%)
- Cutout Tool - working on adding mouse bites for the Freeform cutout
- updated the translation files to the current state of the app
2020-08-29 16:10:00 +03:00
Marius Stanciu 6c9c367540 - modified the Tools Database and Preferences with the new parameters from CutOut Tool
- changes in Tool Cutout: now on Cutout Tool start the app will look into Tools Database and search for a tool with same diameter (or within the set tolerance) as the one from Preferences and load it if found or load a default tool if not
- Tool Cutout - this Tool can now load tools from Tools Database through buttons in the Cutout Tool
2020-08-28 18:52:05 +03:00
Marius Stanciu fc539fa55b - NCC Tool - upgraded the UI and added the functionality that now adding a new tool is done by first searching the Tools DB for a suitable tool and if fails then it adds an default tool
- NCC Tool - on start will attempt to search in the Tools DB for the default tools and if found will load them from the DB
- fixes in NCC, Paint and Isolation Tool due of recent changes
2020-08-28 13:05:31 +03:00
Marius Stanciu 9b4455a7a6 - Paint Tool - upgraded the UI and added the functionality that now adding a new tool is done by first searching the Tools DB for a suitable tool and if fails then it adds an default tool
- Paint Tool - on start will attempt to search in the Tools DB for the default tools and if found will load them from the DB
2020-08-28 11:56:59 +03:00
Marius Stanciu c43b70cba5 - fixed a borderline issue in CNCJob UI Autolevelling - Voronoi polygons calculations 2020-08-28 02:25:05 +03:00
Marius Stanciu eee4595449 - some small fixes 2020-08-28 00:53:24 +03:00
Marius Stanciu cebffe34b1 - in Tools: Transform, SUb, RulesCheck, DistanceMin, Distance - moved the Tool UI in its own class 2020-08-28 00:41:03 +03:00
Marius Stanciu 71ae6fe5e6 - Tool Isolation - made sure that the app can load from Tools Database only tools marked for Isolation tool
- Tool Isolation - on Tool start it will attempt to load the Preferences set tools by diameter from Tools Database. If it can't find one there it will add a default tool.
2020-08-27 23:20:30 +03:00
Marius Stanciu 6c3364c9cc - fixed some typos due of actions above 2020-08-27 21:44:17 +03:00
Marius Stanciu c45444a772 - in Tools: Film, Image, InvertGerber, Optimal, PcbWizard - moved the Tool UI in its own class 2020-08-27 21:37:00 +03:00
Marius Stanciu b3a22f3d0a - Film Tool - moved the Tool UI in its own class 2020-08-27 21:06:44 +03:00
Marius Stanciu 46ac265dc7 - Turkish translation strings were updated by the translator, Mehmet Kaya 2020-08-27 18:33:54 +03:00
Marius Stanciu 5cd78d211e - in Tool Cutout: modified the UI in preparation for adding the Mouse Bites feature 2020-08-27 17:29:58 +03:00
Marius Stanciu 7eeda0347f - in Tool Cutout fixed manual adding of gaps with thin gaps and plotting
- in Tool Cutout, when using fix gaps made sure that this feature is not activated if the value is zero
2020-08-27 03:29:52 +03:00
Marius Stanciu c99b20df7b - in Tool Cutout, when using the Thin Gaps feature, the resulting geometry loose the extra color by toggling tool plot in Geometry UI Tools Table- fixed 2020-08-27 03:16:07 +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 66fcec49cc - in Gerber UI done some optimizations 2020-08-27 00:56:55 +03:00
Marius Stanciu ffdcfb0b5d - fixed crash in Properties Tool, when applied on a CNCJob object made out of an Excellon object (fixed issue #444)
- in Properties Tool, for CNCJob objects made out of Excellon objects, added the information's from Tool Data
- in Properties Tool made sure that the set color for the Tree parents depends on the fact if the gray icons set are used (dark theme) or not
- Properties Tool - properties for a Gerber objects has the Tool Data now at the end of the information's
2020-08-27 00:17:14 +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 9696e8faad - NCC Tool - UI change: if the operation is Isolation then some of the tool parameters are disabled 2020-08-26 18:53:38 +03:00
Marius Stanciu be01e00898 - Isolation Tool - added ability to find the tool diameter that will guarantee total isolation of the currently selected Gerber object 2020-08-26 18:32:28 +03:00
Marius Stanciu d4c922cdf9 - Drilling Tool - when replacing Tools if more than one tool for one diameter is found, the application exit the process and display an error in status bar; some minor fixes
- Isolation Tool - remade the UI
- Isolation Tool - modified the add new tool method to search first in Tools Database  for a suitable tool
2020-08-26 17:21:00 +03:00
Marius Stanciu e22ae1ad6c - solved some deprecation warnings (Shapely module) 2020-08-26 15:10:36 +03:00
Marius Stanciu e658b61e53 - Geometry object - now plotting color for an individual tool can be specified
- in CutOut Tool - when using  'thin gaps' option then the cut parts are colored differently than the rest of the geometry in the Geometry object
2020-08-26 03:38:47 +03:00
Marius Stanciu 86ec32b821 - fix for issue nr 2 in case of Drilling Tool. Need to check Isolation Tool, Paint Tool, NCC Tool
- Drilling Tool - UI changes
2020-08-26 01:01:27 +03:00
Marius Stanciu c3b99c3e33 - for Tools: Calculators, Calibration, Copper Thieving, Corners, Fiducials - moved the Tool UI in its own class 2020-08-25 18:23:38 +03:00
Marius Stanciu 0d15130b40 - Tool Align Objects - moved the Tool Ui into its own class 2020-08-25 15:52:50 +03:00
Marius Stanciu 08750a575c - 2Sided Tool - finished the feature that allows picking an Excellon drill hole center as a Point mirror reference 2020-08-25 15:40:53 +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 96059c4b54 - in CNCJob UI Autolevelling - GRBL controller - fixed the send_grbl_command() method 2020-08-24 13:14:54 +03:00
Marius Stanciu f8eba0084d - in CNCJob UI Autolevelling - GRBL controller - added the probing method 2020-08-24 02:13:13 +03:00
Marius Stanciu 40682ea1e9 - made sure that when doing units conversion keep only the decimals specified in the application decimals setting (should differentiate between values and display?) 2020-08-24 01:05:14 +03:00
Marius Stanciu 01df27f45f - fixed issues in units conversion
- in CNCJob UI Autolevelling - changed how the probing code is generated and when
- changed some strings in CNCJob UI Autolevelling
2020-08-24 00:51:07 +03:00
Marius Stanciu 3430d86dba - in GUI element FCDoubleSpinner fixed an range issue 2020-08-23 16:57:59 +03:00
Marius Stanciu 26ac43bd2e - in CNCJob UI Autolevelling - autolevelling is made to be not available for cnc code generated with Roland or HPGL preprocessors
- in CNCJob UI Autolevelling - added a save dialog for the probing GCode
- added a new GUI element, a DoubleSlider
- in CNCJob UI Autolevelling - GRBL controller - Control: trying to add DoubleSlider + DoubleSpinner combo controls
2020-08-23 15:20:12 +03:00
Marius Stanciu 2deba3a8f9 - in CNCJob UI Autolevelling - GRBL controller - added handlers for the Zeroing and for Homing and for Pause/Resume; some UI optimizations 2020-08-22 03:34:45 +03:00
Marius Stanciu 1b31abeb62 - in CNCJob UI Autolevelling - GRBL controller - Control: added a Origin button; changed the UI to have rounded rectangles
- in CNCJob UI Autolevelling - GRBL controller - Control: added feedrate and step size controls and added them in Preferences
2020-08-21 18:08:40 +03:00
Marius Stanciu a75e7e5cf8 - in CNCJob UI Autolevelling - GRBL Sender - now only a single command can be sent
- in CNCJob UI Autolevelling - GRBL controller - changed the UI
- in CNCJob UI Autolevelling - added some VOronoi poly calculations
2020-08-19 17:20:05 +03:00
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
Marius Stanciu 2fb786f498 - fixed the SVG parser so the SVG files with no information regarding the 'height' can be opened in FlatCAM; fixed issue #433 2020-06-30 00:03:06 +03:00
Marius Stanciu 249ece72e9 - fixed the DXF parser to work with the latest version of ezdxf module (issues for the ellipse entity and modified attribute name for the knots_values to knots)
- fixed the DXF parser to parse correctly the b-splines by not adding automatically a knot value 0f (0, 0) when the spline is not closed
2020-06-29 00:40:49 +03:00
Marius Stanciu ce5ad816c5 - Drilling Tool - UI is working as expected; I will have to propagate the changes to other tools too, to increase likeness between different parts of the app 2020-06-27 01:06:10 +03:00
Marius Stanciu 315ab77ebe - wip for Tool Drilling 2020-06-25 17:25:40 +03:00
Marius Stanciu 7387553101 - made sure that when trying to view the source but no object is selected, the messages are correct 2020-06-25 14:38:26 +03:00
Marius Stanciu 6db9aa041f - working on Tool Drilling 2020-06-23 01:17:40 +03:00
Marius Stanciu a833b3e3d4 - wip 2020-06-21 08:00:36 +03:00
Marius Stanciu c1a6bcc9f0 - put the bases for a new Tool: Milling Holes Tool 2020-06-18 23:43:54 +03:00
Marius Stanciu 755aa48490 - Panelize Tool - fixed to work for panelizing Excellon objects with the new data structure storing drills and tools in the obj.tools dictionary 2020-06-18 20:24:02 +03:00
Marius Stanciu 8dc4eecbf4 - Panelize Tool - add a new option for the panels of type Geometry named Path Optimiztion. If the checkbox is checked then all the LineStrings that are overlapped in the resulting multigeo Geometry panel object will keep only one of the paths thus minimizing the tool cuts. 2020-06-18 18:50:02 +03:00
Marius Stanciu 7be4d98172 - Cutout Tool - made sure that all the paths generated by this tool are contiguous which means that two lines that meet at one end will become onle line therefore reducing unnecessary Z moves 2020-06-18 14:44:29 +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 c9d66381bf - added fuse tools control in Preferences UI for the Excellon objects: if checked the app will try to see if there are tools with same diameter and merge the drills for those tools; if not the tools will just be added to the new combined Excellon 2020-06-17 10:36:02 +03:00
Marius Stanciu c839428a83 - added the multi-save capability if multiple CNCJob objects are selected in Project tab but only if all are of type CNCJob 2020-06-17 00:38:19 +03:00
Marius Stanciu 0a64b02397 - Tool Punch Gerber - updated the UI
- Tool Panelize - updated the UI
- Tool Extract Drills - updated the UI
- Tool QRcode - updated the UI
- Tool SolderPaste - updated the UI
- Tool DblSided - updated the UI
2020-06-16 23:25:02 +03:00
Marius Stanciu 651b3137e9 - minor fix in App Tools that were updated to have UI in a separate class 2020-06-16 15:14:34 +03:00
Marius Stanciu 6ec57391f4 - fixed Extract Drills Tool to work with the new Excellon data format 2020-06-16 12:40:11 +03:00
Marius Stanciu 441b553fa8 - more typos fixed in Excellon parser, slots processing 2020-06-16 12:27:48 +03:00
Marius Stanciu ba931a6adc - fixed some problems (typos, missing data) generated by latest changes 2020-06-16 11:59:51 +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 bb24a45f5a - working on the Drilling Tool - started to create a new data structure that will hold the Excellon object data 2020-06-15 19:33:35 +03:00
Marius Stanciu 30d5400da1 - created a new App Tool named Drilling Tool where I will move the drilling out of the Excellon UI 2020-06-15 19:14:50 +03:00
Marius Stanciu 87524bcfc9 - Tool Isolation - fixed a UI minor issue: 'forced rest' checkbox state at startup was always enabled 2020-06-15 07:27:41 +03:00
Marius Stanciu ed9fd94624 - Tools Database - added a context menu action to Save the changes to the database even if it's not in the Administration mode 2020-06-15 07:17:15 +03:00
Marius Stanciu 5757d856d5 - Isolation Tool - fixed to work with selection of tools in the Tool Table (previously it always used all the tools in the Tool Table) 2020-06-15 06:56:06 +03:00
Marius Stanciu 4891cde1f9 - Paint Tool - refurbished the 'rest machining' for the entire tool 2020-06-15 06:37:20 +03:00
Marius Stanciu 9968fd14f2 - in Paint Tool and NCC Tool updated the way the selected tools were processed and made sure that the Tools Table rows are counted only once in the processing
- modified the UI in Paint Tool such that in case of using rest machining the offset will apply for all tools
- Paint Tool - made the rest machining function for the paint single polygon method
2020-06-15 03:34:34 +03:00
Marius Stanciu 5dcc31ef8b - modified the Paint, NCC and Isolation Tools that when no tools is selected in the Tools Table, a message will show that no Tool is selected and the Geometry generation button is disabled 2020-06-14 21:24:23 +03:00
Marius Stanciu 14425d1b25 - modified the Isolation Tool UI: now the tools can be reordered (if the order UI radio is set to 'no') 2020-06-14 16:51:44 +03:00
Marius Stanciu c0a4e2f3cc - in Paint and NCC Tools made sure that using the key ESCAPE to cancel the tool will not create mouse events issues
- some updates in Tcl commands Paint and CopperClear data dicts
2020-06-14 15:59:06 +03:00
Marius Stanciu 1fb1b1cdbe - NCC Tool - now the tools can be reordered (if the order UI radio is set to 'no')
- remade the UI in Paint Tool and the tools in tools table ca now be reordered (if the order UI radio is set to 'no')
- some updates in NCC Tool using code from Paint Tool
2020-06-14 14:29:57 +03:00
Marius Stanciu e24b148e3a - fixed issue #428 - Cutout Tool -> Freeform geometry was not generated due of trying to get the bounds of the solid_geometry before it was available 2020-06-14 04:13:37 +03:00
Marius Stanciu 881d461b58 - NCC Tool - remade and optimized the copper clearing with rest machining: now it works as expected with a reasonable performance 2020-06-14 03:59:27 +03:00
Marius Stanciu 6db5def032 - made sure that clicking the icons in the status bar works only for the left mouse click
- if clicking the activity icon in the status bar and there is no object selected then the effect will be a plot_all with fit_view
- modified the FCLabel GUI element
2020-06-14 00:59:24 +03:00
Marius Stanciu a465475eb6 - when opening a new tab in the PlotTabArea the coordinates toolbars will be hidden and shown after the tab is closed 2020-06-13 20:42:47 +03:00