Commit Graph

462 Commits

Author SHA1 Message Date
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
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 41e471d9d5 - changed the self.info() functions to signal self.inform.emit() and
the signal is emitted only once per operation not for each object in
selection.
2018-06-05 03:19:58 +03:00
Marius Stanciu e5dab6f9c3 - added flipx and flipy functions 2018-06-05 00:12:09 +03:00
Marius Stanciu 9211da39c7 Merged in marius_stanciu/flatcam_mpl/add_global_setting_global_mouse_pan_button (pull request #105)
New global_variable for mouse_pan_button
2018-06-04 16:53:44 +00:00
Marius Stanciu b63c3219a7 - added a new global setting only accessible through the Tcl Shell,
named: global_mouse_pan_button
It can be set through set_sys TclCommand or the value getted through
get_sys TclCommand.
Values are 1 for left mouse button, 2 for middle mouse button and
3 for right mouse button.
It does hurt my hand (wrist) keeping the middle mouse button pressed
when panning and I very much preffer panning with RMB.
The default setting is pan_button = middle mouse button.
2018-06-01 21:05:51 +03:00
Marius Stanciu f30b44d637 - automatically select the object on every new_object while previously
selected objects are deselected leaving the new object as the only one
selected.
2018-06-01 14:50:29 +03:00
Marius Stanciu b7d95feae3 Merged in marius_stanciu/flatcam_mpl/Menu_clening_icons_adding (pull request #94)
Menu-Toolbars cleaning / adding icons / adding buttons
2018-05-31 15:41:14 +00: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 5ff3f66b04 Merge https://bitbucket.org/jpcgt/flatcam/src/master into Follow_TCL_command_add_to_new_architecture
# Conflicts:
#	FlatCAMApp.py
2018-05-31 17:53:35 +03:00
Marius Stanciu 9e79843026 Merged in marius_stanciu/flatcam_mpl/Port_to_Python3k (pull request #84)
Conversion from Python2 code to Python3 code
2018-05-31 13:15:50 +00:00
Marius Stanciu c67d2f0028 - modified the TCL comamand follow to the new architecture. Tested it and
it works without crashes. It can be safely pulled in.
2018-05-31 02:09:15 +03:00
Marius Stanciu 8a9c4b4648 Merged in marius_stanciu/flatcam_mpl/fix_calls_to_info() (pull request #96)
Fix issue #254
2018-05-30 20:04:27 +00:00
Marius Stanciu c85a142759 - fixing issue #254
- replaced (as per advice from @jpcgt) the lines with app.info call
to using a signal which is safe to use in a threaded environment,
app.inform.emit()
2018-05-30 22:52:50 +03:00
Marius Stanciu a6a26de0d3 Merge https://bitbucket.org/jpcgt/flatcam/src/master into Port_to_Python3k
# Conflicts:
#	ObjectCollection.py
2018-05-30 20:38:43 +03:00
Marius Stanciu 41dffe44d4 Merge https://bitbucket.org/marius_stanciu/flatcam_mpl/src/master into Port_to_Python3k 2018-05-30 17:54:34 +03:00
Marius Stanciu aff21d7cb0 - changed the default way to copy the coordinates to clipboard. Before,
at each mouse click on canvaas the coordinates were copied to clipboard.
Now for the same feet it require to have the CTRL key pressed while
clicking on canvas for the coordinates to be copied.
2018-05-30 08:02:03 +03:00
Marius Stanciu 3b9767cc6f - I've finally run the tests with OK result (56 tests in 102.937 sec)
- I had to play with module imports as they created a lot of error in
the tests although in reality the program worked OK.
- I've fixed some mistakes in TcL commands (they were testing isinstance
against the like of Geometry instead of FlatCAMGeometry)
- I've had to add some fixes in ObjectCollections.py (error on
create_index() method but Marco already fixed this in the checkbox
in project tab pull request and knew about this.
- Although at some point the tests run fine, I've made some checkings
on my own over the Tcl commands and discovered errors which I fixed as
mentioned above.
- conclusion is that tests are just a must and do not cover everything
(like saving projects which at some point by juggling with imports I
braked and tests were 100% OK)
2018-05-30 02:17:34 +03:00
Marius Stanciu 30eb600c02 - added ability to add a menu-entry separator after the tool, on install 2018-05-29 17:23:06 +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 ef611753a6 - added the posibility to create an object without plotting it. Also if
the project is created with plot=False then it will not be checked in
Project tab
- improved the panelize command by toggling OFF the plot for the
temporary objects. There is no need to plot the temporary objects, only
the panel is of interest
- add a few aliases for the Panelize command ('pan' and 'panel')
2018-05-28 15:46:42 +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 9564ab7334 Part 3, removed tab_change handler. 2018-05-04 19:43:29 -04:00
mquezada e971372d7c Incorporating comments and functionality frpm JP. Removed need to use tab_change signal, removed inheritance dependency on QAbstractItemModel, implemented option_changed property. 2018-05-04 19:41:20 -04: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 261054f1cf Cleanup of TclCommand and migrated a few more commands to new architecture. 2016-10-18 11:36:58 -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 03c49f3afd Attempt to fix #138. Keeping open for verification. 2016-09-19 17:53:48 -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 f5c7fdab71 Some cleanup to shell tests. 2016-07-04 16:25:59 -04:00
Juan Pablo Caram a9b4ff767b Some cleanup to shell tests. 2016-07-03 15:59:25 -04:00
Juan Pablo Caram 28bb476a5c Fixes #202 2016-06-11 21:55:53 -04:00
Juan Pablo Caram f9cbd78cd1 Show messages and errors in TCL shell. Better exception handling and reporting when opening files. 2016-06-11 21:33:38 -04:00
Zheng, Lei 856d126546 Added indent to json in save_project
This is to make the saved project file more version control frendly
2016-06-09 15:55:17 +08:00
Juan Pablo Caram ee8e9f8f4b Support for mirroring Geometry Objects from the shell. See #119. 2016-06-04 23:04:22 -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 36d0a2e029 Cleaned up tests for shell. Added test steps for gerber flow. 2016-06-03 17:15:35 -04:00
Kamil Sopko db15044706 fix exception thrown when new project is issued from shell(probbly from guy too) because of excellon_tooldia introduced,
but no default values and no in array dimensions on change units

defaults added for excellon_tooldia background_timeout and verbose_error_level in self.options.update({})
2016-04-12 13:09:41 +02:00
Juan Pablo Caram 3717169105 Default excellon milling tool dia. Fixes #160. 2016-04-10 16:23:04 -04:00
Kamil Sopko e236a60be9 implement system values background_timeout and verbose_error_level
implement correct error level handling based on verbose_error_level ,  fix  double print of  tcl error and  do not wrap unknown  exceptions into TCL known
2016-04-10 15:14:18 +02:00
Kamil Sopko fae9875dd8 remove unknown workaround 2016-04-10 11:09:26 +02:00
Kamil Sopko 5bd6432ead solve message in special tcl keywords used in wrong context as "unknown" 2016-04-06 11:20:53 +02:00
Kamil Sopko b98954dccd fix error handling in signaled commands, error gets info about different scoup instead of true error
more detaild error  print including python trace when more complex unknown error

reinplement drillcncjob

fix camlib problem with all  drills("all"  was already there) but it crashes on tools without points, when  no tools "all" is as default

add timeout to all helps  if  command is  signaled
2016-04-03 14:20:50 +02:00
Kamil Sopko a4845d150e add important comment 2016-04-03 10:43:06 +02:00
Kamil Sopko f4ef7baedb Merge branch 'merge-tcl-commands' of https://bitbucket.org/sopak/flatcam into tcl-commands
Conflicts:
	FlatCAMApp.py
	FlatCAMWorker.py
	termwidget.py
2016-03-31 18:03:48 +02:00
Kamil Sopko 80d6c657d5 merge changes from master
merge dockable shell
2016-03-25 13:56:18 +01:00
Kamil Sopko 5ec25ebea6 remove blank line 2016-03-25 12:24:57 +01:00
Kamil Sopko 4a57e437fc Implement shell window as dockable 2016-03-25 12:16:54 +01:00
Kamil Sopko 2082446ab0 tweak signal handling 2016-03-25 00:59:02 +01:00
Kamil Sopko e96ee1af29 merge new pull requests from FlatCAM->master
implement  executing of tasks  inside worker thread
cleanups, reimplement  Isolate/New/OpenGerber as OOP style Shell commands
disable edit  during shell execution,  show   some  progress
add ability for breakpoints in other threads and only if available
add X11 safe flag, not sure what happen on windows
2016-03-24 23:06:44 +01:00
Juan Pablo Caram a520729444 Complete implementation of blocking mechanism waiting for signal. See #196. 2016-03-24 16:06:44 -04:00
Juan Pablo Caram b0575a1c34 Tidying up imports. 2016-03-24 15:44:22 -04:00
Juan Pablo Caram d010fa27cf Merge remote-tracking branch 'origin/master' 2016-03-23 14:59:24 -04:00
Juan Pablo Caram 95676f21e2 Blocking in shell functions. Correctly report exceptions in threads. See #196. 2016-03-23 14:58:53 -04:00
jpcgt ed7b352c6a Merged in grbd/flatcam (pull request #35)
Added initial svg export functionality
2016-03-23 12:02:24 -04:00
Juan Pablo Caram 790f53dd55 Blocking in shell functions. Test for exception handling. See #196. 2016-03-23 11:06:48 -04:00
grbd 039a2dd4dc Made scale_factor optional for cli, added more comments, removed redundant code 2016-03-22 23:22:02 +00:00
grbd ee43d8b920 Additional fixes for export size and flattening the geometry list 2016-03-22 18:56:04 +00:00
grbd a2a1a08e3d This adds a bunch of fixes when exporting svg's from geom's or cncjobs generated from drill files, also adds support for exporting drill files directly as svg's, and should capture any objects that use list within the solid_geometry attribute 2016-03-22 09:54:57 +00:00
grbd 10e9fa74c3 Added some additional checks for the types when exporting, and additional comments 2016-03-22 02:25:07 +00:00
grbd 17b4edb94b Fixed the scaling issues with the svg export 2016-03-21 19:34:33 +00:00
grbd b272329384 Initial scaling fixes for svg export 2016-03-21 17:25:46 +00:00
grbd a5ff8c574a Added initial svg export functionality 2016-03-21 11:38:14 +00:00
Kamil Sopko 980638630d cleanups
implement TclCommand.TclCommandSignaled as proof of concept (not usefull)
bypass using threads  within obj.generatecncjob(use_thread = False, **args)
reimplement some more shell commands  to  OOP style
2016-03-19 15:13:07 +01:00
Kamil Sopko 0f463a1fc2 Merged master into tcl-errors 2016-03-18 11:16:47 +01:00
Juan Pablo Caram 7b29c52951 Merge branch 'master' of https://bitbucket.org/jpcgt/flatcam 2016-03-17 17:35:13 -04:00
Juan Pablo Caram a6f150a01d Blocking in shell functions. See #196. 2016-03-17 17:33:34 -04:00
Kamil Sopko 2e51c1e9cd hide showing 'None' if command end sucessfully 2016-03-17 10:54:01 +01:00
Kamil Sopko cd6700152c draft for reimplementation of tcl commands to separated files/modules 2016-03-16 18:57:43 +01:00
Kamil Sopko 4df46df19b remove line
fix  crazzy selfness ;)...
2016-03-11 20:32:48 +01:00
Kamil Sopko fd1c8afef9 implement basic set of tests for tcl_shell, need to be completed 2016-03-11 01:50:12 +01:00
Kamil Sopko 6b527fa256 example howto handle Exceptions in shell 2016-03-10 16:01:50 +01:00
Kamil Sopko 4f2f989bdf set rules for TCL shell commands
implement TCL shell rules for:
drillcncjob,
millholes(renamed from drillcncjobgeometry),
exteriors,
interiors,
isolate
2016-03-07 11:05:42 +01:00
jpcgt 0f438db833 Several PEP8 cleanups in shell commands. 2016-03-03 14:51:36 +00:00
Kamil Sopko e3c43f6de1 remove Empty line 2016-03-02 00:49:51 +01:00
Kamil Sopko b4abef8317 remove Empty line 2016-03-02 00:46:23 +01:00
Kamil Sopko a8159dee16 "return -code error XXX" display error in better way 2016-03-02 00:45:49 +01:00
Kamil Sopko 3fd9b361b8 implement raiseTclError and as example use it in drillcncjob 2016-03-02 00:41:54 +01:00
Kamil Sopko 2cc3d811c5 remove duplicity when print error 2016-03-01 18:22:57 +01:00
Kamil Sopko fd869ad88c remove raise, it does not kill app, but raise is unnecessary here 2016-03-01 18:15:38 +01:00
Kamil Sopko 3878ddb782 display more precise answer if something in TCL shell fail 2016-02-29 22:22:23 +01:00
Juan Pablo Caram ced43df1bc Catch when recent file type is not supported. See #192. 2016-02-29 14:18:50 -05:00
Kamil Sopko dc374a8233 remove blank line 2016-02-25 16:33:44 +01:00
Kamil Sopko 26189960ff update help 2016-02-25 16:31:57 +01:00
Kamil Sopko 9420aaad60 add multidepth and depthperpass to cncjob shell command 2016-02-25 00:03:19 +01:00
Kamil Sopko ba94aef069 fix aligndrill and also logicical errors in it 2016-02-24 22:37:23 +01:00
Kamil Sopko c3e544ac6c FlatCAMObj - to_form,read_form,read_form_item cleanups for better debuging and cleanup Excellon merge method
FlatCAMApp - fix  accidentall delete issue, change  calling  to  understand FlatCAMObj changes
2016-02-23 12:21:57 +01:00
Kamil Sopko a827e184b7 rename del_polygon to subtract_polygon
correctly  modify current  geometry and  dont leave it as path
fix shellcommands  to follow  new names
tweak  geocutout to be able cut 8  gaps
2016-02-23 00:23:27 +01:00
Kamil Sopko 23d5d7bd64 aligndrillgrid - fix offset direction -5 should be -x axis 2016-02-22 11:19:30 +01:00
Kamil Sopko f119f4de03 implement command aligndrillgrid, which creates grid of holes to bed 2016-02-22 10:50:06 +01:00
Kamil Sopko 1d663c4efe allow use aligndrill also for geometries 2016-02-21 17:39:26 +01:00
Kamil Sopko f73c1b81dc implement some new shell commands, which helps panelize milling operations
shell commands:

  join_excellons - ability to join excellons  together

  panelize  - placing geometries and excellons  in columns and rows
2016-02-21 17:21:51 +01:00
Kamil Sopko 5acdbd51e3 implement some new shell commands,
which helps automate system of milling and cutting out shapes
 like arduino uno board etc.

shell commands:

  aligndrill - Create excellon with drills for aligment.

  geocutout  - Cut holding gaps closed geometry.

  del_poly - Remove a polygon from the given Geometry object.

  del_rect - Delete a rectange from the given Geometry object.
2016-02-20 11:38:35 +01: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 2bf78920ae PlotCanvas now stores reference to app. 2016-01-03 16:38:24 -05:00
Juan Pablo Caram 96885c80a4 Fixes #158. 2015-12-30 11:45:05 -05:00
Juan Pablo Caram 2354116e37 SVG supported in "recent files" menu. 2015-12-20 21:57:27 -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 fdf809774f Basic support for importing SVG. Via shell only at this time. See issue #179. 2015-12-18 12:49:52 -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 5e4016a2f9 App.log changed to self.log. Caused reference error in unit tests. 2015-10-31 18:59:58 -04:00
Juan Pablo Caram 8f5cc7a02d Option to override user's defaults. Needed for unit testing. 2015-10-28 12:00:56 -04:00
Juan Pablo Caram fb98d6306b Option to override user's defaults. Needed for unit testing. 2015-10-28 11:21:27 -04:00
Juan Pablo Caram 95f51b2870 Cleaned out the tests folder. Added simple test gerber. Added simple unit test using the GUI. 2015-10-27 21:27:27 -04:00
Juan Pablo Caram ed20a3d208 Fixes #161. outname parameter was missing from docs for isolate. 2015-10-23 19:37:08 -04:00
Juan Pablo Caram 16a9f8bd37 Fixes #162 2015-10-23 19:30:26 -04:00
Juan Pablo Caram 33146af784 Specify distance from axis instead of box in mirror shell command. 2015-10-23 18:10:24 -04:00
Juan Pablo Caram eeedb19dc3 Fixes #165. 2015-10-23 17:08:40 -04:00
Juan Pablo Caram d22b47f4af Log level back to debug after release. 2015-10-20 20:47:45 -04:00
Juan Pablo Caram 982ab16f28 Release version 8.4 2015-10-18 19:24:04 -04:00
Juan Pablo Caram b5f428deea Added "interiors" shell command. 2015-10-04 21:25:00 -04:00
Juan Pablo Caram a9ddcbbe5c Added "exteriors" shell command. 2015-10-04 21:10:42 -04:00
Juan Pablo Caram 4110940d49 Minor fix to "millholes" shell docs. Added get_exterior() method to Geometry. 2015-10-04 20:48:06 -04:00
Juan Pablo Caram a2ac2b12be Support for milling holes from the shell, command "millholes". 2015-10-03 20:03:53 -04:00
Juan Pablo Caram 9724f30551 Wait for object availability by subscribing to signal. Fixes #145. 2015-10-02 14:51:54 -04:00
Juan Pablo Caram 5e45699c35 Fixes #120. 2015-09-11 15:19:28 -04:00
Juan Pablo Caram 22119072d3 Cleanup. And fixes #148. 2015-09-11 14:45:08 -04:00
Xenosb 48717e9348 Fix for KeyError on spindlespeed 2015-09-09 19:50:29 +02:00
Juan Pablo Caram e3345560ec More circular import fixes. 2015-09-06 16:17:31 -04: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
Juan Pablo Caram 0077aaea14 Started solution to #145. 2015-08-30 18:22:54 -04:00
Jørn Sandvik Nilsson 98e0e80b40 Conflict resovle 2015-07-18 20:22:14 +02:00
Jørn Sandvik Nilsson c36af7b348 Added help text for the new parameters 2015-07-17 10:32:54 +02:00
Jørn Sandvik Nilsson 7976c7a68a Added missing help text for the new parameter 2015-07-17 10:25:13 +02:00
Jørn Sandvik Nilsson c91ec6f511 Added 'toolchange' as an optional parameter to shell command 'drillcncjob', '-toolchange 1' toggles the option. 2015-07-17 10:16:27 +02: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 0bf21458c6 Resolve issue 144
Added a test for the new mechanism
Added a gerber test file
2015-06-26 13:42:55 -07:00
phdussud bc524684ab Implemented issue #137 2015-05-28 16:07:06 -07:00
phdussud 51d6216361 Delete will delete all selected items
Added tcl command: join_geometries which is the same command as edit -> join geometry
2015-05-19 16:50:16 -07:00
jpcaram aa951e277b Fixed conflict with PyQt5. Cleanup. Log level back to debug. 2015-03-31 10:41:32 -04: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
Juan Pablo Caram 476f1e5858 Version 8.3 for Windows. 2015-02-22 17:34:57 -05:00
Juan Pablo Caram 9b9258a831 Restored cd into app folder. 2015-02-13 17:40:33 -05:00
Juan Pablo Caram 519df2385f Final 8.2 for Windows. Removed cd into app folder. 2015-02-13 17:39:22 -05:00
Juan Pablo Caram dda9bb1864 Version 8.2. Log level to WARNING. Removed unused scipy.optimize. 2015-02-13 16:57:42 -05:00
jpcaram 5ab7e04c2e Moved object name collision detection from new_object() to ObjectCollection.append(). Solves issue #107. 2015-02-13 15:04:57 -05:00
jpcaram 2c699406f7 Activity indicator as context manager when opening files. Opening gerber from File->Open Gerber launches open_gerber in thread. 2015-02-13 14:05:06 -05:00
jpcaram 8da39d54d4 Desctivates canvas callbacks in drawing tool when deactivated. 2015-02-12 17:06:29 -05:00
jpcaram 23b20ba716 Added intersection tool to Drawing Tool. 2015-02-06 16:10:15 -05:00
jpcaram e353413cd3 Disabled "Ok"/"Update Geometry" button after first update. Solves issue #105. 2015-02-05 09:18:54 -05:00
jpcaram a34ca26a24 Introduce activity monitor FlatCAMProcess.py. 2015-02-01 20:03:03 -05:00
jpcaram 3aa1746b23 Refactored basic painting algorithm to generate FlatCAMRtreeStorage. 2015-01-30 13:47:25 -05:00
jpcaram 6733ebbfa8 Refactored paint_connect() and path_connect() to receive and return FlatCAMRTreeStorage objects. Updated unittests acordingly. 2015-01-29 15:52:03 -05:00
jpcaram fd2657a8d7 Solves seed painting problem in issue #102. 2015-01-21 09:50:01 -05:00
Juan Pablo Caram 0cee5d95cc Not re-raising TCL errors. Solves issue #82. 2015-01-19 17:49:49 -05:00
Juan Pablo Caram 05d6adda8b Chdir to application directory. 2015-01-19 17:24:41 -05:00
Juan Pablo Caram 6361ad3338 Path check. 2015-01-19 17:17:16 -05:00
Juan Pablo Caram 670dd48127 Added "excellon_zeros" application default. It get propagated to the Excellon class. 2015-01-18 21:10:19 -05:00
Juan Pablo Caram 34a6b60053 Fixed Geometry merging. Solves issue #99. 2015-01-18 20:23:37 -05:00
Juan Pablo Caram 840cfcf9ff Cleanup for 8.1 2015-01-15 15:53:42 -05:00
jpcaram 2a21c426e3 Fixes replot problem after delete with key. 2015-01-14 20:35:49 -05:00
jpcaram 207842f98f Added some error handling to the Excellon parser. 2015-01-10 19:01:12 -05:00
Juan Pablo Caram ddd90f9f33 Solves Gerber parser bug in Issue #92 (Incorrect Flashes). 2015-01-06 13:06:01 -05:00
jpcaram ba4ddee5fe Cleanup. 2015-01-03 13:24:55 -05:00
Juan Pablo Caram 1eaba57dd1 Version 8. Cleanup and logging level reduced to WARNING. 2015-01-02 18:25:05 -05:00
Kamil Sopko 0a3b384d0b add cmd line -h for help
and --sellfile=<path> to read  shell directly
2015-01-01 23:52:11 +01:00
Kamil Sopko de3694f86c add shell commands and docs:
cutout
mirror
drillcncjob

small shell command write_gcode fix
2014-12-28 22:49:04 +01:00
jpcaram a0d6d1a6a9 Added OS-X installation instructions to manual. 2014-12-27 15:12:49 -05:00
jpcaram d15d768f3e Fixed saving defaults.json to the right location 2014-12-12 13:40:14 -05:00
Juan Pablo Caram ac667682b3 Updated Ubuntu setup script to support rtree. Removed defaults.json and recent.json from the main dir. 2014-12-12 13:04:01 -05:00
Juan Pablo Caram f68cffcfb2 Hole milling is functional. Solves issue #74. 2014-12-09 21:30:01 -05:00
Juan Pablo Caram 7a95d739ef Snap-to feature in drawing tool. 2014-11-30 13:48:16 -05:00
Juan Pablo Caram 2dad3ce903 Moved last used folder into application defaults. 2014-11-29 16:09:38 -05:00
Juan Pablo Caram c4aa90090b Settings and recent items now saved to propper location. Added missing icons. 2014-11-29 00:31: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 b873cbfea4 Fixed Gerber parser: Now buffers current path with previous tool on tool change. 2014-10-31 14:04:47 -04:00
Juan Pablo Caram 277a1f03a4 Solved bug preventing from changing more than one application/project option at a time. 2014-10-30 12:29:39 -04:00
Juan Pablo Caram 84bd8d14c6 Fixed bug failing to generate new unique names for objects. 2014-10-30 11:59:58 -04:00