Commit Graph

153 Commits

Author SHA1 Message Date
Marius Stanciu
0bc018bbe0 - added an empty message when deselection is done by shortcut key Escape 2019-02-07 23:13:11 +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
07ae0c9c8b - small changes in Tools layout 2019-02-07 17:03:06 +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
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
67d089832e - all kwy shortcuts work across the entire application; started to move all the shortcuts definitions in FlatCAMGUI.keyPressEvent() 2019-02-06 14:44:16 +02:00
Marius Stanciu
28f11ef55f - small bugs related to shortcut keys solved 2019-02-06 14:27:11 +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
c6277967a6 - corrected the VIew menu with the new shortcuts for Zoom Fit, Zoom In, Zoom Out 2019-02-05 19:59:22 +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
3714203c95 - formatted the Shortcut List Tab into a HTML table 2019-02-04 23:41:17 +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
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
8099466f0c - bugs regarding the Grid button solved 2019-02-03 01:03:06 +02:00
Marius Stanciu
0b96cbbac1 - code cleanup in Tools
- some GUI structure optimization's
2019-02-02 18:26:01 +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
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
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
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
970b260333 - added more shortcut keys in the Geometry Editor and in Excellon Editor; activated also the zoom (fit, in, out) shortcut keys ('1' , '2', '3') for the editors 2019-01-29 11:59:03 +02:00
Marius Stanciu
c80271935e - minor changes 2019-01-28 16:31:06 +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
34749cae66 - 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:26:58 +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 S
4af4938f85 - added the Edit and Properties entries to the Project context menu 2019-01-24 20:58:36 +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
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
766e15ae38 - changed some tooltips
- added tooltips in Excellon tool table headers
- in Excellon Tool Table the columns are now only selectable by clicking on the header (sorting is done automatically)
- if CNCJob from Excellon then hide the CNC tools table in CNCJob Object
2019-01-21 23:44:22 +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
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
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
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
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
74104ec19f - modified the pull request to include along the flipX, flipY commands
also the Rotate, SkewX and SkewY commands. Fix for issue #235

All perform the same in regard of multiple object selection.
2018-06-05 13:43:14 +03:00
Marius Stanciu
e5dab6f9c3 - added flipx and flipy functions 2018-06-05 00:12:09 +03:00
Marius Stanciu
b005058586 Merge https://bitbucket.org/jpcgt/flatcam/src/master into Menu_clening_icons_adding
# Conflicts:
#	FlatCAMDraw.py
#	FlatCAMGUI.py
2018-05-31 18:31:35 +03:00
Marius Stanciu
090fdf2b39 Merge https://bitbucket.org/jpcgt/flatcam/src/master into Menu_clening_icons_adding
# Conflicts:
#	FlatCAMDraw.py
#	FlatCAMGUI.py
2018-05-31 18:11:41 +03:00
Marius Stanciu
e1c8eaafa9 - in TCL Shell removed the line that setFocus after the item is disabled
(this is pointless)
- added separators between groups of menu items
- added icons for the Drawing -> Paint and for the Drawing - > Buffer
- added ability to add icons for the Tools
- added icons to the current tools (Dblsided Tool, Measurement Tool)
- added buttons in the toolbar for: Open Gerber, Open Excellon,
Open Gcode and Save Project As
- added button in Tools toolbar for Measurement tool
- added separators in the toolbar
- organized the toolbar buttons in multiple toolbars that can be disabled
with right click on the toolbar
- added names for the toolbars where they were not present
2018-05-29 16:48:06 +03:00
Marius Stanciu
a4bbb98bf1 - converted from Python2 code to Python3 code
- in camlib.py, CNCJob class -> generate_from_excellon_by_tool() was
failing in the line to sort the tools due of been unable to compare
between dict's. I replaced that section.
2018-05-26 04:43:40 +03:00
mquezada
8e4f081ac3 Synchronize the state of the plot checkboxes to the state of the settings. 2018-04-20 13:30:38 -04:00
Damian Wrobel
cbad99e340 add python setuptools support
- add setup.py script,
 - switch to use images via "share:" resource name
   (this allows to work both versions of application:
     - system wide installation,
     - directly from source),
 - add .desktop file,
 - rename FlatCAM.py to flatcam and install it as an
   executable script.
