Commit Graph

537 Commits

Author SHA1 Message Date
Marius Stanciu 0a9148f30a - fixed plotting in Gerber Editor
- working on GUI in Gerber Editor
2019-04-03 16:00:44 +03:00
Marius Stanciu 40c8ef1cf8 - wip in Gerber editor 2019-04-01 02:54:34 +03:00
Marius Stanciu b202de338f - fixed errors when the File -> New Project is initiated while an Editor is still active.
- the File->Exit action handler is now self.final_save()
2019-04-01 02:47:20 +03:00
Marius Stanciu ecd6472220 - fixed issue #281 by making generation of a convex shape for the freeform cutout in Tool Cutout a choice rather than the default
- fixed bug in Tool Cutout, now in manual cutout mode the gap size reflect the value set
2019-03-31 21:52:27 +03:00
Marius Stanciu 1c1d8bd637 - fix error in plotting Excellon when toggling units
- FlatCAM editors now are separated each in it's own file
- fixed TextTool in Geometry Editor so it will open the notebook on activation and close it after finishing text adding
- started to work on a Gerber Editor
2019-03-29 23:45:50 +02:00
Marius Stanciu c5a77841f8 - update the TCL keyword list
- fix on the Gerber parser that makes searching for '%%' char optional when doing regex search for mode, units or image polarity. This allow loading Gerber files generated by the ECAD software TCl4.4
2019-03-29 13:02:53 +02:00
Marius Stanciu e0417b034b - modified Gerber parser to copy the follow_geometry in the self.apertures
- modified the Properties Tool to show the number of elements in the follow_geometry for each aperture
- modified the copy functions to copy the follow_geometry and also the apertures if it's possible (only for Gerber objects)
2019-03-29 02:13:20 +02:00
Marius Stanciu ecc2c90f2a - changed all the info messages that are of type warning, error or success so they have a space added after the keyword
- changed the Romanian translation by adding more diacritics
2019-03-29 00:26:00 +02:00
Marius Stanciu 6d9eb10a59 - new feature: added ability to edit MultiGeo geometry (geometry from Paint Tool) 2019-03-28 21:11:37 +02:00
Marius Stanciu a7e6914584 - fixed an issue where the Geometry plot function protested that it does not have an parameter that is used by the CNCJob plot function. But both inherit from FaltCAMObj plot function which does not have that parameter so something may need to be changed. Until then I provided a phony keyboard parameter to make that function 'shut up' 2019-03-26 15:53:07 +02:00
Marius Stanciu 43f89397d7 - added all the TCL keywords in the completer keyword list 2019-03-25 04:26:11 +02:00
Marius Stanciu f8cbafe84d - in the TCL completer if the word is already complete don't add it again but add a space 2019-03-25 03:35:26 +02:00
Marius Stanciu 9648bcd693 - added a header in the New Script 2019-03-25 03:14:55 +02:00
Marius Stanciu d67700c38b - changed the autoname for saving Preferences, Project and PNG file 2019-03-22 20:59:02 +02:00
Marius Stanciu 9a2279708e - added an icon and title text for the Toggle Units QMessageBox 2019-03-21 02:02:34 +02:00
Marius Stanciu b09f311b5c - added autocomplete finish with ENTER key for the TCL Shell
- made sure that the autocomplete function works only for FlatCAM Scripts
2019-03-20 16:54:03 +02:00
Marius Stanciu bebb827bd2 - added autocomplete for Code editor; TODO: needs to be enabled only when doing Scripts, right now is available for everyone. 2019-03-19 03:05:00 +02:00
Marius Stanciu 39eaf12fef - added ability to run a FlatCAM Tcl script by double-clicking on the file 2019-03-19 01:27:57 +02:00
Marius Stanciu 6e465d97cd - the Code Editor tab name is changed according to the task; 'save' and 'open' buttons will have filters installed for the QOpenDialog fit to the task 2019-03-19 01:05:25 +02:00
Marius Stanciu 74d1765a95 - added ability to create new scripts and open scripts in FlatCAM Script Editor 2019-03-18 22:59:13 +02:00
Marius Stanciu b79c26ec4b - some changes on how the first layout is applied
- minor bug fixes (typos from copy/paste from another part of the program)
2019-03-18 03:54:31 +02:00
Marius Stanciu 3daed4cbfb - made the translations work when the app is frozen with CX_freeze
- some formatting changes for the application strings
2019-03-18 03:30:47 +02:00
Marius Stanciu abfa78d898 - remade the layout in 2Sided Tool
- work in progress for translation in Romanian - 91%
2019-03-17 15:47:17 +02:00
Marius Stanciu fe6fa826ce - remade the layout in 2Sided Tool
- work in progress for translation in Romanian - 91%
2019-03-17 04:35:04 +02:00
Marius Stanciu 011f684b38 - fixed bug in Paint Tool - Single Poly: no geometry was generated
- work in progress for translation in Romanian - 70%
- changed date
2019-03-16 01:01:00 +02:00
Marius Stanciu 46da2dfd1e - made the layout combobox current item from Preferences -> General window to reflect the current layout
- remade the POT translate file
- work in progress in translation for Romanian language 44%
- fix for showing tools by activating them from the Menu - final fix.
2019-03-16 00:59:59 +02:00
Marius Stanciu c0d21ee4e0 - made the layout combobox current item from Preferences -> General window to reflect the current layout
- remade the POT translate file
- work in progress in translation for Romanian language 44%
- fix for showing tools by activating them from the Menu - final fix.
2019-03-14 01:09:06 +02:00
Marius Stanciu 255254a292 - some strings were left outside the translation formatting - fixed
- finished the replacement of '_' symbols throughout the app which conflicted with the _() function used by the i18n
2019-03-11 20:00:07 +02:00
Marius Stanciu e54ee9b569 - fixed the Properties Project menu entry to work on the new way
- in Properties tool now the Gerber apertures show the number of polygons in 'solid_geometry' instead of listing the objects
2019-03-11 19:30:38 +02:00
Marius Stanciu 9d33e08ecf - added a visual cue in Menu -> Edit about the entries to enter the Editor and to Save & Exit Editor. When one is enabled the other is disabled.
- grouped all the UI files in flatcamGUI folder
2019-03-11 12:23:26 +02:00
Marius Stanciu 29722de6ac - fixed the Properties Project menu entry to work on the new way
- in Properties tool now the Gerber apertures show the number of polygons in 'solid_geometry' instead of listing the objects
2019-03-11 03:31:33 +02:00
Marius Stanciu 91549587e2 - changed some icons here and there 2019-03-11 02:08:29 +02:00
Marius Stanciu f51c146f71 - fixed an issue created by the fact that I used the '_' char inside the app to designate unused info and that conflicted with the _() function used by gettext
- made impossible to try to reapply current language that it's already applied (un-necessary)
2019-03-11 00:41:49 +02:00
Marius Stanciu 3c2cc96b62 - updated the App.final_save() function 2019-03-10 23:56:06 +02:00
Marius Stanciu a6e23b28a7 - fix app crash for the case that there are no translation files
- fixed some forgotten strings to be prepared for internationalization in ToolCalculators
- fixed Tools menu no longer working due of changes
- added some test translation for the ToolCalculators (in Romanian)
- fixed bug in ToolCutOut where for each tool invocation the signals were reconnected
2019-03-10 17:12:58 +02:00
Marius Stanciu 53627b566c - added a fix in the Gerber parser when adding the geometry in the self.apertures dict for the case that the current aperture is None (Allegro does that)
- finished support for internationalization by adding a set of .po/.mo files for the English language. Unfortunately the final action can be done only when Beta will be out of Beta (no more changes) or when I will decide to stop working on this app.
- changed the tooltip for 'feedrate_rapids' parameter to point out that this parameter is useful only for the Marlin postprocessor
2019-03-10 14:34:13 +02:00
Marius Stanciu de79370fb3 - sorted the languages in the Preferences combobox 2019-03-09 00:34:04 +02:00
Marius Stanciu 4422aee5df - fix for issue #262: when doing Edit-> Save & Close Editor on a Geometry that is not generated through first entering into an Editor, the geometry disappear 2019-03-08 16:28:55 +02:00
Marius Stanciu 6ba037fd83 - fixed issue when doing th CTRL (or SHIFT) + LMB, the focus is automatically moved to Project Tab
- further work in internationalization, added a fallback to English language in case there is no translation for a string
2019-03-08 14:10:23 +02:00
Marius Stanciu 328182d863 - made sure that when the Measuring Tools is active after last click the Status bar is no longer deleted 2019-03-08 01:42:01 +02:00
Marius Stanciu 574184f44c - fixed Measuring Tool - after doing a measurement the Notebook was switching to Project Tab without letting the user see the results
- more work on the translation engine; the app now restarts after a language is applied
- added protection against using Travel Z parameter with negative or zero value (in Geometry).
2019-03-08 01:32:18 +02:00
Marius Stanciu 934d971002 - WIP for internationalization 2019-03-07 18:04:11 +02:00
Marius Stanciu 94d2fb23e2 - made showing a shape when hovering over objects, optional, by adding a Preferences -> General parameter
- starting to work in internationalization using gettext()
- Finished adding _() in FlatCAM Tools
2019-03-07 17:37:38 +02:00
Marius Stanciu b20a6a1a85 - modified the way the FlatCAM Tools are run from toolbar as opposed of running them from other sources
- some Gerber UI changes
2019-03-06 15:22:35 +02:00
Marius Stanciu 996b63cf4e - modified the grbl-laser postprocessor lift_code()
- treated an error created by Z_Cut parameter being None
- changed the hover and selection box transparency
2019-03-04 21:19:55 +02:00
Marius Stanciu d775e999fe - remade the CutOut Tool
- finished Manual Cutout Tool by adding utility geometry to the cutting geometry
- added CTRL + click behavior for adding manual bridge gaps in Cutout Tool
- in Tool Cutout added shortcut key 'Escape' to cancel the current adding of bridge gaps
2019-03-04 16:09:41 +02:00
Marius Stanciu 85ff3805ae - finished work on object hovering 2019-03-04 03:52:12 +02:00
Marius Stanciu 06fb48eb6a - minor UI changes for Gerber UI
- ~~after an object move, the apertures plotted shapes are deleted from canvas and the 'mark all' button is deselected~~
- after move tool action or any other transform (rotate, skew, scale, mirror, offset), the plotted apertures are kept plotted.
- changing units now will convert all the default values from one unit type to another
- prettified the selection shape and the moving shape
- initial work in object hovering shape
2019-03-04 03:47:19 +02:00
Marius Stanciu 9f60df850e - progress in ToolChange Custom commands replacement and rename 2019-02-28 18:02:29 +02:00
Marius Stanciu 546f643035 - added a change that when a double click is performed in a object on canvas resulting in a selection, if the notebook is hidden then it will be displayed 2019-02-28 16:39:44 +02:00
Marius Stanciu 1839843fad - added toggle effect for the tools in the toolbar.
- enhanced the toggle effect for the tools in the Tools Toolbar and also for Notebook Tab selection: if the current tool is activated it will toggle the notebook side but only if the installed widget is itself. If coming from another tool, the notebook will stay visible
2019-02-27 17:32:52 +02:00
Marius Stanciu 18132eab4c - made the polygon fusing in modified Gerber creation, a list comprehension in an attempt for optimization
- when right clicking the files in Project tab, the Save option for Excellon no longer export it but really save the original.
2019-02-27 00:14:53 +02:00
Marius Stanciu 7b4ea1dfa9 - added a Mark All button in the Gerber aperture table.
- because adding shapes to the shapes collection (when doing Mark or Mark All) is time consuming I made the plot_apertures() threaded.
2019-02-26 23:12:15 +02:00
Marius Stanciu 5cade2ec4e - fixed mouse selection on canvas, mouse drag, mouse click and mouse double click 2019-02-26 21:37:43 +02:00
Marius Stanciu 874ce11d84 - work in progress to Toolchange_Custom code replacememnt -> finished the parse and replace function 2019-02-26 17:03:57 +02:00
Marius Stanciu 386c3408ca - added in Preferences a new Category: Gerber Advanced Options. For now it controls the display of Gerber Aperture Table and the "follow" attribute4
- fixed FlatCAMGerber.merge() to merge the self.apertures[ap]['solid_geometry'] too
- started to work on a new feature that allow adding a ToolChange GCode macro - GUI added both in CNCJob Selected tab and in CNCJob Preferences
- added a limited 'sort-of' Gerber Editor: it allows buffering and scaling of apertures
2019-02-26 00:33:31 +02:00
Marius Stanciu d43de2ea77 - fixed the Gerber object UI layout
- added ability to mark individual apertures in Gerber file using the Gerber Aperture Table
2019-02-25 16:28:32 +02:00
Marius Stanciu a25fc1e88c - fixed bug in Set Origin function 2019-02-24 17:10:01 +02:00
Marius Stanciu 8acb3b782d - fixed bug that after changing the layout all the toolbar actions are no longer working 2019-02-24 16:43:46 +02:00
Marius Stanciu fac11586b3 - added all the Tools in a new ToolBar 2019-02-24 16:22:21 +02:00
Marius Stanciu 322a63ef3b - ability to double click the FlatConfig files and open them in the FlatCAM Code Editor - fixed and verified 2019-02-23 22:16:53 +02:00
Marius Stanciu 14dc34a18c - when saving a file from Code Editor and there is no object active then the OpenFileDialog filters are reset to FlatConfig files. 2019-02-23 20:39:38 +02:00
Marius Stanciu 88c9001784 - added a Toggle Code Editor Menu and key shortcut
- added the ability to open FlatConfig configuration files in COde Editor, Modify them and then save them.
- added ability to double click the FlatConfig files and open them in the FlatCAM Code Editor (to be verified)
2019-02-23 20:27:26 +02:00
Marius Stanciu 6d0ed52308 - prettified the defaults files and the recent file. Now they are ordered and human readable 2019-02-23 19:06:20 +02:00
Marius Stanciu 2291a58727 - fixed a small bug in the Tool Solder Paste: the App don't take into consideration pads already filled with solder paste. 2019-02-23 18:51:42 +02:00
Marius Stanciu 3bad47b3be - updated the Properties Tool to include more information's, also details if a Geometry is of type MultiGeo or SingleGeo
- remade the Preferences GUI to include the Advanced Options in a separate way so it is obvious which are displayed when App Level is Advanced.
2019-02-23 16:02:45 +02:00
Marius Stanciu 2843810ab3 - some GUI elements changes 2019-02-23 06:11:42 +02:00
Marius Stanciu 21f970204e - added the ability of context menu inside the GuiElements.FCCombobox() object.
- remade the UI for ToolSolderPaste. The object comboboxes now have context menu's that allow object deletion. Also the last object created is set as current item in comboboxes.
2019-02-23 03:38:39 +02:00
Marius Stanciu a67e31bda3 - added ability to toggle globally the display of ToolTips. Edit -> Preferences -> General -> Enable ToolTips checkbox.
- added true fullscreen support (for Windows OS)
2019-02-22 22:23:29 +02:00
Marius Stanciu 7272b46dd9 - added Repetier postprocessor file
- removed "added ability to regenerate objects (it's actually deletion followed by recreation)" because of the way Python pass parameters to functions by reference instead of copy
2019-02-22 16:54:58 +02:00
Marius Stanciu 60b08dfec5 - date changed 2019-02-22 03:28:56 +02:00
Marius Stanciu 18f38999c4 - added ability to regenerate objects (it's actually deletion followed by recreation) 2019-02-22 03:28:04 +02:00
Marius Stanciu 45b5cba68a - fixed issue with not updating correctly the plot kind (all, cut, travel) when clicking in the CNC Tools Table plot buttons
- made the GCode Editor for ToolSolderPaste clear the text before updating the Code Editor tab
- all the Tabs in Plot Area are closed (except Plot Area itself) on New Project creation
2019-02-22 00:37:57 +02:00
Marius Stanciu d453c31bf5 - finished work in ToolSolderPaste 2019-02-21 23:48:13 +02:00
Marius Stanciu d5768d3b34 - creating the camlib functions for the ToolSolderPaste gcode generation functions 2019-02-21 17:07:38 +02:00
Marius Stanciu 9557e1af60 - added protection against creating CNCJob from an empty Geometry object (with no geometry inside)
- changed the shortcut key for YouTube channel from F2 to key F4
- changed the way APP LEVEL is showed both in Edit -> Preferences -> General tab and in each Selected Tab. Changed the ToolTips content for this.
- added the functions for GCode View and GCode Save in Tool SolderPaste
2019-02-21 03:04:38 +02:00
Marius Stanciu f62e7e51fd - finished the Edit -> Preferences defaults section
- finished the UI, created the postprocessor file template
- finished the multi-tool solder paste dispensing: it will start using the biggest nozzle, fill the pads it can, and then go to the next smaller nozzle until there are no pads without solder.
2019-02-20 22:46:46 +02:00
Marius Stanciu 448f34c090 - finished added a Tool Table for Tool SolderPaste
- working on multi tool soder paste dispensing
2019-02-20 17:10:43 +02:00
Marius Stanciu 3ee6eb4a87 - fixed a bug in rotate from shortcut function
- finished generating the solder paste dispense geometry
2019-02-20 03:27:17 +02:00
Marius Stanciu bd7a82e116 - added icons for Solder Paste Tool 2019-02-19 17:57:50 +02:00
Marius Stanciu 89052379b2 - started to work on Solder Paste Dispensing Tool 2019-02-19 17:48:24 +02:00
Marius Stanciu 4dbecde32f - added a new setting in Edit -> Preferences -> General that allow to select the type of saving for the FlatCAM project: either compressed or uncompressed. Compression introduce an time overhead to the saving/restoring of a FlatCAM project. 2019-02-19 15:59:19 +02:00
Marius Stanciu 9d0bcf477a - removed the Open Gerber with 'follow' menu entry and also the open_gerber Tcl Command attribute 'follow'. This is no longer required because now the follow_geometry is stored by default in a Gerber object attribute gerber_obj.follow_geometry
- added a new parameter for the Tcl CommandIsolate, named: 'follow'. When follow = 1 (True) the resulting geometry will follow the Gerber paths.
2019-02-19 14:53:55 +02:00
Marius Stanciu d998b87601 - fixed issue with not loading old projects that do not have certain information's required by the new versions of FlatCAM
- compacted a bit more the GUI for Gerber Object
2019-02-19 13:00:38 +02:00
Marius Stanciu 7f65cf628d - added the ability to compress the FlatCAM project on save with LZMA compression. There is a setting in Edit -> Preferences -> Compression Level between 0 and 9. 9 level yields best compression at the price of RAM usage and time spent.
- made FlatCAM able to load old type (uncompressed) FlatCAM projects
2019-02-19 01:22:17 +02:00
Marius Stanciu 783604f2aa - made the output of Panelization Tool a choice out of Gerber and Geometry type of objects. Useful for those who want to engrave multiple copies of the same design. 2019-02-18 23:47:59 +02:00
Marius Stanciu 7c2d8ff28e - added Tool Transform preferences in Edit -> Preferences and used them through out the app 2019-02-18 22:48:28 +02:00
Marius Stanciu 88a0be7cf1 - modified the GUI in Objects Selected Tab to accommodate 2 different modes: basic and Advanced. In Basic mode, some of the functionality's are hidden from the user. 2019-02-18 21:19:57 +02:00
Marius Stanciu 8c882cfdc4 - made the app not remember the window size if the app is maximized and remember in QSettings if it was maximized. This way we can restore the maximized state but restore the windows size unmaximized
- added a button to clear de GUI preferences in Preferences -> General -> Gui Settings -> Clear GUI Settings
- added key shortcuts for the shape transformations within Geometry Editor: X, Y keys for Flip(mirror), SHIFT+X, SHIFT+Y combo keys for Skew and ALT+X, ALT+Y combo keys for Offset
- adjusted the plotcanvas.zomm_fit() function so the objects are better fit into view (with a border around)
2019-02-18 19:35:18 +02:00
Marius Stanciu cc2fe29942 - fixed an issue where the function handler that changed the layout had a parameter changed accidentally by an index value passed by the 'activate' signal to which was connected
- fixed bug in paint function in Geometry Editor that didn't allow painting due of overlap value
- added protections again wrong values for the Buffer and Paint Tool in Geometry Editor
- the Paint Tool in Geometry Editor will load the default values from Tool Paint in Preferences
- when the Tools in Geometry Editor are activated, the notebook with the Tool Tab will be unhidden. After execution the notebook will hide again for the Buffer Tool.
- changed the font in Tool names
- added in Geometry Editor a new Tool: Transformation Tool. It still has some bugs, though ...
2019-02-18 03:45:34 +02:00
Marius Stanciu 032f68a848 - added ability to save the Gerber file content that is stored in FlatCAM on Gerber file loading. It's useful to recover from saved FlatCAM projects when the source files are no longer available. 2019-02-17 16:05:06 +02:00
Marius Stanciu b717b60d45 - in Editors, if the modifier key set in Preferences (CTRL or SHIFT key) is pressed at the end of one tool operation it will automatically continue to that action until the modifier is no longer pressed when Select tool will be automatically selected.
- in Geometry Editor, on entry the notebook is automatically hidden and restored on Geometry Editor exit.
2019-02-17 15:06:43 +02:00
Marius Stanciu 5a631a2881 - fixed issue where after loading a project, if the default kind of CNCjob view is only 'cuts' the plot will revert to the 'all' type 2019-02-16 23:39:19 +02:00
Marius Stanciu 941cec30ae - Serialized the source_file of the Objects so it is saved in the FlatCAM project and restored.
- if there is a single tool in the tool list (Geometry , Excellon) and the user click the Generate GCode, use that tool even if it is not selected
2019-02-16 21:03:27 +02:00
Marius Stanciu 326599e4a3 - changed some status bar messages
- New feature: added the capability to view the source code of the Gerber/Excellon file that was loaded into the app. The file is also stored as an object attribute for later use. THe view option is in the project context menu and in Menu -> Options -> View Source
2019-02-16 19:47:50 +02:00
Marius Stanciu 4f882c821e - changed the initial layout to 'compact'
- updated the install scripts to uninstall a previously installed FlatCAM Beta (that has the same GUID)
2019-02-16 16:19:57 +02:00
Marius Stanciu 3293223991 - added the 'Save' menu entry to the Project context menu, for CNCJob: it will export the GCode. 2019-02-16 03:01:54 +02:00
Marius Stanciu 31f36fd01e - small change in tab width so the tabs looks good in Linux, too. 2019-02-16 02:45:58 +02:00
Marius Stanciu 679b33fa72 - updated the Excellon plot function so it can plot the Excellon's from old projects
- removed the message boxes that popup on Excellon Export errors and replaced them with status bar messages
2019-02-16 01:52:20 +02:00
Marius Stanciu 33b722aa1a - more update s on project save choice 2019-02-16 00:40:51 +02:00
Marius Stanciu 367d6f3155 - reworked the offer to save a project so it is done only if there are objects in the project but those objects are new and/or are modified since last project load (if an old project was loaded.) 2019-02-16 00:29:54 +02:00
Marius Stanciu e717cb8f15 - remade the Excellon export function to work with parameters entered in Edit -> Preferences -> Excellon Export
- added a new entry in the Project Context Menu named 'Save'. It will actually work for Geometry and it will do Export DXF and for Excellon and it will do Export Excellon
2019-02-15 23:35:23 +02:00
Marius Stanciu aea67a4a1d - rearranged the FIle and Edit menu's and added some explanatory tooltips on certain menu items that could be seen as cryptic
- added Excellon Export Options in Edit -> Preferences
- started to work in using the Excellon Export parameters
2019-02-15 16:41:42 +02:00
Marius Stanciu a978b5621d - the notebook is automatically collapsed when there are no objects in the collection and it is showed when adding an object
- added new options in Edit -> Preferences -> General -> App Preferences to control if the Notebook is showed at startup and if the notebook is closed when there are no objects in the collection and showed when the collection has objects.
2019-02-15 01:48:34 +02:00
Marius Stanciu 098de7f030 - added shortcut key 'J' (jump to location) in Editors and added an icon to the dialog popup window 2019-02-15 00:23:29 +02:00
Marius Stanciu 8f7d169e9c - when linked, the grid snap on Y will copy the value in grid snap on X in real time 2019-02-14 22:12:12 +02:00
Marius Stanciu cda10998e8 - updated the function for the project context menu 'Generate CNC' menu entry (Action) to use the modernized function FlatCAMObj.FlatCAMGeometry.on_generatecnc_button_click() 2019-02-14 21:33:42 +02:00
Marius Stanciu b84f56545e - remade the Grids context menu (right mouse button click on canvas). Now it has values linked to the units type (inch or mm). Added ability to add or delete grid values and they are persistent. 2019-02-14 20:08:56 +02:00
Marius Stanciu 899e8b433d - added new parameter for Excellon Object in Preferences: Fast Retract. If the checkbox is checked then after reaching the drill depth, the drill bit will be raised out of the hole asap.
- started to work on GUI forms simplification
- changed the Preferences GUI for Geometry and Excellon Objects to make a difference between parameters that are changed often and those that are not.
2019-02-13 14:30:29 +02:00
Marius Stanciu 02793f7ae2 - starting to work on storing the solid_geometry for each tool in part in Excellon Object 2019-02-12 16:55:43 +02:00
Marius Stanciu d0641458e4 - whenever a FlatCAM tool is activated, if the notebook side is hidden it will be unhidden
- reactivated the Voronoi classed
- added a new parameter named Offset in the Excellon tool table - work in progress
2019-02-12 04:00:11 +02:00
Marius Stanciu e8b9555a94 - added a strong focus to the object_name entry in the Selected tab
- the keypad keyPressed are now detected correctly
2019-02-10 22:55:51 +02:00
Marius Stanciu f35994a712 - repurposed shortcut key 'Delete' to delete tools in tooltable when the mouse is over the Seleted tab (with Geometry inside) or in Tools tab (when NCC Tool or Paint Tool is inside). Or in Excellon Editor when mouse is hovering the Selected tab selecting a tool, 'Delete' key will delete that tool, if on canvas 'Delete' key will delete a selected shape (drill). In rest, will delete selected objects. 2019-02-10 02:09:05 +02:00
Marius Stanciu b68a010bde - the SELECTED type of messages are no longer printed to shell from 2 reasons: first, too much spam and second, issue with displaying html
- on set_zero function and creation of new geometry or new excellon there is no longer a zoom fit
2019-02-09 19:44:01 +02:00
Marius Stanciu 59e12cf295 - fixed an error in Excellon Editor -> add drill array that could appear by starting the function to add a drill array by shortcut before any mouse move is registered while in Editor
- changed the messages from status bar on new object creation/selection
- in Geometry Editor fixed the handler for the Rotate shortcut key ('R')
2019-02-09 16:00:47 +02:00
Marius Stanciu 8665b1d8c3 - added into Preferences the Calculator Tools
- made the Preferences window scrollable on the horizontal side (it was only vertically scrollable before)
- made invisible some buttons that could mislead (the ones for slots converted to drills which I deem unsafe)
2019-02-09 11:52:08 +02:00
Marius Stanciu d17fc12196 - added a protection for when saving a file first time, it require a saved path and if none then it use the current working directory 2019-02-09 01:58:08 +02:00
Marius Stanciu da7029dc0b - if trying to add a tool using shortcut key 'T' with value zero the app will react with a message telling to use a non-zero value. 2019-02-09 01:18:03 +02:00
Marius Stanciu 8f000c0a18 - in Excellon Editor added a protection for Tool_dia field in case numbers using comma as decimal separator are used. Also added a QDoubleValidator forcing a number with max 4 decimals and from 0.0000 to 9.9999
- in Excellon Editor added a shortcut key 'T' that popup a window allowing to enter a new Tool with the set diameter
- in App added a shortcut key 'T' that popup a windows allowing to enter a new Tool with set diameter only when the Selected tab is on focus and only if a Geometry object is selected
- changed the shortcut key for Transform Tool from 'T' to 'ALT+T'
- fixed bug in Geometry Selected tab that generated error when used tool offset was less than half of either total length or half of total width. Now the app signal the issue with a status bar message
- added Double Validator for the Offset value so only float numbers can be entered.
- in App added a shortcut key 'T' that popup a windows allowing to enter a new Tool with set diameter only when the Tool tab is on focus and only if a NCC Tool or Paint Area Tool object is installed in the Tool Tab
2019-02-09 00:08:54 +02:00
Marius Stanciu 2524e6bd59 - minor GUI changes 2019-02-08 15:24:47 +02:00
Marius Stanciu f39fea072c - when shortcut keys 1, 2, 3 (tab selection) are activated, if the splitter left side (the notebook) is hidden it will be mae visible
- changed the menu entry Toggle Grid name to Toggle Grid Snap
2019-02-08 14:55:50 +02:00
Marius Stanciu 5b75d416ec - moved some graphical classes out of Tool Shell to GUIElements.py where they belong
- when selecting an object on canvas by single click, it's name is displayed in status bar. When nothing is selected a blank message (nothing) it's displayed
- in Move Tool I've added the type of object that was moved in the status bar message
- color coded the status bar bullet to blue for selection
- the name of the selected objects are displayed in the status bar color coded: green for Gerber objects, Brown for Excellon, Red for Geometry and Blue for CNCJobs.
2019-02-07 22:37:51 +02:00
Marius Stanciu c888303146 - added a new function and the shortcut 'leftquote' (left of Key 1) for toggle of the notebook section
- changed the Shortcut list shortcut key to F3
2019-02-07 20:39:37 +02:00
Marius Stanciu ab026a1a9d - added a disable menu entry in the canvas contextual menu 2019-02-07 03:16:29 +02:00
Marius Stanciu 6c6a802afb - commented some debug messages
- imported speedups for shapely
2019-02-07 01:36:37 +02:00
Marius Stanciu 700222d5dc - in Paint Tool, when painting single polygon, when clicking on canvas for the polygon there is no longer a selection of the entire object 2019-02-07 00:53:51 +02:00
Marius Stanciu 2ee80990e5 - added a new function (and shortcut key Escape) that when triggered it deselects all selected objects and delete the selection box(es)
- fixed bug in Excellon Gcode generation that made the toolchange X,Y always none regardless of the value in Preferences
2019-02-06 21:37:50 +02:00
Marius Stanciu 9dfbae7515 - added plot kind for CNC Job in the App Preferences 2019-02-06 20:29:53 +02:00
Marius Stanciu 05ae92726c - renamed the theme to layout because it is really a layout change
- combined the geocutout and cutout_any TCL commands - work in progress
2019-02-06 16:59:17 +02:00
Marius Stanciu 8bbb9ba534 - all kwy shortcuts work across the entire application; started to move all the shortcuts definitions in FlatCAMGUI.keyPressEvent() 2019-02-06 16:23:09 +02:00
Marius Stanciu dedf8c09de - fixed the name self-insert in save dialog file for GCode; added protection in case the save path is None
- fixed FlatCAM crash when trying to make drills GCode out of a file that have only slots.
- made the shell toggle shortcut key work when focused on Selected Tab; toggle units shortcut also
- changed the messages for Units COnversion
2019-02-06 14:03:59 +02:00
Marius Stanciu 299a6585a7 - done a regression on Tool Tab default text. It somehow delete Tools in certain scenarios so I got rid of it
- fixed bug in multigeometry geometry not having the bounds in self.options and crashing the GCode generation
- fixed bug that crashed whole application in case that the GCode editor is activated on a Tool gcode that is defective.
2019-02-06 00:16:14 +02:00
Marius Stanciu 2ea2ed0cb0 - fixed the units calculators crash FlatCAM when using comma as decimal separator 2019-02-05 22:32:48 +02:00
Marius Stanciu 3b8b7d470a - added a new parameter to set the feedrate of the probing in case the used postprocessor does probing (has toolchange_probe in it's name)
- fixed bug in Marlin postprocessor for the Excellon files; the header and toolchange event always used the parenthesis witch is not compatible with GCode for Marlin
- fixed a issue with a move to Z_move before any toolchange
2019-02-05 19:40:46 +02:00
Marius Stanciu 822800e7f5 - added a way to set the Probe depth if Toolchange_Probe postprocessors are selected
- finished the postprocessor file for MACH3 tool probing on toolchange event
2019-02-05 16:43:12 +02:00
Marius Stanciu ed6d262780 - added an initial text in the Tools tab
- added possibility to use the shortcut key for shortcut list in the Notebook tabs
2019-02-05 13:37:49 +02:00
Marius Stanciu bd3cb3aba3 - added a text in the Selected Tab which is showed whenever the Selected Tab is selected but without having an object selected to display it's properties 2019-02-05 13:04:37 +02:00
Marius Stanciu 8a6c48c7a9 - changed the shortcut keys for Zoom In, Zoom Out and Zoom Fit from 1, 2, 3 to '-', '=' respectively 'V'. Added new shortcut keys '1', '2', '3' for Select Project Tab, Select Selected Tab and Select Tool Tab. 2019-02-04 22:35:01 +02:00
Marius Stanciu 713b584841 - added a new parameter in the Tool Film which control the thickness of the stroke width in the resulting SVG. It's a scale parameter.
- whatever was the visibility of the corresponding toolbar when we enter in the Editor, it will be set after exit from the Editor (either Geometry Editor or Excellon Editor).
- added ability to be detached for the tabs in the Notebook section (Project, Selected and Tool)
- added ability for all detachable tabs to be restored to the same position from where they were detached.
- restored the way the tools autoloaded the objects in the comboboxes
2019-02-04 20:49:37 +02:00
Marius Stanciu 4e8f8905c8 - modified the Toolchange_Probe_general postprocessor file to include now Z moves before the actual toolchange event
- created a prototype postprocessor file for usage with tool probing in MACH3
- added the default values for Tool Film and Tool Panelize to the Edit -> Preferences
2019-02-04 16:29:12 +02:00
Marius Stanciu e1888b1647 - added an automatic name on each save operation based on the object name and/or the current date
- added more information's for the statistics
2019-02-03 23:08:09 +02:00
Marius Stanciu 5e55f0d499 - fixed remove_tools() so the Tcl Shell action is readded to the Tools menu and reconnected to it's slot function 2019-02-03 16:49:33 +02:00
Marius Stanciu 7da1d23098 - added a remove_tools() function before install_tools() in the init_tools() that is called when creating a new project. Should solve the issue with having double menu entry's in the TOOLS menu 2019-02-03 16:29:56 +02:00
Marius Stanciu 6ea3499d39 - updated the new shortcut list with the shortcuts added lately
- now the special messages in the Shell are color coded according to the level. Before they all were RED. Now the WARNINGS are yellow, ERRORS are red and SUCCESS is a dark green. Also the level is in CAPS LOCK to make them more obvious
- some more changes to GUI interface (solved issues)
- added some status bar messages in the Geometry Editor to guide the user when using the Geometry Tools
- now the '`' shortcut key that shows the 'shortcut key list' in Editors points to the same window which is created in a tab no longer as a pop-up window. This tab can be detached if needed.
2019-02-03 15:13:09 +02:00
Marius Stanciu 7607aad8d8 - added protection against entering float numbers with comma separator instead of decimal dot separator in key points of FlatCAM (not everywhere)
- added a choice of plotting the kind of geometry for the CNC plot (all, travel and cut kind of geometries) in CNCJob Selected Tab
2019-02-02 23:56:08 +02:00
Marius Stanciu de7e41991d - fixed a source of possible errors in DetachableTab Widget.
- fixed gcode conversion/scale (on units change) when multiple values are found on each line
- replaced the pop-up window for the shortcut list with a new detachable tab
- removed the pop-up messages from the rotate, skew, flip commands
2019-02-02 03:27:34 +02:00
Marius Stanciu 365c1f4c71 - remade the way FlatCAM saves the GUI position data from a file (previously) to use PyQt QSettings
- added a 'theme' combo selection in Edit -> Preferences. Two themes are available: standard and compact.
- some code cleanup
2019-02-02 01:25:35 +02:00
Marius Stanciu e0adb9b43b - corrected small type in list_sys Tcl command; added a protection of the Plot Area Tab after a successful edit. 2019-02-01 17:44:28 +02:00
Marius Stanciu f4da8c8c68 - Plot Area Tab view can now be toggled, added entry in View Menu and shortcut key CTRL+F10
- All the tabs in the GUI right side are (Plot Are, Preferences etc) are now detachable to a separate windows which when closed it returns in the previous location in the toolbar. Those detached tabs can be also reattached by drag and drop.
2019-02-01 14:51:49 +02:00
Marius Stanciu 080d148b37 - work on a FlatCAM compact theme 2019-02-01 04:12:03 +02:00
Marius Stanciu 5ab89791c7 - FlatCAM saves now to a file in self.data_path the toolbar positions and the position of TCL Shell 2019-02-01 02:05:39 +02:00
Marius Stanciu d5853722c3 - updated the camlib.CNCJob.scale() function so now the GCode is scaled also (quite a HACK :( it will need to be replaced at some point)). Units change work now on the GCODE also. 2019-01-31 23:07:53 +02:00
Marius Stanciu 093f210c25 - hidden the snap magnet entry and snap magnet toggle from the main view; they are now active only in Editor Mode 2019-01-31 16:10:13 +02:00
Marius Stanciu d1780acad9 - added new function to toggle fullscreen status in Menu -> View -> Toggle Full Screen. Shortcut key: Alt+F10
- added key shortcuts for Enable Plots, Disable Plots and Disable other plots functions (Alt+1, Alt+2, Alt+3)
2019-01-31 15:29:05 +02:00
Marius Stanciu 3c355f72be - added a parameter ('Fast plunge' in Edit -> Preferences -> Geometry Options and Excellon Options) to control if the fast move to Z_move is done or not 2019-01-31 13:58:49 +02:00
Marius Stanciu 53d50c799f - added to the postprocessor files the command after toolchange to go with G00 (fastest) to "Z Move" value of Z pozition. 2019-01-31 03:45:21 +02:00
Marius Stanciu 7e5ce009d8 - added a traceback report in the TCL Shell for the errors that don't allow creation of an object; useful to trace exceptions/errors
- in case that the Toolchange X,Y parameter in Selected (or in Preferences) are deleted then the app will still do the job using the current coordinates for toolchange
- fixed an issue in camlib.CNCJob where tha variable self.toolchange_xy was used for 2 different purposes which created loss of information.
2019-01-30 23:17:27 +02:00
Marius Stanciu dbee97ccb9 - remade the App Menu for Editors: now they will be showed only when the respective Editor is active and hidden when the Editor is closed. 2019-01-30 17:27:11 +02:00
Marius Stanciu e5b4f5fd6b - wip 2019-01-30 00:43:59 +02:00
Marius Stanciu 369d9256da - added 2Sided Tool default values in Edit -> Preferences -> Tools 2019-01-29 22:33:04 +02:00
Marius Stanciu be2ecaa152 - added a GUI for Excellon Search time for OR-TOOLS path optimization in Edit -> Preferences -> Excellon General -> Optimization Time
- more changes in Edit -> Preferences -> Geometry, Gerber and in CNCJob
- added new option for Cutout Tool Freeform Gaps in Edit -> Preferences -> Tools
- fixed Freeform Cutout gaps issue (it was double than the value set)
2019-01-29 21:47:27 +02:00
Marius Stanciu f6271033b3 - fixed issue in Tool Calculators when a float value was entered starting only with the dot.
- added protection for entering incorrect values in Offset and Scale fields for Gerber and Geometry objects (in Selected Tab)
2019-01-29 01:03:21 +02:00
Marius Stanciu e19af486b3 - added key shortcuts for Open Manual = F1 and for Open Online VideoHelp = F2 2019-01-28 03:24:06 +02:00
Marius Stanciu 37e7c8167d - fixed the FlatCAMGerber.merge() function
- added a new menu entry for the Gerber Join function: Edit -> Conversions -> "Join Gerber(s) to Gerber" allowing joining Gerber objects into a final Gerber object
2019-01-28 02:47:53 +02:00
Marius Stanciu 8145ff9aac - fixed the FlatCAMGerber.merge() function
- added a new menu entry for the Gerber Join function: Edit -> Conversions -> "Join Gerber(s) to Gerber" allowing joining Gerber objects into a final Gerber object
2019-01-28 02:01:53 +02:00
Marius Stanciu ad69be0456 - remade the EDIT -> PREFERENCES window, the Excellon and Gerber sections. Created a new section named TOOLS 2019-01-27 15:46:54 +02:00
Marius Stanciu a9bc0dea56 - added shortcut key combo 'SHIFT+S' for Running a Script. 2019-01-27 06:04:50 +02:00
Marius Stanciu 18fb7c2c1f - added shortcut key 'L' for creating 'New Excellon' 2019-01-27 05:50:41 +02:00
Marius Stanciu 4f7b2bbb34 - added options for trace segmentation that can be useful for auto-levelling (code snippet from Lei Zheng from a rejected pull request on FlatCAM https://bitbucket.org/realthunder/ ) 2019-01-27 05:03:23 +02:00
Marius Stanciu c4a9c8bd77 - added more key shortcuts into the application; they are now displayed in the GUI menu's
- reorganized the Edit -> Preferences -> Global
- redesigned the messagebox that is showed when quiting ot creating a New Project: now it has an option ('Cancel') to abort the process returning to the app
2019-01-27 03:32:09 +02:00
Marius Stanciu c0031235cd - fixed grbl_laser postprocessor file
- updated function for copy of an Excellon object for the case when the object has slots
- updated FlatCAMExcellon.merge() function to work in case some (or all) of the merged objects have slots
2019-01-26 09:08:41 +02:00
Marius Stanciu 41d7ef9e2c - added icons to the Project Tab context menu
- added new entries to the Canvas context menu (Copy, Delete, Edit/Save, Move, New Excellon, New Geometry, New Project)
2019-01-26 00:12:40 +02:00
Marius Stanciu d1b1a097c1 - fixed TclCommand Cutout
- added a new TclCommand named CutoutAny. Keyword: cutout_any
2019-01-25 20:46:30 +02:00
Marius Stanciu 3941d03702 - fixed TclCommand Cutout
- added a new TclCommand named CutoutAny. Keyword: cutout_any
2019-01-25 20:05:27 +02:00
Marius S 4af4938f85 - added the Edit and Properties entries to the Project context menu 2019-01-24 20:58:36 +02:00
Marius Stanciu 2c49d41500 - Excellon Editor - added possibility to create an linear drill array rotated at an custom angle 2019-01-24 20:38:53 +02:00
Marius Stanciu e8acee5850 - added multiple object selection on Open ... and Import ... (idea and code snippet came from Travers Carter, BitBucket user https://bitbucket.org/travc/ 2019-01-24 15:48:34 +02:00
Marius Stanciu 8f787fc61a - fixed the Copy Object function when the object is Gerber
- added the Copy entry to the Project context menu
- made the functions behind Disable and Enable project context menu entries, non-threaded to fix a possible issue
2019-01-24 12:31:42 +02:00
Marius Stanciu 037b9657ff - trying to fix painting single when the actual painted object it's a MultiPolygon 2019-01-24 01:34:12 +02:00
Marius Stanciu d71958262a - changed date 2019-01-23 19:01:20 +02:00
Marius Stanciu e945ced44b - modified the way FlatCAM preferences are saved. Now they can be saved as new files with .FlatConfig extension by the user and shared. 2019-01-23 17:06:14 +02:00
Marius Stanciu 4afa67542b - changed date 2019-01-23 00:45:57 +02:00
Marius Stanciu e6d431c9e3 - removed the raise statement in do_worker_task() function as this is fatal in conjunction with PyQt5
- added a try - except clause for the situations when for a font can't be determined the family and name
- moved font parsing to the Geometry Editor: it is done everytime the Text tool is invoked
- made sure that the HPGL postprocessor is not populated in the Excellon postprocessors in Preferences as it make no sense (HPGL is useful only for Geometries)
2019-01-21 01:17:04 +02:00
Marius Stanciu f242e3163e - small changes (dates, version) 2019-01-20 05:37:04 +02:00
Marius Stanciu 7ea6ee4a85 - fixed the HPGL code geometry rendering when travel
- fixed the message box layout when asking to save the current work
- made sure that whenever the HPGL postprocessor is selected the Toolchange is always ON and the MultiDepth is OFF
- the HPGL postprocessor entry is not allowed in Excellon Object postprocessor selection combobox as it is only applicable for Geometry
2019-01-20 02:46:42 +02:00
Marius Stanciu 43f9055408 - added initial implementation of HPGL postprocessor 2019-01-19 02:33:05 +02:00
Marius Stanciu 18de843fc1 - added a status message for font parsing 2019-01-11 04:02:02 +02:00
Marius Stanciu e6b0eb209c - added a message box asking users if they want to save the project in case that either New Project menu entry is clicked or if Exit menu entry is clicked or if the app is closed from the close button. The message box will be showed only if there are objects in the collection. 2019-01-09 20:55:54 +02:00
Marius Stanciu 37067b5bff - added a fix to allow creating of Excellon geometry even when there are points with no tools by skipping those points and warning the user about this in a Tcl message 2019-01-09 15:47:29 +02:00
Marius Stanciu dd49aaa68d - added checkboxes in Preferences -> General -> Global Preferences to switch on/off version check at application startup and also to control if the app will send anonymous statistics about FlatCAM usage to help improve FlatCAM 2019-01-08 21:13:20 +02:00
Marius Stanciu 7e002dfc9f - added tooltips in Edit->Convert menu 2019-01-07 15:44:47 +02:00
Marius Stanciu c7db9aa566 - fixed the Marlin postprocessor detection in GCode header
- the version date in GCode header is now the one set in FlatCAMApp.App.version_date
- fixed bug in postprocessor files: number of drills is now calculated only for the Excellon objects in toolchange function (only Excellon objects have drills)
2019-01-07 02:56:55 +02:00
Marius Stanciu 954bd9097a - fixed the Join function to work on Gerber and Excellon, Gerber and Gerber, Excellon and Excelon combination of objects. The merged property is the solid_geometry and the result is a FlatCAMGeometry object. 2019-01-07 01:23:04 +02:00
Marius Stanciu b418d15daf - reactivated the version check in case the release is not BETA; FlatCAMApp.App has now a beta object that when set True the application will show in the Title and help-> About that is Beta (and it disable version checking) 2019-01-06 22:04:01 +02:00
Marius Stanciu 3ea1f4e62c - fixed cncjob TclCommand - it used the default values for parameters
- fixed the layout in ToolTransform
- fixed the initial text in the ToolShell
2019-01-06 20:40:05 +02:00
Marius Stanciu 6da418c4c8 - modified the Development link in Help -> About 2019-01-03 21:31:09 +02:00
Marius Stanciu e48d2d2f49 -clean-up before merge 2019-01-03 21:25:08 +02:00
Marius Stanciu 421e9766ea -clean-up before merge 2019-01-03 21:20:54 +02:00
Marius Stanciu 01dcfb69a6 - remade the functions into a Tool framework
- renamed the other current files that holds 'Tools' to start with Tool
like Tcl commands start with TclCommand
2018-06-05 22:13:33 +03:00
Marius Stanciu 782f784dee - fixed a bug that created desync on rotate multiple objects that were
offseted from origin
2018-06-05 14:49:13 +03:00