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
5a0390f2a4
- fixed the scale, mirror, rotate, skew functions to work with Geometry Objects of multi-geometry type.
2019-01-29 15:56:49 +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
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
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
f553f2b35a
- deleted junk folders
...
- remade the Panelize Tool: now it is much faster, it is multi-threaded, it works with multitool geometries and it works with multigeo geometries too.
2019-01-25 15:16:36 +02:00
Marius Stanciu
6673c4f608
- fixed 'grbl_laser' postprocessor bugs (missing functions)
...
- fixed display geometry for 'grbl_laser' postprocessor
2019-01-24 19:22:02 +02:00
Marius Stanciu
7c301922db
- added a new postprocessor file named 'line_xyz' which have x, y, z values on the same GCode line
...
- fixed calculation of total path for Excellon Gcode file
2019-01-23 00:31:48 +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
b9cbe97f4d
- fixed display HPGL code geometry on canvas
...
- added build folder to gitignore list
2019-01-19 03:02:47 +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
ddf4884051
- fixed cutting from copper features when doing Gerber isolation with multiple passes
2019-01-07 21:38:34 +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
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
14477f4db4
- the main issue was the modules that I imported. It was the FlatCAMObj.py
...
modules which it was not what it was needed. I changed the imports to
camlib.py, remade the functions in camlib.py and now the Flip, Rotate
and Skew work over all the objects of FlatCAM (Gerber, Geometry created
by the FC, Geometry created by the objects, Excellon, CNCJob)
2018-06-06 04:08:50 +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
d4331b49bc
Merged in marius_stanciu/flatcam_mpl/load_gerber_with_zero_value (pull request #83 )
...
Support for Gerber files that have apertures with size zero
2018-06-04 16:56:22 +00:00
Marius Stanciu
da9f890c39
Merged master into Port_to_Python3k
2018-05-29 17:43:33 +03:00
Marius Stanciu
eb0637c5bb
- minor PEP changes
2018-05-26 19:10:07 +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
Marius Stanciu
b8a8cfe1fd
- added support for Gerber files that have apertures with size zero
...
Basically it test the "size" value for the current aperture and if it's
found with zero value it will replace with a really small value
(0.0000001)that for all practical purposes is "zero"
(0.0000001 in inch is really small and in mm is even smaller)
- correcting small typos
2018-05-25 12:41:17 +03:00
Juan Pablo Caram
62f0662083
Support to mill all holes from the command line. Fixes #218 .
2017-05-05 16:20:14 -04: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
0b26a90175
Support for parallel-line painting.
2016-10-27 16:57:36 -04:00
jpcgt
deed138867
Merged in realthunder/flatcam/mirror_fix (pull request #46 )
...
Fixed mirroring list of geometries
2016-10-27 19:48:02 +00:00
Juan Pablo Caram
8afb0704fd
Functional select-all for painting ( #210 ).
2016-09-23 14:04:31 -04:00
Juan Pablo Caram
dbe0105f9b
Fixes SVG parser to produce polygons. Fixes #212 .
2016-09-21 13:01: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
74e936ba02
Added inline docs
2016-08-08 15:23:37 -04:00
Zheng, Lei
8a43a63b80
Fixed mirroring list of geometries
2016-06-13 13:20:25 +08: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
Juan Pablo Caram
9f138bdcc2
Fixes #119 .
2016-06-04 23:01:36 -04:00
Juan Pablo Caram
eb18b7fd3f
Fixes #157 .
2016-06-04 17:54:07 -04:00
Juan Pablo Caram
d1442a4900
Cleaned up G-code parser. Fixed dwell command. Fixes #184 .
2016-06-04 16:45:52 -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
d28858ff38
Fast vertical movement above board. Fixes #141 .
2016-04-10 16:43:03 -04:00
Kamil Sopko
4c20040fbe
fix errors in tool selection
2016-04-09 12:48:32 +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
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
Kamil Sopko
78854f7fe0
fix ordering in naming arguments and help
...
add commands TclCommandAddPolygon(add_poly, add_polygon) and TclCommandAddPolyline(add_polyline)
implement add_polyline in camlib.py
2016-03-17 12:14:12 +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
cf51e4ce2c
implement del_polygon from geometry
2016-02-20 10:56:32 +01:00
Marius Stanciu
71a81173bd
camlib.py edited online with Bitbucket; removed the paranthesis around lambda function as it was making an tuple which it was not the intention.
2016-02-16 21:59:54 +00:00
Marius Stanciu
1be364d065
Issue #188 : Adopted the solution suggested by JP to not use the operator module when performing the sorting on exobj,tools and use instead the lambda function.
2016-02-16 23:25:58 +02:00
Marius Stanciu
1a7e001a66
Added spaces after '#' in the comments
2016-02-16 22:53:01 +02:00
Marius Stanciu
cfa078a1e5
camlib.py (edited a comment) edited online with Bitbucket
2016-02-15 22:35:22 +00:00
Marius Stanciu
a35a422bcc
This is a implementation of the the sorting of the tools found in Excellon file done in Python language and independent of the UI. There is no need to revert the previous solution as that one will make the sorting visible in GUI.
2016-02-15 23:40:08 +02:00
Marius Stanciu
a7b29065df
Solved issue #188 : Order of the drill bits in Gcode generation from Excellon file
...
The tools are ordered by diameter as I found that the tools order in the Excellon file is not always diameter based. There is also a plated / no-plated holes criteria.
The tools in the GUI tool-list are selected all by default.
If the user wants to select only some tools, he should be carefull when selecting the tools as the order of the selection will be the actual order of the tools in G-code.
2016-02-14 07:40:32 +02:00
Juan Pablo Caram
7fd026c254
Fix to Gerber parser, corrects line splitting. Fixes #183 .
2015-12-30 10:26:19 -05:00
Juan Pablo Caram
3940408da5
Added non-compliant support for "-" in ApertureMacro names. Temporary fix for #185 .
2015-12-29 17:35:43 -05:00
Juan Pablo Caram
ea27748697
Use Decimal for depth calculation. Fixes #130 .
2015-12-29 16:34:13 -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
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
05e89b0ec3
Last pass in multi-pass cuts limited to specified z_cut.
2015-11-04 17:27:57 -05:00
Juan Pablo Caram
051b82009d
Multiple depth cut functional.
2015-11-01 18:06:20 -05:00
Juan Pablo Caram
616237ea93
Replace exact last point of arc. Fixes #110 .
2015-10-31 18:55:32 -04:00
Juan Pablo Caram
8f5cc7a02d
Option to override user's defaults. Needed for unit testing.
2015-10-28 12:00:56 -04:00
Thomas Duffin
2c9a307483
Fixes #135
...
The polygon passed to clear_polygon() is generated using shapely’s buffer() function on line FlatCAMObj.py:1095.
When the margin given to the buffer() function is small, a single Polygon object is returned. If the margin is large enough it causes the polygon to be broken into pieces and a Multipolygon is returned instead. A visualisation of this can be seen in the shapely manual in the object.buffer() section.
The first thing clear_polygon() does is buffer the polygon again to take the tool diameter into account and the Polygon/Multipolygon generated by this is handled further down the function. The buffer() function used to take the tool diameter into account can be called happily on both Polygon and Multipolygon objects so there is no reason to block Multipolygons being passed to clear_polygon().
Therefore simply adding Multipolygon to the acceptable types in the assert statement on line camlib.py:382 fixes this bug and causes no further issues.
2015-10-25 23:14:11 +00:00
Juan Pablo Caram
d22b47f4af
Log level back to debug after release.
2015-10-20 20:47:45 -04:00
Juan Pablo Caram
a679883adf
RTree now using shapely object's id() instead of __hash__. Fixes 1#163.
2015-10-20 19:53:39 -04:00
Juan Pablo Caram
982ab16f28
Release version 8.4
2015-10-18 19:24:04 -04:00
Juan Pablo Caram
ee684e8101
Further work on multi-pass cuts.
2015-10-11 20:58:21 -04:00
Juan Pablo Caram
d687fb5287
Started multi-pass cuts.
2015-10-04 21:45:19 -04:00
Juan Pablo Caram
b5f428deea
Added "interiors" shell command.
2015-10-04 21:25:00 -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
1942fe3bed
Create polygon for path drawn so far when D03 is encountered. Fixes #150 .
2015-10-02 19:09:44 -04:00
Juan Pablo Caram
d8c5d46cd0
Workaround for #152 . Check for empty polygons before adding.
2015-09-28 21:25:31 -04:00
Juan Pablo Caram
22119072d3
Cleanup. And fixes #148 .
2015-09-11 14:45:08 -04:00
Juan Pablo Caram
6fa0e91875
Fixed #139 , Polygon aperture twice as large.
2015-08-29 22:30:58 -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
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
f5e481d1fa
Best effort to generate isolation path cutting on the conventional side
2015-06-20 17:50:02 -07:00
jpcaram
cd39a55696
Support for optional '+' on Gerber numbers. Solvers #142 .
2015-06-20 17:29:03 -04:00
phdussud
a8e8b9f0b6
Added S and T to the list of allowed Gcode commands.
2015-06-06 14:14:30 -07:00
jpcaram
31ddb9cf7c
Multiple statement per line problem fixed (Issue #125 ).
2015-04-17 12:46:48 -04:00
Juan Pablo Caram
4ec72bc3f0
Fix for multiple statements per line. Tests pending.
2015-04-16 22:17:06 -04:00
jpcaram
aa951e277b
Fixed conflict with PyQt5. Cleanup. Log level back to debug.
2015-03-31 10:41:32 -04:00
Juan Pablo Caram
476f1e5858
Version 8.3 for Windows.
2015-02-22 17:34:57 -05:00
jpcaram
873db32aad
Fixed gerber parse error related to extra trace.
2015-02-17 17:54:51 -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
9dec4ff32f
Activity shown for CNC Job generation via context manager.
2015-02-13 14:37:54 -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
247901655c
Complete tool change sequence for gcode generated from excellon.
2015-02-07 19:32:02 -05:00
jpcaram
41e63c4390
Added paint_connect to standard paint algorithm. Resolves issue #103 .
2015-02-07 18:41:29 -05:00
jpcaram
bba4f3a8bb
Tool change support for gcode from excellon. Untested.
2015-02-07 13:32:58 -05:00
jpcaram
17a3316ce4
Improved speed in FlatCAMRTreeStorage.
2015-02-06 17:16:11 -05:00
jpcaram
e353413cd3
Disabled "Ok"/"Update Geometry" button after first update. Solves issue #105 .
2015-02-05 09:18:54 -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
jpcaram
f92255b8f9
Fixed bug introduced to clear_poly() in previous commit.
2015-01-30 15:17:57 -05:00
jpcaram
d903356a55
Solved units change problem during parsing (issue #80 ).
2015-01-30 14:41:56 -05:00
jpcaram
3aa1746b23
Refactored basic painting algorithm to generate FlatCAMRtreeStorage.
2015-01-30 13:47:25 -05:00
jpcaram
4389f173a8
Removed path_join() from painting algorithm as paint_join() should do the trick alone.
2015-01-29 17:22:09 -05:00
jpcaram
c2c7a83855
Seed painting algorithm working with optimizations.
2015-01-29 17:02:06 -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