Commit Graph

242 Commits

Author SHA1 Message Date
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