Commit Graph

352 Commits

Author SHA1 Message Date
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
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
63a97bb15b Functioning shell. Version check from flatcam.org. Usage report on version check. 2014-10-13 18:16:43 -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
Juan Pablo Caram
32076d4020 Alpha 6 release files 2014-09-06 20:45:44 -04:00
Juan Pablo Caram
ef30eb5d9c Fixed problem with project saving due to json.dump failing to serialize QString. 2014-08-30 22:06:54 -04:00
Juan Pablo Caram
7c150beaa8 FC icon on 'about' dialog. Some cleanup. 2014-06-13 16:43:17 -04:00
Juan Pablo Caram
16734f5d1a Convertion to Qt. Major refactoring. 2014-06-13 15:21:11 -04:00
Juan Pablo Caram
268421c4d0 Added tooltips to the object UIs. 2014-05-03 02:32:00 -04:00
Juan Pablo Caram
582e472e12 Use of logging instead of print statements. 2014-05-02 22:10:04 -04:00
Juan Pablo Caram
0bdc3b19f0 Major modifications to data/gui interactions. In progress. 2014-04-25 01:24:03 -04:00