Commit Graph

195 Commits

Author SHA1 Message Date
Marius Stanciu f771838c81 - some refactoring in the keys of the defaults dictionary
- fixed an ambiguity in the Tools Database GUI elements
2020-10-23 23:14:13 +03:00
Marius Stanciu 5a929a4c60 - Excellon UI: fixed a small issue with toggling all rows in Tools Table not toggling off and also the milling section in Utilities was not updated 2020-10-23 19:16:56 +03:00
Marius Stanciu 1b3919aca7 - minor changes in the Properties Tool 2020-10-23 19:03:13 +03:00
Marius Stanciu 427118c495 - added a default properties tab which will hold a set of information's about the application 2020-10-23 18:46:55 +03:00
Marius Stanciu a7e3a32d4a - updated Rules Check Tool - added an activity message 2020-10-23 02:43:06 +03:00
Marius Stanciu 86e870ec71 - updated Rules Check Tool - Hole Size rule to work with the new data structure for the Excellon objects 2020-10-23 02:32:06 +03:00
Marius Stanciu a39f3f7cac - updated Copper Thieving Tool to work with the updated program 2020-10-23 01:53:34 +03:00
Marius Stanciu baa67b1278 - fixed a bug in Tool PunchGerber when using an Excellon to punch holes in the Gerber apertures 2020-10-23 00:39:04 +03:00
Marius Stanciu e09ec574aa - added some new strings for translation and updated the translation strings
- in ToolsDB2UI class made the vertical layouts have a preferred minimum dimension as opposed to the previous fixed one
- in Geometry Object made sure that the Tools Table second column is set to Resize to contents
2020-10-22 22:11:28 +03:00
Marius Stanciu 37408efcc7 - in NCC Tool fixed a bug when using Rest Machining; optimizations
- in NCC Tool fixed a UI issue
- updated the Turkish translation (by Mehmet Kaya)
2020-10-22 19:13:15 +03:00
Marius 5446570409 - modified behind the scene the UI for Tool Subtract
- modified some strings and updated the translation strings
- in NCC Tool added a check for the validity of the used tools; its only informative
- in NCC Tool done some refactoring
2020-10-22 15:09:12 +03:00
Marius Stanciu 52b7967b35 - added a button in Gerber UI that will hide/show the bounding box generation and the non-copper region section
- compacted the UI for the 2Sided Tool
2020-10-21 21:02:10 +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 77a1ba67c8 - fixed Cutout Tool to work with the endxy parameter 2020-10-21 13:08:46 +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 85640f2304 - fixed QrCode Tool 2020-10-19 17:45:50 +03:00
Marius Stanciu 408327e48f - added a check (and added to Preferences too) for the verification of tools validity in the Isolation Tool 2020-10-19 16:56:21 +03:00
Marius Stanciu bedd707544 - Isolation Tool - added a check for having a complete isolation 2020-10-08 17:17:01 +03:00
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 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 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 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 615b0b9d4d - Cutout Tool - minor changes 2020-08-30 01:11:06 +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 62f06f6472 - restored Cutout freeform to previous state 2020-08-29 19:37:10 +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 47be6ef30e - Tool Isolation - small changes 2020-08-28 02:31:46 +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 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 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 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 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 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 776034d1b1 - Tool Cutout - some work in gaps thickness control for the free form cutout 2020-08-13 22:38:39 +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 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 b26062c68a - small string change 2020-08-04 17:58:23 +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 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 cf78211a6f - wip in the GCode Editor 2020-07-22 17:08:40 +03:00
Marius Stanciu 8a95580f15 - fixed issues with detecting older Preferences files 2020-07-21 14:17:58 +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 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 ed96f97d9a - deleting some prints 2020-07-13 03:06:29 +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 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 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 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 34c545ced5 - wip Tool Drilling 2020-07-02 06:10:31 +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