Commit Graph

462 Commits

Author SHA1 Message Date
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
Marius Stanciu 4823b198bb - added a new string in the tooltip for the button that adds tool from database specifying the tools database administration is done in the menu 2020-06-13 20:17:58 +03:00
Marius Stanciu 39210fcfbf - moved the init of activity view in the MainGUI file from the APP.__init__() 2020-06-13 20:12:34 +03:00
Marius Stanciu c44f395625 - made the coordinates / delta coordinates / grid toolbar / actions toolbar visibility an option, controlled from the infobar (Status bar) context menu. How it's at app shutdown it's restored at the next application start 2020-06-13 19:50:55 +03:00
Marius Stanciu 69d0b3ad3f - updated the FCTable GUI element to work correctly when doing drag&drop for the rows
- updated the Geometry UI to work with the new FCTable
2020-06-13 18:06:33 +03:00
Marius Stanciu 32dd8870f8 - modified the Tools Database such that there is now a way to mark a tool as meant to be used in a certain part of the application; it will disable or enable parts of the parameters of the tool 2020-06-13 01:03:36 +03:00
Marius Stanciu e85b6f8d87 - Geometry UI - made again the header clickable and first click selects all rows, second click will deselect all rows.
- Geometry UI - minor updates in the layout; moved the warning text to the tooltip of the generate_cncjob button
- Geometry UI - working in making the modification of tool parameters such that if there is a selection of tools the modification in the Tool parameters will be applied to all selected
2020-06-13 00:17:17 +03:00
Marius Stanciu 1ea168fd4b - NCC Tool - fixed the non-rest copper clearing to work as expected: each tool in the tool table will make it's own copper clearing without interference from the rest of the tools 2020-06-12 22:26:17 +03:00
Marius Stanciu 0a125ea75f - NCC Tool - optimized tool reset code 2020-06-12 11:15:49 +03:00
Marius Stanciu 5cf363a8db - NCC Tool - allow no tool at NCC Tool start (the Preferences have no tool) 2020-06-12 05:53:31 +03:00
Marius Stanciu 1f9b0a2747 - NCC Tool optimization - moved the UI in its own class
- NCC Tool optimization - optimized the Tool edit method
2020-06-12 05:47:50 +03:00
Marius Stanciu ee4b765225 - finished tool reordering in Geometry UI 2020-06-12 04:47:08 +03:00
Marius Stanciu 3ef6abaa71 - continue - work in tool reordering in Geometry UI 2020-06-10 12:31:11 +03:00
Marius Stanciu 7f082760bb - working on the tool reordering in the Geometry UI 2020-06-10 10:25:48 +03:00
Marius Stanciu a3fd6e9f87 - fixed bug in the Isolation Tool that in certain cases an empty geometry was present in the solid_geometry which mae the CNCJob object generation to fail. It happen for Gerber objects created in the Gerber Editor 2020-06-10 03:27:53 +03:00
Marius Stanciu 0643971b01 - added ability to merge tools when merging Geometry objects if they share the same attributes like: diameter, tool_type or type
- added a control in Edit -> Preferences -> Geometry to control if to merge/fuse tools during Geometry merging
2020-06-10 00:23:08 +03:00
Marius Stanciu 99e274c82d - fixed a possible problem in generating bounds value for a solid_geometry that have empty geo elements 2020-06-09 13:10:26 +03:00
Marius Stanciu 24d639e1de - added a protection when trying to edit a Geometry object that have multiple tools but no tool is selected 2020-06-09 00:02:16 +03:00
Marius Stanciu 850b80bb41 - more refactoring in the app Editors 2020-06-08 19:53:31 +03:00
Marius 05df0a61c2 - renamed the GeoEditor class/file to appGeoEditor from FlatCAMGeoEditor making it easier to see in the IDE tree structure
- some refactoring that lead to a working solution when using the Python 3.8 + PyQt 5.15
2020-06-08 19:46:18 +03:00
Marius Stanciu d97d3eabd2 - minor changes in the way that the tools are installed and connected 2020-06-08 19:28:39 +03:00
Marius Stanciu c915ea8f6d - optimized GUI in Alignment Tool 2020-06-07 23:34:33 +03:00
Marius Stanciu 9c81991d3d - optimized the GUI in Film Tool 2020-06-07 23:21:22 +03:00
Marius Stanciu e2df2c3b62 - fixed bug: on first ever usage of FlatCAM beta the last loaded language (alphabetically) is used instead of English (in current state is Russian)
- made sure the the GUI settings are cleared on each new install
- added a new signal that is triggered by change in visibility for the Shell Dock and will change the status of the shell label in the status bar. In this way the label will really be changed each time the shell is toggled
2020-06-07 22:32:36 +03:00
Marius Stanciu 329a3262ee - made sure that the message that exclusion areas are deleted is displayed only if there are shapes in the exclusion areas storage 2020-06-07 17:28:09 +03:00
Marius Stanciu 5ce7011123 - changed the Excellon defaults for zeros suppression to TZ (assumed that most Excellon without units in header will come out of older Eagle) and the Excellon export default is now with coordinates in decimal 2020-06-07 17:06:23 +03:00
Marius Stanciu a4179d58a4 - fixed a small issue in Gerber file opener filter that did not see the *.TOP extension or *.outline extension 2020-06-07 15:51:39 +03:00
Marius Stanciu 039500b43f - fixed issue with trying to access GUI from different threads by adding a new signal for printing to shell messages 2020-06-07 15:30:46 +03:00
Marius Stanciu 2c2db0efe2 - refactoring in camlib.py. Made sure that some conditions are met, if some of the parameters are None then return failure. Modifications in generate_from_geometry_2 and generate_from_multitool_geometry methods 2020-06-07 14:52:06 +03:00
Marius Stanciu ea1b47bf89 - added a GUI element in the Preferences to control the possibility to edit with mouse cursor objects in the Project Tab. It is named: "Allow Edit" 2020-06-07 00:19:33 +03:00
Marius Stanciu 427f2bcbe0 - fixed the color set for the application objects
- made some reverts regarding the mods in the quit_application() method - problems when freezed
RELEASE 8.993
2020-06-06 02:36:53 +03:00
Marius Stanciu 6d8ccaca85 - small fix
RELEASE 8.993
2020-06-05 21:07:10 +03:00
Marius Stanciu cdc7880395 RELEASE 8.993 2020-06-05 20:41:12 +03:00
Marius Stanciu fc60677cb8 - remade the ReadMe tab
- Tool Isolation - added a GUI element to control if the isolation of a polygon, when done with rest, should be done with the current tool even if its interiors (holes in it) could not be isolated or to be left for the next tool
- updated all the translation strings to the latest changes
2020-06-05 20:38:13 +03:00
Marius Stanciu 951744d6fa - added mouse events disconnect in the quit_application() method 2020-06-05 07:19:53 +03:00
Marius Stanciu 2107a4766f - changed how the import of svg.path module is done in the ParseSVG.py file
- Tool Isolation - new feature that allow to isolate interiors of polygons (holes in polygons). It is possible that the isolation to be reported as successful (internal limitations) but some interiors to not be isolated. This way the user get to fix the isolation by doing an extra isolation.
2020-06-05 07:10:18 +03:00
Marius Stanciu 487e7bbfe8 - in Tool Calculators fixed an application crash if the user typed letters instead of numbers in the boxes. Now the boxes accept only numbers, dots, comma, spaces and arithmetic operators
- NumericalEvalEntry allow the input of commas now
- Tool Calculators: allowed comma to be used as decimal separator
2020-06-05 04:43:41 +03:00
Marius Stanciu fb602d6f9b - fixed a small issue in the Panelization Tool that blocked the usage of a Geometry object as panelization reference 2020-06-05 04:09:29 +03:00
Marius Stanciu bfdaa73798 - fixed a small issue in the Panelization Tool that blocked the usage of a Geometry object as panelization reference 2020-06-05 03:37:01 +03:00
Marius Stanciu 4809f11c00 - updated the French translation strings - from @micmac (Michel Maciejewski) 2020-06-04 20:15:36 +03:00
Marius Stanciu dc8a34bc16 - improved the Isolation Tool - rest machining: test if the isolated polygon has interiors (holes) and if those can't be isolated too then mark the polygon as a rest geometry to be isolated with the next tool and so on 2020-06-04 11:56:08 +03:00
Marius Stanciu 4b01fd5473 - updated the Italian translation - contribution by Golfetto Massimiliano
- made the timing for the object creation to be displayed in the shell
2020-06-04 02:53:06 +03:00
Marius Stanciu 0e007bbcbc - updated the Italian translation - contribution by Golfetto Massimiliano 2020-06-03 22:52:13 +03:00
Marius Stanciu adfd6d40b9 - made sure that if the user closes the app with an editor open, before the exit the editor is closed and signals disconnected 2020-06-03 22:47:29 +03:00
Marius Stanciu bbf878bebb - updated the language translation strings (and Google_Translated some of them) 2020-06-03 21:08:06 +03:00
Marius Stanciu 2eecb20e95 - remade file names in the app
- fixed the issue with factory_defaults being saved every time the app start
- fixed the preferences not being saved to a file when the Save button is pressed in Edit -> Preferences
- fixed and updated the Transform Tools in the Editors
2020-06-03 20:35:59 +03:00
Marius Stanciu 378a497935 - made sure that the status bar label for preferences is updated also when the Preferences Tab is opened from the Edit -> Preferences 2020-06-03 04:32:56 +03:00
Marius Stanciu b23bd5f590 - made the delayed Gerber buffering to use multiprocessing but I see not much performance increase 2020-06-03 04:26:56 +03:00
Marius Stanciu 89d2de48da - added a new feature for Gerber parsing: if the NO buffering is chosen in the Gerber Advanced Preferences there is now a checkbox to activate delayed buffering which will do the buffering in background allowing the user to work in between. I hope that this can be useful in case of large Gerber files. 2020-06-03 04:02:04 +03:00
Marius Stanciu c5c11efeed - minor issue in Paint Tool 2020-06-03 03:18:59 +03:00
Marius Stanciu 86e36d3ca6 - updated Transform Tool to have a selection of possible references for the transformations that are now selectable in the GUI
- Transform Tool - compacted the UI
2020-06-03 02:41:25 +03:00
Marius Stanciu f5c84fdc49 - maintenance_2 2020-06-02 18:29:45 +03:00
Marius 5abb7866d8 - maintenance_1 2020-06-02 18:24:44 +03:00
Marius Stanciu 7f06677791 - replaced the icon for the Editor in Toolbar (both for the normal icons and for icons in dark theme) 2020-06-02 17:53:32 +03:00
Marius Stanciu e239afd69b - fixed some more strings
- updated the Google-translations for the German, Spanish, French
- updated the Romanian translation
2020-06-02 17:39:48 +03:00
Marius Stanciu 4630695c84 - modified behavior of object comboboxes in Paint, NCC and CutOut Tools: now if an object is selected in Project Tab and is of the supported kind in the Tool, it will be auto-selected 2020-06-02 14:30:52 +03:00
Marius Stanciu c56f12c5d8 - updated the translation files to the latest changes 2020-06-02 05:20:28 +03:00
Marius Stanciu 7b4e3b42bf - fixed spacing in the status toolbar icons 2020-06-02 02:37:54 +03:00
Marius Stanciu 5542e62455 - Tcl Command Follow - fixed to work in the new configuration
- Etch Compensation Tool - added a new etchant: alkaline baths
2020-06-02 02:10:38 +03:00
Marius 2624df10bf - Tcl Shell - added a button to delete the content of the active line
- Tcl Command Isolate - fixed to work in the new configuration
2020-06-02 01:36:25 +03:00
Marius Stanciu 6b247ff5e1 - remade visibility as threaded - it seems that I can't really squeeze more performance from this 2020-06-01 23:55:47 +03:00
Marius Stanciu 1b8dd5c76d - changed colors for the status bar labels and added some of the new icons in the gray version 2020-06-01 23:32:11 +03:00
Marius Stanciu 0f04eb1215 - changed the status bar label to have an icon instead of text
- added a label in status bar that will toggle the Preferences tab
- made some changes such that that the label in status bar for toggling the Preferences Tab will be updated in various cases of closing the tab
2020-06-01 23:09:15 +03:00
Marius Stanciu cb5a20fda6 - some fixed due of recent changes and some strings changed
- added a validator for the FCColorEntry GUI element such that only the valid chars are accepted
2020-06-01 21:22:03 +03:00
Marius Stanciu 54407f6e50 - made Progressive plotting work in Isolation Tool
- fix an issue with progressive plotted shapes not being deleted on the end of the job
2020-06-01 20:37:31 +03:00
Marius Stanciu aef1607fd5 - in Preferences replaced the widgets that sets colors with a compound one (from David Robertson) 2020-06-01 19:21:51 +03:00
Marius Stanciu 907de3fa9e - in Preferences replaced some widgets with a new one that combine a Slider with a Spinner (courtesy of David Robertson) 2020-06-01 18:06:12 +03:00
Marius Stanciu 8f20ff0107 - reverted the class methods in AppTool
- added a button for Transformations Tool in the lower side (common) of the Object UI
- some other UI changes
- after using Isolation Tool it will switch automatically to the Geometry UI
2020-06-01 16:17:14 +03:00
Marius Stanciu 57a969afdd - more changes in strings throughout the app
- made some minor changes in the GUI of the FlatCAM Tools
- in Tools Database made sure that each new tool added has a unique name
- in AppTool made some methods to be class methods
2020-06-01 06:16:14 +03:00
Marius Stanciu c1fb0b5cdb - fixed the warning that old preferences found even for new installation
- in Paint Tool fixed the message to select a polygon when using the Selection: Single Polygon being overwritten by the "Grid disabled" message
2020-06-01 03:45:34 +03:00
Marius Stanciu 440d0dde02 - made the Distance Tool display the angle in values between 0 and 359.9999 degrees
- changed some strings
2020-06-01 01:21:53 +03:00
Marius Stanciu 8eee9a9dcf - made last filter selected for open file to be used next time when opening files (for Excellon, GCode and Gerber files, for now) 2020-05-31 03:14:33 +03:00
Marius Stanciu ede90d6775 - structural changes in Preferences from David Robertson 2020-05-31 01:55:11 +03:00
Marius Stanciu 808e1c5875 - fixed NCC Tool behavior when selecting tools for Isolation operation 2020-05-30 23:58:20 +03:00
Marius Stanciu eee6b931c7 - made the Shell Dock always show docked 2020-05-30 21:28:39 +03:00
Marius Stanciu f74379de3e - added a Multi-color checkbox for the Excellon UI (this way colors for each tool are easier to differentiate especially when the diameter is close) 2020-05-30 20:23:47 +03:00
Marius Stanciu 44191a5e07 - optimized the Gerber UI
- added a Multi-color checkbox for the Geometry UI (will color differently tool geometry when the geometry is multitool)
2020-05-30 18:17:40 +03:00
Marius Stanciu d8bf1a8a4e - In Tool Isolation made sure that the use of ESC key while some processes are active will disconnect the mouse events that may be connected, correctly 2020-05-30 17:15:42 +03:00
Marius Stanciu 23ee9c8ad1 - modified the Tool Database such that when a tool shape is selected as 'V' any change in the Vdia or Vangle or CutZ parameters will update the tool diameter value 2020-05-30 15:04:42 +03:00
Marius Stanciu 9eea4f6333 - Isolation Tool: updated the tools dict with the common parameters value on isolating
- Fixed a recent change that made the edited Geometry objects in the Geometry Editor not to be plotted after saving changes
2020-05-30 14:33:02 +03:00
Marius Stanciu 0d57852ec5 - Isolation Tool: removed the tools that have empty geometry in case of rest machining
- Isolation Tool: solved some naming issues
2020-05-30 11:25:18 +03:00
Marius Stanciu 15d94404a7 - made confirmation messages for the values that are modified not to be printed in the Shell
- Isolation Tool: working on the Rest machining: almost there, perhaps I will use multiprocessing
2020-05-30 03:06:47 +03:00
Marius Stanciu 14e6d5f63a - updated the Etch Compensation Tool by adding a new possibility to compensate the lateral etch (manual value)
- updated the Etch Compensation Tool such that the resulting Gerber object will have the apertures attributes ('size', 'width', 'height') updated to the changes
2020-05-29 20:45:03 +03:00
Marius Stanciu ffa063286f - refactored some methods from App class and moved them to plotcanvas (plotcanvaslegacy) class
- added an label with icon in the status bar, clicking it will toggle (show status) of the X-Y axis on cavnas
- optimized the UI, added to status bar an icon to toggle the axis
2020-05-29 18:39:19 +03:00
Marius Stanciu 15ec620cae - overloaded the App inform signal to allow not printing to shell if a second bool parameter is given; modified some GUI messages to use this feature 2020-05-29 14:41:02 +03:00
Marius Stanciu 527c4126b2 - optimized UI in Tool Isolation 2020-05-29 05:59:57 +03:00
Marius Stanciu 8d160a6d8c - clicking on the activity icon will replot all objects 2020-05-29 05:43:21 +03:00
Marius Stanciu 57a3c48f2f - some changes in the UI; added in the status bar an icon to control the Shell Dock 2020-05-29 05:34:53 +03:00
Marius Stanciu 52dbb1aa6d - fixed the Tool Isolation when using the 'follow' parameter
- in Isolation Tool when the Rest machining is checked the combine parameter is set True automatically because the rest machining concept make sense only when all tools are used together
2020-05-29 04:02:09 +03:00
Marius Stanciu 8d16bebf44 - fixed issues in the Tool Subtract
- remade Tool Subtract to use multiprocessing when processing geometry
- the resulting Gerber file from Tool Subtract has now the attribute source_file populated
2020-05-29 00:50:19 +03:00
Marius Stanciu 8e687c5054 - fixed some issues related to using the new Numerical... GUI elements 2020-05-28 04:22:46 +03:00
Marius Stanciu 5d813c1224 - updated the Tool Database class to have the Isolation Tool data
- Isolation Tool - made to work the adding of tools from database
2020-05-28 02:40:25 +03:00
Marius Stanciu b106081311 - made the visibility change (when using the Spacebar key in Project Tab) to be not threaded and to use the enabled property of the ShapesCollection which should be faster 2020-05-28 01:54:33 +03:00
Marius Stanciu 90eb581a34 - working on Isolation Tool: made to work the Isolation with multiple tools without rest machining 2020-05-27 05:11:54 +03:00
Marius Stanciu 66ceb5a360 - minor UI changes 2020-05-27 00:36:10 +03:00
Marius Stanciu c27a2d29e7 - all tuple entries in the Preferences UI are now protected against letter entry
- all entries in the Preferences UI that have numerical entry are protected now against letters
- cleaned the Preferences UI in the Gerber area
2020-05-27 00:27:10 +03:00
Marius dbd1098329 - working on Isolation Tool: added a Preferences section in Edit -> Preferences and updated their usage within the Isolation tool 2020-05-26 17:21:49 +03:00
Marius Stanciu 2084db5d22 - made the Project Tree items not editable by clicking on selected Tree items (the object rename can still be done in the Selected tab) 2020-05-26 00:58:06 +03:00
Marius Stanciu d2cdd55164 - working on Isolation Tool: made to work the tool parameters data to GUI and GUI to data
- Isolation Tool: reworked the GUI
- if there is a Gerber object selected then in Isolation Tool the Gerber object combobox will show that object name as current
2020-05-26 00:46:28 +03:00
Marius Stanciu 9fc3113459 - added a dialog in Menu -> Help -> ReadMe? 2020-05-25 21:50:49 +03:00
Marius Stanciu 43d8734a8a - created a new tool: Isolation Routing Tool: work in progress
- some fixes in NCC Tool
2020-05-25 20:05:41 +03:00
Marius Stanciu ee845e7571 - changed and added some icons
- fixed the Shortcuts Tab to reflect the actual current shortcut keys
- started to work on moving the Isolation Routing from the Gerber Object UI to it's own tool
2020-05-25 16:02:48 +03:00
Marius Stanciu 1a4fa4317a - added a Toggle All checkbox to Corner Markers Tool
- added an Icon to the MessageBox that asks for saving if the user try to close the app and there is some unsaved work
2020-05-25 04:46:03 +03:00
Marius Stanciu 1b1dd23082 - modified the Etch Compensation Tool and added conversion utilities from Oz thickenss and mils to microns 2020-05-25 04:16:42 +03:00
Marius Stanciu 5f81d415a0 - updated the GUI fields for the Scale and Offset in the Object UI to allow only numeric values and operators in the list [/,*,+,-], spaces, dots and comma 2020-05-25 03:37:34 +03:00
Marius Stanciu 84ffa68cb0 - fixed a small bug in the Geometry UI that made updating the storage from GUI not to work
- some small changes in Gerber Editor
2020-05-25 03:00:19 +03:00
Marius Stanciu 2623bb0a65 - updated the Gerber parser such that it will parse correctly Gerber files that have only one solid polygon inside with multiple clear polygons (like those generated by the Invert Tool) 2020-05-25 00:37:54 +03:00
Marius Stanciu a6bdf04937 - fixed unreliable work of Gerber Editor and optimized the App.editor2object() method 2020-05-24 23:03:27 +03:00
Marius Stanciu 8165c797a4 - changes some icons
- added a new GUI element which is a evaluated LineEdit that accepts only float numbers and /,*,+,-,% chars
- finished the Etch Compensation Tool
2020-05-24 04:22:49 +03:00
Marius Stanciu 34b82286ca - fixed a issue when testing for Exclusion areas overlap over the Geometry object solid_geometry 2020-05-23 04:46:50 +03:00
Marius Stanciu 2e8d5b3b96 - added the Exclusion zones processing to Geometry GCode generation 2020-05-23 04:32:57 +03:00
Marius Stanciu 48fbc10f6d - fixed the algorithm for calculating closest points in the Exclusion areas 2020-05-22 22:48:11 +03:00
Marius Stanciu 51c9023bbe - added the Exclusion zones processing to Excellon GCode generation
- fixed a non frequent plotting problem for CNCJob objects made out of Excellon objects
2020-05-21 21:49:48 +03:00
Marius Stanciu facbdf0fd7 - updated all the language strings to the latest changes; updated the POT file
- fixed a possible malfunction in Tool Punch Gerber
2020-05-19 02:28:06 +03:00
Marius Stanciu 7c0d2fb292 - updated the Italian language (translation incomplete) 2020-05-19 02:06:56 +03:00
Marius Stanciu c2690abcf4 - fixed issue #417 2020-05-19 00:27:24 +03:00