Commit Graph

150 Commits

Author SHA1 Message Date
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 d5c02e2cdb - small change in the CNCJob UI by replacing the AL checkbox with a checkable QButton
- disabled the Autolevelling feature in CNCJob due of being not finished and missing also a not-yet-released package: Shapely v 1.8
2020-10-22 19:49:19 +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 8ba202a79c - optimized FlatCAMObj.add_properties_items() method 2020-10-21 22:17:23 +03:00
Marius Stanciu 14240e9af7 - added a button in Excellon UI that will hide/show the milling section
- optimized a bit the UI for Gerber/Excellon/Geometry objects
2020-10-21 21:42:31 +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 1a286cbf7e - added some strings to the translatable strings and updated the translation strings 2020-10-21 16:07:21 +03:00
Marius Stanciu 265028de76 - added the exclusion parameters for Drilling Tool to the Preferences area 2020-10-21 13:27:03 +03:00
Marius Stanciu 261adbb861 - fixed crash on using shortcut for creating a new Document Object 2020-10-21 12:57:29 +03:00
Marius Stanciu ed26aead0c - made the Properties checkbox in the Object UI into a checkable button and added to it an icon 2020-10-21 12:16:17 +03:00
Marius Stanciu c5baf10847 - some strings changed 2020-10-21 11:56:24 +03:00
Marius Stanciu 35328c2a81 - In Excellon Object UI fixed the enable/disable for the Milling section according to the Tools Table row that is selected
- In Excellon Object UI fixed the miiling geometry generation
- updated th translations strings to the changes in the source code
2020-10-21 11:40:27 +03:00
Marius Stanciu af85764730 - finished to add the Properties data to the Object Properties (former Selected Tab) 2020-10-20 18:11:12 +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 13d4192124 - fixed issue with calling the inform signal in the FlatCAMDefaults.load method
- fixed macro parsing in Gerber files generated by KiCAD 4.99 (KiCAD 5.0)
2020-10-18 22:06:06 +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 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 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 743885cf0f - in CNCJob UI Autolevelling: changed the UI a bit
- added a bilinear interpolation calculation class from: https://github.com/pmav99/interpolation
- in CNCJob UI Autolevelling: made sure that the grid can't have less than 2 rows and 2 columns when using the bilinear interpolation or 1 row and 1 column when using the Voronoi polygons
2020-09-03 03:45:58 +03:00
Marius Stanciu 06c526db39 - in CNCJob UI Autolevelling - GRBL controller - added a way to save a GRBL height map
- in CNCJob UI Autolevelling: added the UI for choosing the method used for the interpolation used in autolevelling
2020-09-03 00: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 66fcec49cc - in Gerber UI done some optimizations 2020-08-27 00:56:55 +03:00
Marius Stanciu f8eba0084d - in CNCJob UI Autolevelling - GRBL controller - added the probing method 2020-08-24 02:13:13 +03:00
Marius Stanciu 01df27f45f - fixed issues in units conversion
- in CNCJob UI Autolevelling - changed how the probing code is generated and when
- changed some strings in CNCJob UI Autolevelling
2020-08-24 00:51:07 +03:00
Marius Stanciu 3430d86dba - in GUI element FCDoubleSpinner fixed an range issue 2020-08-23 16:57:59 +03:00
Marius Stanciu 26ac43bd2e - in CNCJob UI Autolevelling - autolevelling is made to be not available for cnc code generated with Roland or HPGL preprocessors
- in CNCJob UI Autolevelling - added a save dialog for the probing GCode
- added a new GUI element, a DoubleSlider
- in CNCJob UI Autolevelling - GRBL controller - Control: trying to add DoubleSlider + DoubleSpinner combo controls
2020-08-23 15:20:12 +03:00
Marius Stanciu 5c960debf5 - CNCJob UI - Autoleveller feature - added a StyleSheet for the Pause/resume button 2020-08-22 03:54:07 +03:00
Marius Stanciu 2deba3a8f9 - in CNCJob UI Autolevelling - GRBL controller - added handlers for the Zeroing and for Homing and for Pause/Resume; some UI optimizations 2020-08-22 03:34:45 +03:00
Marius Stanciu 1b31abeb62 - in CNCJob UI Autolevelling - GRBL controller - Control: added a Origin button; changed the UI to have rounded rectangles
- in CNCJob UI Autolevelling - GRBL controller - Control: added feedrate and step size controls and added them in Preferences
2020-08-21 18:08:40 +03:00
Marius Stanciu a75e7e5cf8 - in CNCJob UI Autolevelling - GRBL Sender - now only a single command can be sent
- in CNCJob UI Autolevelling - GRBL controller - changed the UI
- in CNCJob UI Autolevelling - added some VOronoi poly calculations
2020-08-19 17:20:05 +03:00
Marius Stanciu d62793c9bd - in CNCJob UI Autolevelling - GRBL Control and Sender tabs are disabled when the serial port is disconnected 2020-08-19 04:44:50 +03:00
Marius Stanciu 7285ee0b82 - in CNCJob UI Autolevelling - Grbl Connect tab colors will change with the connection status 2020-08-19 04:36:46 +03:00
Marius Stanciu 3afcabe559 - in CNCJob UI Autolevelling - added handlers for GRBL report and for getting GRBL parameters 2020-08-19 03:44:16 +03:00
Marius Stanciu 56ac489466 - in CNCJob UI Autolevelling - added handlers for: jogging, reset, sending commands 2020-08-19 02:26:35 +03:00
Marius Stanciu bdb0e71425 - in CNCJob UI Autolevelling - in COntrol section added buttons for Jog an individual axes zeroing 2020-08-18 17:51:25 +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 85a0d3da9f - in CNCJob UI Autolevelling - GRBL GUI controls are now organized in a tab widget 2020-08-17 15:50:51 +03:00
Marius Stanciu 495947f8c5 - in CNCJob UI Autolevelling - made autolevelling checkbox state persistent between app restarts 2020-08-17 02:31:51 +03:00
Marius Stanciu 3ef47da370 - in CNCJob UI Autolevelling - Added entries in Preferences 2020-08-17 00:40:45 +03:00
Marius Stanciu fd895e3c21 - in CNCJob UI Autolevelling - updated the UI with controls for probing GCode parameters and added signals and slots for the UI
- in CNCJob UI Autolevelling - added a mini gcode sender for the GRBL to be able to send the probing GCode and get the height map (I may make a small and light app for that so it does not need to have FlatCAM on the GCode sender PC)
- in CNCJob UI Autolevelling finished the probing GCode generation for MACH/LinuxCNC controllers; this GCode can also be viewed
2020-08-16 23:05:31 +03:00
Marius Stanciu 5af8918441 - in CNCJob UI worked on the UI for the Autolevelling
- in CNCJob UI finished working on adding test points in Grid mode
2020-08-14 12:46:27 +03:00
Marius Stanciu 298976f32e - CNCJob object - working in generating Voronoi diagram for autolevelling 2020-08-14 02:03:03 +03:00
Marius Stanciu daf66ae58c - in CNCJob UI updated the GUI for Autolevelling 2020-08-13 17:32:54 +03:00
Marius Stanciu fff0d6efc1 - in CNCJob UI added GUI for an eventual Autolevelling feature 2020-08-13 15:13:07 +03:00
Marius Stanciu e4852292b7 - removed the Toolchange Macro feature (in the future it will be replaced by full preprocessor customization)
- modified GUI in Preferences
2020-08-04 13:33:58 +03:00
Marius Stanciu eb28d28ea2 - GCode Editor - modified the UI 2020-08-03 23:20:41 +03:00
Marius Stanciu ffda89f949 - GCode Editor - can not delete objects while in the Editor; can not close the Code Editor Tab except on Editor exit; activated the shortcut keys (for now only CTRL+S is working) 2020-08-03 22:01:42 +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 9e8ab610b4 - working on a proper GCode Editor 2020-07-22 15:49:52 +03:00
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 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 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 a041d27c4b - minor change in strings 2020-07-15 21:19:11 +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 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 5badd7a26b - Gerber UI - optimized the mark shapes to use only on ShapeCollection 2020-07-14 14:20:19 +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 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 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 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 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 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 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 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 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 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 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 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 e4aafdba9b - minor string change 2020-06-13 20:55:52 +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 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 ee4b765225 - finished tool reordering in Geometry UI 2020-06-12 04:47:08 +03:00
Marius Stanciu 7f082760bb - working on the tool reordering in the Geometry UI 2020-06-10 10:25:48 +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 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 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 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 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 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