Commit Graph

253 Commits

Author SHA1 Message Date
Marius Stanciu 228dcfdac1 - QRCode Tool: shortcut key for this tool is now ALT+Q while PDF import Tool was relegated to CTRL+Q combo key shortcut 2019-10-25 16:32:10 +03:00
Marius Stanciu dfb8d21d1c - QRCode Tool: added ability to add negative QRCodes (perhaps they can be isolated on copper?); added a clear area surrounding the QRCode in case it is dropped on a copper pour (region); fixed the Gerber export
- QRCode Tool: all parameters are hard-coded for now
2019-10-25 01:20:52 +03:00
Marius Stanciu bf670d7967 - start working on QRCode Tool - not working yet 2019-10-22 17:32:33 +03:00
Marius Stanciu 3ca4ab72d7 - started to work to a new tool: Calibrate Excellon Tool 2019-10-20 05:25:54 +03:00
Marius Stanciu db31b057a1 - updated the new objects icons for Gerber, Geometry and Excellon
- RELEASE 8.98
2019-10-19 15:28:57 +03:00
Marius Stanciu b058f65108 - finished the Objects menu by adding the ability of actions to be checked so they will show the selected status of the objects and by adding to actions to (de)select all objects
- fixed and optimized the click selection on canvas
- fixed Gerber parsing for very simple Gerber files that have only one Polygon but many LPC zones
2019-10-19 00:29:29 +03:00
Marius Stanciu 9285da8443 - finished the update on German translation. Part of it was corrected by Jens Karstedt 2019-10-18 15:52:45 +03:00
Marius Stanciu 3a8799b859 - changed the Panelize tool icon
- corrected some strings
2019-10-16 04:24:02 +03:00
Marius Stanciu 313acd0a25 - replaced some of the icons that did not looked Ok on the dark theme
- added a new toolbar button for the Copy object functionality
2019-10-16 04:13:12 +03:00
Marius Stanciu dfc0b98181 - fixed bug in Panelization Tool for which in case of Excellon objects, the panel kept a reference to the source object which created issues when moving or disabling/enabling the plots
- cleaned up the module imports throughout the app (the TclCommands are not yet verified)
2019-10-16 02:28:18 +03:00
Marius Stanciu dff5b262eb - added a secondary link in the bookmark manager
- fixed the bookmark manager order of bookmark links; first two links are always protected from deletion or drag-and-drop to other positions
2019-10-15 01:05:27 +03:00
Marius Stanciu b00c1018e4 - enhanced the Tool Film adding the Film adjustments and added the GUI in Preferences
- set the GUI layout in Preferences for a new category named Tools 2
2019-10-13 18:13:39 +03:00
Marius Stanciu 168f4a7646 - fixed the Export PNG function when using the 2D legacy graphic engine
- added a new capability to toggle the grid lines for both graphic engines: menu link in View and key shortcut combo ALT+G
2019-10-13 06:53:16 +03:00
Marius Stanciu 78721590e0 - fixed a bug in NCC Tool and start trying to make the App responsive while the NCC tool is run in a non-threaded way
- fixed a GUI bug with the QMenuBar recently introduced
2019-10-12 19:57:05 +03:00
Marius Stanciu 1ad7b7716b - modified the Bookmark manager to be installed as a widget tab in Plot Area; fixed the drag & drop function for the table rows that have CellWidgets inside
- marked in gray color the rows in the Bookmark Manager table that will populate the BookMark menu
- made sure that only one instance of the BookmarkManager class is active at one time
2019-10-12 01:35:25 +03:00
Marius Stanciu 2ea45c5d58 - added a Bookmark Manager and a Bookmark menu in the Help Menu
- added an initial support for rows drag and drop in FCTable in GUIElements; it crashes for CellWidgets for now, if CellWidgetsare in the table rows
2019-10-11 17:43:04 +03:00
Marius Stanciu da09202f5f - added a new tool in the Geometry Editor named Explode which is the opposite of Union Tool: it will explode the polygons into lines 2019-10-06 01:32:21 +03:00
Marius Stanciu 9e83528448 - added the Distance Tool, Distance Min Tool, Jump To and Set Origin functions to the Edit Toolbar 2019-10-04 23:47:42 +03:00
Marius Stanciu f06888e4fb - added a Toggle Notebook button named 'NB' in the QMenBar which toggle the notebook 2019-10-04 17:44:12 +03:00
Marius Stanciu 55fdd59b94 - added a new menu category in the MenuBar named 'Objects'. It will hold the objects found in the Project tab. Useful when working in FullScreen 2019-10-04 17:18:07 +03:00
Marius Stanciu 6d2ed26e0e - small GUI changes in Optimal Tool and in Film Tool
- some PEP8 corrections
- some code annotations to make it easier to navigate in the FlatCAMGUI.py
- fixed exit FullScreen with Escape key
2019-10-04 15:24:38 +03:00
Marius Stanciu fb0edc6c18 - added more editing features in the Selected Tab for the FlatCAMDocument object 2019-10-03 21:44:37 +03:00
Marius Stanciu 1d2c046ecc - changes for the Document object 2019-10-03 17:15:21 +03:00
Marius Stanciu 83f229ed9e - fixed bug in Geometry Editor that did not allow the copy of geometric elements
- created a new class that holds all the Code Editor functionality and integrated as a Editor in FlatCAM, the location is in flatcamEditors folder
- remade all the functions for view_source, scripts and view_code to use the new TextEditor class; now all the Code Editor tabs are being kept alive, before only one could be in an open state
2019-10-02 05:47:18 +03:00
Marius Stanciu d3cad737cc - modified the Distance Tool such that the numbe of decimals all over the tool is set in one place by the self.decimals
- added a new tool named Minimum Distance Tool who will calculate the minimum distance between two objects; key shortcut: SHIFT + M
- finished the Minimum Distance Tool in case of using it at the object level (not in Editors)
2019-09-30 03:02:04 +03:00
Marius Stanciu bacb8a7184 - changed the name of the Measurement Tool to Distance Tool. Moved it's location to the Edit Menu
- added Angle parameter which is continuously updated to the Distance Tool
2019-09-29 05:13:36 +03:00
Marius Stanciu 161dbdcb2d - fixed the ToolMeasurement geometry not being displayed 2019-09-28 04:23:10 +03:00
Marius Stanciu a2bef40097 - added a new tool named "Optimal Tool" which will determine the minimum distance between the copper features for a Gerber object, in fact determining the maximum diameter for a isolation tool that can be used for a complete isolation 2019-09-28 03:51:39 +03:00
Marius Stanciu c5ecc7ad88 - created the GUI for the Rule Check Tool
- if there are (x, y) coordinates in the clipboard, when launching the "Jump to" function, those coordinates will be preloaded in the Dialog box.
- when the combo SHIFT + LMB is executed there is no longer a deselection of objects
- when the "Jump to" function is called, the mouse cursor (if active) will be moved to the new position and the screen position labels will be updated accordingly
- changed the icon for Open Script and reused it for the Check Rules Tool
2019-09-28 00:34:18 +03:00
Marius Stanciu 9c8c36adbb - optimized the toggle grid command 2019-09-27 01:15:29 +03:00
Marius Stanciu 0f91d4dff0 - added a Copy All button in the Code Editor, clicking this button will copy all text in the editor to the clipboard
- added a 'Milling Type' radio button in Geometry Editor Preferences to contorl the type of geometry will be generated in the Geo Editor (for conventional milling or for the climb milling)
- added the functionality to allow climb/conventional milling selection for the geometry created in the Geometry Editor
- now any Geometry that is edited in Geometry editor will have coordinates ordered such that the resulting Gcode will allow the selected milling type in the 'Milling Type' radio button in Geometry Editor Preferences (which depends also of the spindle direction)
- some strings update
- French Google-translation at 100%
- German Google-translation update to 100%
2019-09-26 17:46:25 +03:00
Marius Stanciu 3941544558 - in legacy graphic engine fixed the axis toggle
- French Google-translation at 48%
2019-09-25 17:25:46 +03:00
Marius Stanciu b5e9997713 - in legacy graphic engine, fixed issue with Delete shortcut key trying to delete twice 2019-09-23 17:52:34 +03:00
Marius Stanciu 03dd0ee8b6 - fixed CutOut Tool to work in legacy graphic engine 2019-09-22 02:52:40 +03:00
Marius Stanciu bc6dc3decf - fixed CNCJob and Excellon plotting in legacy graphic engine
- in legacy graphic engine fixed the travel vs cut lines in CNCJob objects
- final fix for key shortcuts with modifier in legacy graphic engine
- refactored some of the code in the legacy graphic engine
2019-09-21 18:26:03 +03:00
Marius Stanciu 011e80c0ce - legacy graphic engine - made the mouse events work (click, release, doubleclick, dragging)
- legacy graphic engine - made the key events work (simple or with modifiers)
- legacy graphic engine - made the mouse cursor work (enabled/disabled, position report); snapping is not moving the cursor yet
2019-09-20 17:25:32 +03:00
Marius Stanciu fc1674ebc4 - moved all the GUI Preferences classes into it's own file flatcamGUI.PreferencesUI.py 2019-09-19 23:30:15 +03:00
Marius Stanciu 26f34382bd - changed the script icon to a smaller one in the sys tray menu 2019-09-19 21:35:31 +03:00
Marius Stanciu 1e49c23e8f - added new control in Edit -> Preferences -> General -> Gui Preferences -> Activity Icon. Will select a GIF from a selection, the one used to show that FlatCAM is working. 2019-09-19 21:14:47 +03:00
Marius Stanciu 1d26247fc4 - FlatCAM can be run in HEADLESS mode now. This node can be selected by using the --headless=1 command line argument or by changing the line headless=False to True in config/configuration.txt file. In this mod the Sys Tray Icon menu will hold only the Run Scrip menu entry and Exit entry. 2019-09-19 03:55:47 +03:00
Marius Stanciu a27dcbdc77 - made sure that if FlatCAM is registered with a file extension that it does not recognize it will exit
- added some fixes in the the file extension detection
- added some status messages for the Tcl script related methods
- made sure that optionally, when a script is run then it is also loaded into the code editor
- added control over the display of Sys Tray Icon in Edit -> Preferences -> General -> GUI Settings -> Sys Tray Icon checkbox
2019-09-19 02:00:59 +03:00
Marius Stanciu 04b3b8585f - added option to run a script from the context menu of the sys tray icon. Changed the color of the sys tray icon to a green one so it will be visible on light and dark themes 2019-09-18 18:27:28 +03:00
Marius Stanciu 2f9ad61819 - fixed issue with the sys tray icon not hiding after application close 2019-09-18 15:22:45 +03:00
Marius Stanciu cf0e40c318 - added possibility to edit the custom keywords used by the autocompleter (in Tcl Shell and in the Code Editor). It is done in the Edit -> Preferences -> Utilities
- added a new setting in Edit -> Preferences -> General -> GUI Settings -> Textbox Font which control the font on the texbox GUI elements
2019-09-18 14:30:09 +03:00
Marius Stanciu 31e111ebb3 - added sys tray menu 2019-09-18 03:37:38 +03:00
Marius Stanciu 8958ef8007 - fixed the --shellvar and --shellfile FlatCAM arguments to work together but the --shellvar has precedence over --shellfile as it is most likely that whatever variable set by --shellvar will be used in the script file run by --shellfile 2019-09-18 01:58:15 +03:00
Marius Stanciu 9187004f9e - added more programmers that contributed to FlatCAM over the years, in the "About FlatCAM" -> Programmers window 2019-09-17 01:21:14 +03:00
Marius Stanciu f51a3fa038 - made the splashscreen to be showed on the current monitor on systems with multiple monitors
- added a new entry in Menu -> View -> Redraw All which is doing what the name says: redraw all loaded objects
- fixed issue where in TCl Shell the Windows paths were not understood due of backslash symbol understood as escape symbol instead of path separator
- made sure that in for the TclCommand cncjob and for the drillcncjob if one of the args is stated but no value then the value used will be the default one
- made available the TSA algorithm for drill path optimization when the used OS is 64bit. When used OS is 32bit the only available algorithm is TSA
2019-09-16 23:27:02 +03:00
Camellan f71e6992a1 Merged in camellan/flatcam/Beta (pull request #205)
Beta
2019-09-16 17:33:53 +00:00
Marius Stanciu 97b6e26fae - added new links in Menu -> Help (Excellon, Gerber specifications and a Report Bug) 2019-09-16 18:38:15 +03:00
Marius Stanciu 727cee7aec - fixed some issues recently introduced in the TclCommands CNCJob, DrillCNCJob adn write_gcode; changed some parameters names 2019-09-16 17:20:56 +03:00
Marius Stanciu be4d4387f4 - more GUI optimizations related to being part of the Advanced category or not
- added possibility to change the positive SVG exported file color in Tool Film
2019-09-16 16:04:47 +03:00
Marius Stanciu 846e68a8c2 - some GUI optimizations 2019-09-16 05:22:07 +03:00
camellan 1fb70b4672 Edit About page. Edit Russian translation. Edit pot. 2019-09-15 20:52:19 +04:00
Marius Stanciu 0e75352266 - made optional the behavior of Excellon Export values following the values in the Excellon Loading section 2019-09-14 15:33:50 +03:00
Marius Stanciu 1ab16f2d6f - fixed the layouts to include toolbars breaks where it was needed 2019-09-14 13:41:15 +03:00
Marius Stanciu 0a005cfe40 - minor changes in the Code Editor GUI
- minor changes in the 'FlatCAM About' GUI
- added a new shortcut key F5 for doing the 'Plot All'
2019-09-14 11:53:08 +03:00
Marius Stanciu e82bc22caf - more string changes
- updated translation files
2019-09-14 02:14:26 +03:00
Marius Stanciu 56799a35b7 - added a new way to handle scripts with repeating Tcl commands
- added new buttons in the Tools toolbar for running, opening and adding new scripts
2019-09-13 22:47:38 +03:00
Marius Stanciu f6cd63021e - fixed some of the strings that were left in the old way
- updated the POT file
- updated Romanian language partially
2019-09-13 18:27:00 +03:00
Marius Stanciu 6ea9b80ad6 - converted the big strings that hold the shortcut keys descriptions to smaller string to make translations easier 2019-09-13 17:05:13 +03:00
Marius Stanciu 19444fb28c - upgraded the Script Editor to be able to run Tcl commands in batches
- added some ToolTips for the buttons in the Code Editor
2019-09-13 13:52:55 +03:00
Marius Stanciu 67808466d6 - added control for simplification when loading a Gerber file in Preferences -> Gerber -> Gerber General -> Simplify 2019-09-13 02:08:26 +03:00
Marius Stanciu 7ad03f9f0a - remade the splash screen to show multiple messages on app initialization
- added a new splash image
- added a control in Preferences -> General -> GUI Settings -> Splash Screen that control if the splash screen is shown at startup
2019-09-13 01:24:54 +03:00
Marius Stanciu 295cba8539 - started to add an application splash screen 2019-09-12 17:57:16 +03:00
Marius Stanciu d22592e64c - small changes in the TclCommands: MillDrills, MillSlots, DrillCNCJob: the new parameter for tolerance is now named: tooldia
- cleaned up the 'About FlatCAM' window, started to give credits for the translation team
2019-09-12 17:28:56 +03:00
Marius Stanciu e7493a350f - updated code in self.on_view_source() to make it more responsive 2019-09-11 06:55:17 +03:00
Marius Stanciu 59704a6e01 - fixed issue when loading unbuffered a Gerber file that has negative regions
- fixed Panelize Tool to save the aperture geometries into the panel apertures. Also made the tool faster by removing the buffering at the end of the job
- modified FlatCAMEditor's files to the new string format that will allow easier translations
- updated POT file and the Romanian translation
2019-09-10 03:20:14 +03:00
Marius Stanciu f38dab80e3 - added for NCC Tool and Paint Tool a setting in the Preferences -> Tools --> (NCC Tool/ Paint Tool) that can set a progressive plotting (plot shapes as they are processed) 2019-09-09 05:14:44 +03:00
Marius Stanciu 198e055328 - added a setting in Preferences -> Gerber -> Gerber General named Buffering. If set to 'no' the Gerber objects load a lot more faster (perhaps 10 times faster than when set to 'full') but the visual look is not so great as all the aperture polygons can be seen 2019-09-09 02:41:14 +03:00
Marius Stanciu bdbe0f59f0 - modified the on_about() message 2019-09-07 20:10:09 +03:00
Marius Stanciu 97024ed643 - corrected some issues and made Move Tool to show correctly when it is moving and when it is offsetting the objects position 2019-09-07 18:41:48 +03:00
Marius Stanciu 5d854a6f1b - added a method to gracefully exit from threaded tasks and implemented it for the NCC Tool and for the Paint Tool
- modified the on_about() function to reflect the reality in 2019 - FlatCAM it is an Open Source contributed software
2019-09-07 09:16:32 +03:00
Marius Stanciu eb7584b649 - hidden the configuration for G91 coordinates due of deciding to leave this development for another time; it require too much refactoring
- added some messages for the G-code generation so the user know in which stage the process is
2019-09-05 20:36:02 +03:00
Marius Stanciu a2a3f1c1ed - added support for G91 coordinates
- working in plotting the CNCjob generated with G91 coordinates
2019-09-04 17:41:17 +03:00
Marius Stanciu 7ff8d893c0 - in NCC tool there is now a depth of cut parameter named 'Cut Z' which will dictate how deep the tool will enter into the PCB material
- in NCC tool added possibility to choose between the type of tools to be used and when V-shape is used then the tool diameter is calculated from the desired depth of cut and from the V-tip parameters
2019-09-03 01:13:03 +03:00
Marius Stanciu 60512f09a7 - in Properties Tool made threaded the calculation of convex_hull area and to work for multi-geo objects
- in NCC tool the type of tool that is used is transferred to the Geometry object
- in NCC tool the type of isolation done with the tools selected as isolation tools can now be selected and it has also an Edit -> Preferences entry
2019-09-02 21:39:46 +03:00
Marius Stanciu 4b7115ca59 - added formatting for some strings in the app strings, making the future translations easier 2019-09-02 13:24:04 +03:00
Marius Stanciu 9a8fa1ac4c - added support for file associations with FlatCAM, for Windows 2019-08-26 05:35:18 +03:00
Marius Stanciu 4ca15b486b - modified the way key modifiers are detected in Gerber Editor Selection class and in Excellon Editor Selection class
- updated the translations
2019-08-23 23:54:13 +03:00
Marius Stanciu e35cf7f02c - fixed the issue with GUI entries content being deselected on right click in the box in order to copy the value 2019-08-23 21:01:23 +03:00
Marius Stanciu f087c242f3 - in Tool Cutout tool I've added the possibility to create a cutout without bridge gaps; added the 'None' option in the Gaps combobox 2019-08-23 02:38:42 +03:00
Marius Stanciu c2991b969b - moved the canvas setup into it's own function and called it in the init() function 2019-08-22 17:23:39 +03:00
Marius Stanciu bd8f607b32 - added possibility to turn application portable from the Edit -> Preferences -> General -> App. Preferences -> Portable checkbox 2019-08-22 02:53:18 +03:00
Marius Stanciu 47cd3dd043 - in NCC Tool added area selection feature 2019-08-21 03:24:38 +03:00
Marius Stanciu 50210820e2 - added feature in Paint Tool allowing the painting to be done on Gerber objects
- added feature in Paint Tool to set how (and if) the tools are sorted
- added Edit -> Preferences GUI entries for the above just added features
2019-08-21 02:13:10 +03:00
Marius Stanciu 5cc16a03db - updated the Edit -> Preferences to include also the Gerber Editor complete Preferences
- started to update the app strings to make it easier for future translations
2019-08-19 17:24:56 +03:00
Marius Stanciu c2563b4857 - added ability to lock toolbars within the context menu that is popped up on any toolbars right mouse click. The value is saved in QSettings and it is persistent between application startup's. 2019-08-18 19:35:21 +03:00
Marius Stanciu 36586aecce - finished adding in Paint Tool the usage of an external object to set the extent of th area painted. For simple shapes (single Polygon) the shape can be anything, for the rest will be a convex hull of the reference object
- modified NCC tool so for simple objects (single Polygon) the external object used as reference can have any shape, for the other types of objects the copper cleared area will be the convex hull of the reference object
- modified the strings of the app wherever they contained the char seq <b> </b> so it is not included in the translated string
2019-08-18 14:17:46 +03:00
Marius Stanciu 1fca6ef1bf - added possibility to drag & drop FlatCAM config files (*.FlatConfig) into the canvas to be opened into the application 2019-08-18 03:11:19 +03:00
Marius Stanciu 531beb1d97 - in NCC Tool added a new parameter (radio button) that offer the choice on the order of the tools both in tools table and in execution of engraving; added as a parameter also in Edit -> Preferences -> Tools -> NCC Tool 2019-08-18 03:03:18 +03:00
Marius Stanciu 9e7d81d61b - added new menu category in File -> Backup with two menu entries that duplicate the functions of the export/import preferences buttons from the bottom of the Preferences window 2019-08-16 18:52:06 +03:00
Marius Stanciu c886e3300c - added the Slot Type parameter for exporting Excellon in Edit -> Preferences -> Excellon -> Export Excellon. Now the Excellon object can be exported also with drilled slot command G85
- fixed bug in Excellon export when there are no zero suppression (coordinates with decimals)
2019-08-16 00:44:04 +03:00
Marius Stanciu ca8a12610e - fixed the GUI for Slot Arrays in Excellon Editor
- finished the Slot Array tool in Excellon Editor
- added the key shortcut handlers for Add Slot and Add Slot Array tools in Excellon Editor
- started to work on the Resize tool for the case of Excellon slots in Excellon Editor
2019-08-15 17:55:32 +03:00
Marius Stanciu ab12853393 - added Edit -> Preferences GUI and storage for the Excellon Editor Add Slots
- added a confirmation message for objects delete and a setting to activate it in Edit -> Preferences -> Global
2019-08-15 00:59:15 +03:00
Marius Stanciu f3fc175197 - changes in the way the edited Excellon with added slots is saved
- added more icons and cursor in Excellon Editor for Slots related functions
2019-08-14 16:05:24 +03:00
Marius Stanciu 3905e11171 - started to work in adding slots and slots array in Excellon Editor 2019-08-13 16:39:21 +03:00
Marius Stanciu 13a29a229d - added all the tools from Gerber Editor to the the contextual menu
- added the menu entry "Edit" in the Project contextual menu for Gerber objects
2019-08-13 16:15:01 +03:00
Marius Stanciu 3e339630e6 - fixed bugs in Geometry Editor
- added protection's against the 'bowtie' geometries for Subtract Tool in Geometry Editor
- added all the tool from Geometry Editor to the the contextual menu
- fixed bug in Add Text Tool in Geometry Editor that gave error when clicking to place text without having text in the box
2019-08-13 13:59:23 +03:00
Marius Stanciu eb4f504911 - fixed a bug in FCDoubleSpinner GUI element
- added a new parameter in NCC tool named offset. If the offset is used then the copper clearing will finish to a set distance of the copper features
2019-08-13 11:32:58 +03:00