Commit Graph

54 Commits

Author SHA1 Message Date
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 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 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 5badd7a26b - Gerber UI - optimized the mark shapes to use only on ShapeCollection 2020-07-14 14:20:19 +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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 d61ca10e75 - more refactoring; solved some issues introduced by the refactoring 2020-05-18 18:45:53 +03:00
Marius Stanciu 710a84b442 - more refactoring class names
- moved some of the methods from the App class to the ObjectCollection class
2020-05-18 16:39:26 +03:00
Marius Stanciu ba3f10d355 - renamed classes to have shorter names and grouped 2020-05-18 16:02:41 +03:00
Marius Stanciu 28f0c9c276 - added new FlatCAM Tool: Corner Markers Tool which will add line markers in the selected corners of the bounding box of the targeted Gerber object 2020-05-17 03:27:26 +03:00
Marius Stanciu 46367c433f - removed the labels in status bar that display X,Y positions and replaced it with a HUD display on canvas (combo key SHIFT+H) will toggle the display of the HUD
- made the HUD work in Legacy2D mode
- fixed situation when the mouse cursor is outside of the canvas and no therefore returning None values
2020-05-11 07:29:46 +03:00
Marius Stanciu 484fb51bf0 - added a parameter to the FlatCAMDefaults class, whenever a value in the self.defaults dict change it will call a callback function and send to it the modified key
- optimized and fixed some issues in the self.on_toggle_units() method
- the Exclusion areas will have all the orange color but the color of the outline will differ according to the type of the object from where it was added (cosmetic use only as the Exclusion areas will be applied globally)
2020-05-08 01:41:40 +03:00
Marius Stanciu eea80aafc3 - added the ability to add exclusion areas from the Excellon object too. Now there is a different in color to differentiate from which type of object the exclusion areas were added but they all serve the same purpose 2020-05-07 01:38:08 +03:00
Marius Stanciu 2da0853b23 - working on a new feature: adding interdiction area for Gcode generation. They will be added in the Geometry Object 2020-05-02 22:53:48 +03:00
Marius Stanciu 37c6bb2c61 - solve parenting issues when trying to load a FlatScript from Menu -> File -> Scripting
- added a first new example script and added some files to work with
- added a new parameter that will store the home folder of the FlatCAM installation so we can access the example folder
2020-05-01 17:10:42 +03:00
Marius Stanciu a233d49bd9 - fixed units conversion issue
- updated the units conversion method to convert all the convertible parameters in the Preferences
2020-04-29 19:05:18 +03:00
Marius Stanciu c9f6c7efcb - fixed a SyntaxError Exception when checking for types of found old preferences 2020-04-29 12:57:39 +03:00
Marius Stanciu a5384d50d8 - more PEP8 changes
- in PreferencesUI.PreferencesUIManager class I removed the need to pass reference to the App class since it this was available through the 'ui' parameter
- some fixes due to recent refactoring
- minor bugs fixed (not so visible)
- promoted some methods to be static
- set the default layout on first run to the 'minimal' value
2020-04-29 10:09:07 +03:00
David Robertson db37714025 Merge branch 'Beta' of https://bitbucket.org/jpcgt/flatcam into extract-prefs-code-from-app-class 2020-04-29 02:57:17 +01:00
David Robertson a05c174ec8 Fix some things that I broke and further cleanup 2020-04-29 02:46:52 +01:00
David Robertson 72c2dd5f26 Working on extracting the prefs UI code from the App class 2020-04-29 01:49:34 +01:00
David Robertson 89c384766a Apply defaults loading fix 2020-04-29 00:07:38 +01:00