Commit Graph

258 Commits

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