Commit Graph

300 Commits

Author SHA1 Message Date
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