2017-06-06 22:06:33 +02:00
Juan Pablo Caram
fb6e1135e9 Added comments. 2016-11-01 00:34:46 -04:00
Juan Pablo Caram
f6d9901365 Added "connect" option for painting polygons. 2016-10-27 17:34:41 -04:00
Juan Pablo Caram
f77403b0f2 Bringing up to date with VisPyCanvas. Mostly migration of Tcl commands to new architecture. 2016-10-08 11:49:22 -04:00
Juan Pablo Caram
9f4ee91b0e Comments at top of files. Also fixes #214. 2016-09-22 10:17:51 -04:00
Juan Pablo Caram
7474609776 Added feature: Select all polygons for painting and shell support with "paint" command. 2016-09-19 16:44:29 -04:00
Juan Pablo Caram
38d6957009 Added SVG-to-GCode flow test. 2016-07-15 22:23:48 -04:00
Juan Pablo Caram
6136afe84c Added dwell (G4) post processing option to gcode. 2016-06-03 22:19:47 -04:00
Juan Pablo Caram
3717169105 Default excellon milling tool dia. Fixes #160. 2016-04-10 16:23:04 -04:00
grbd
a5ff8c574a Added initial svg export functionality 2016-03-21 11:38:14 +00:00
Marius Stanciu
6dc107e462 Bug fixed: the Toolchange Z parameter is not saved in the program/project defaults.
Solution:
Added: 'Toolchange Z'  entry in the Options -> Excellon Options
Also made sure that the "Toolchange Z" parameter is saved in the defaults.json file and also loaded. Added it into the dimensions list so it can be converted in between IN and MM units.
2016-02-16 22:47:21 +02:00
Juan Pablo Caram
b46d2b5f2d SVG ellipse support. 2015-12-24 11:10:41 -05:00
Juan Pablo Caram
67ef16e776 SVG: Accept but ignore units in length. 2015-12-20 20:51:33 -05:00
Juan Pablo Caram
d3ed12e5de Added SVG importing support to the GUI menu. See issue #179. 2015-12-18 16:43:47 -05:00
Juan Pablo Caram
89f3d6e3e3 Added line number information to status bar message on parse error. 2015-11-30 12:36:03 -05:00
Juan Pablo Caram
f503dabc7e Spindle speed for G-code from geometry and excellon. Solves #124. 2015-09-05 17:41:00 -04:00
Juan Pablo Caram
40e8445f2d Added Prepend to G-Code to default settings. This solves #115. 2015-08-31 10:19:46 -04:00
Jørn Sandvik Nilsson
44f5da3326 Added parameter "spindlespeed" to cncjob and drillcncjob. Will generate gcode "M03 S4000" (4000 rpm), or "M03" if omitted. 2015-07-17 09:49:24 +02:00
phdussud
bc524684ab Implemented issue #137 2015-05-28 16:07:06 -07:00
Alexandru Lazar
ae2e227682 Persist main window geometry
Added support for saving and restoring main window geometry.

Saving is done in a somewhat contrieved manner. In order to avoid
exposing App.defaults (or App) to the UI class, a geomUpdate
signal was added to to the FlatCAMGUI class. The signal is emitted
whenever FlatCAMGUI thinks its geometry should be saved (which, so
far, seems to be only in closeEvent()). FlatCAMApp has a slot for
this signal, which updates the defaults dictionary.

Restoring is done by explicitly applying the loaded geometry to
the UI. The UI is initialized (i.e. FlatCAMGUI's __init__ is
called) very early in the initialization sequence, before the
defaults are loaded, so at that time the persisted geometry is
not known to the program. As soon as it is known (i.e. after
load_defaults() is completed), we apply it.

Signed-off-by: Alexandru Lazar <alex@zencoding.org>
2015-03-27 13:48:51 +02:00
jpcaram
e5a8a53ed4 Commented menu in FlatCAMDraw 2015-02-13 16:22:47 -05:00
jpcaram
e353413cd3 Disabled "Ok"/"Update Geometry" button after first update. Solves issue #105. 2015-02-05 09:18:54 -05:00
jpcaram
681996d1f6 Started profiling project (Issue #109). Created first profiling script and included test gerber. 2015-02-02 15:37:08 -05:00
jpcaram
a34ca26a24 Introduce activity monitor FlatCAMProcess.py. 2015-02-01 20:03:03 -05:00
jpcaram
87fdf0a581 Another fixed bug introduced to clear_poly() in previous commit. Added process widget. 2015-01-30 18:10:06 -05:00
Juan Pablo Caram
6cd256ad49 Closing the main window now closes the whole program. 2014-11-20 11:52:08 -05:00
Juan Pablo Caram
cea41c827e Merge Geometry. Excellon coordinate parse fix. New GCode generation algorithm. Improved status bar. 2014-11-16 18:32:15 -05:00
Juan Pablo Caram
5659c3e7bd Fixed Gerber parser: Now buffers current path with previous tool on tool change. 2014-11-13 15:06:43 -05:00
Juan Pablo Caram
73aa0c38a0 Basic geometry editor for goemetry objects started. 2014-10-28 17:39:38 -04:00
Juan Pablo Caram
ef96672cc7 Version 7. Version is now a variable. 2014-10-13 22:00:19 -04:00
Juan Pablo Caram
b2cc2f3fdb Major work on the command line tool. Version check on the new website. 2014-09-21 21:51:50 -04:00
Juan Pablo Caram
8cb509d6f3 Initial implementation of console. 2014-09-13 17:29:07 -04:00