Commit Graph

183 Commits

Author SHA1 Message Date
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
jpcaram a1345f0a58 Fixes to path_connect() related to LinearRings. Added test cases. 2015-01-27 18:16:22 -05:00
jpcaram 573581ca80 Fixes to path_connect() and added units tests for it. 2015-01-26 17:52:26 -05:00
jpcaram 6b51f03db2 "Paint connect" functional. Added to seed-based painting and unit-tested. "Path connect" still pending. Disabled. "Path connect" unit test added. 2015-01-25 16:55:22 -05:00
jpcaram 9632d9a98f First write (untested) of paint_connect. 2015-01-22 21:23:10 -05:00
jpcaram a42c3f6e10 Functional Geometry.path_connect() and added to seed-based painting algorithm. 2015-01-22 18:43:39 -05:00
jpcaram a7dc9bcc09 Path optimization: Connect adjacent paths. 2015-01-22 18:11:09 -05:00
jpcaram e5185dd66f Cleanup of camlib.CNCjob. 2015-01-22 17:23:18 -05:00
jpcaram fd2657a8d7 Solves seed painting problem in issue #102. 2015-01-21 09:50:01 -05:00
Juan Pablo Caram 6361ad3338 Path check. 2015-01-19 17:17:16 -05:00
Juan Pablo Caram 922aa6734d Added python-simplejson line to setup_ubuntu.sh. 2015-01-19 12:41:34 -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 4c234fcd55 Fixes polygon finding for painting. Function find_polygon made a method of Geometry. Solves Issue #96. 2015-01-14 20:24:37 -05:00
jpcaram 3bedda2aeb Unittests for Excellon number parser. 2015-01-11 19:39:01 -05:00
jpcaram 1b154ab057 Added support for M71/72 in Excellon parser. 2015-01-11 18:28:59 -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
Juan Pablo Caram 1eaba57dd1 Version 8. Cleanup and logging level reduced to WARNING. 2015-01-02 18:25:05 -05:00
Juan Pablo Caram fe61447887 Cleanup for version 8. 2015-01-02 12:59:06 -05:00
Juan Pablo Caram 04d028ecc0 Removed print statements. 2015-01-02 00:06:48 -05:00
jpcaram 9c5b6a8799 Cleanup. 2015-01-01 23:13:07 -05:00
jpcaram 8c082365d7 Added KeySensitiveListView for objects in project. Delete key deletes selected objects. 2015-01-01 22:27:55 -05:00
jpcaram f17f955355 Added delete button in drawing toolbar. 2015-01-01 15:41:50 -05:00
jpcaram 977b5b1f91 Using FlatCamRTreeStorage in copper clearing algorithm. 2015-01-01 14:59:45 -05:00
jpcaram c20c6b0abf Using FlatCAMRTreeStorage in DrawingTool. 2014-12-31 16:45:10 -05:00
Juan Pablo Caram e547386649 Custom RTree wrapper. FlatCAMRTree and FlatCAMRTreeStorage. 2014-12-28 18:06:54 -05:00
jpcaram a0d6d1a6a9 Added OS-X installation instructions to manual. 2014-12-27 15:12:49 -05:00
jpcaram 360127e6ad Functioning 3-point arc. Progress on 2pt + center arc. 2014-12-22 21:31:57 -05:00
jpcaram 97a1e17b0d Fixed bug preventing from saving G-Code. 2014-12-19 13:40:14 -05:00
jpcaram c1b606feb4 Temporary fix/workaround for bug #83. Checking for empty list before running cascaded_union. 2014-12-14 19:03:04 -05:00
Juan Pablo Caram 4eb69a9f07 Added some debug prints to camplib.py 2014-12-12 14:35:34 -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 fe2b4c7478 Added Feed Method for clearing polygon. Some minor correction to Geometry.plot() 2014-12-07 14:53:33 -05:00
Juan Pablo Caram 66929a82db Fixed gerber parser for 360 deg. arcs. 2014-11-21 10:43:00 -05:00
Juan Pablo Caram 45327552de Gerber support for single quadrant arcs (G74). 2014-11-20 21:43:32 -05:00
Juan Pablo Caram 47dd9e3715 Fixed zdownrate bug preventing gcode generation. 2014-11-17 19:27:17 -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 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 32076d4020 Alpha 6 release files 2014-09-06 20:45:44 -04:00
Juan Pablo Caram 0974e54d98 Some fixes (hacks) to load certain malformed gerber. 2014-08-31 16:40:07 -04:00
Juan Pablo Caram 20c381d510 Fixes to gerber parser related to aperture macros and aperture definitions allowed characters in names. 2014-08-30 12:28:04 -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
Juan Pablo Caram a20a7e1d8c Added setup script for Ubuntu. 2014-04-19 00:20:22 -04:00
Juan Pablo Caram e0d2daca6c Optimized Gerber parser. Some minor improvements to Excellon parser. 2014-04-18 20:20:17 -04:00
Juan Pablo Caram 2ed0f73f87 Support for LPD and LPC in Gerber. Major changes in Gerber parser. 2014-04-12 02:16:39 -04:00
Juan Pablo Caram 6c13b7dc59 Warning before overwriting. More flexible Excellon parser (tool numbers). Other small fixes. 2014-04-05 00:36:23 -04:00
Juan Pablo Caram 9740739f05 FlatCAMObjs now stored in ListStore. Expected to solve several issues. Some updates to the new architecture still pending. 2014-04-04 11:41:03 -04:00
Juan Pablo Caram 609561f7a3 Created class ObjectCollection to manage the list of objects in the program. Converted the program to use it. Not fully functional yet. 2014-04-02 19:53:00 -04:00
Juan Pablo Caram 23ba2105c1 Bug fix in Excellon parser. Was not supporting a '+' in from of numbers. 2014-03-28 18:14:21 -04:00
Juan Pablo Caram fb261d64b3 Bug fix in Gerber parser. Removed requiring the 0 in D0x. 2014-03-18 09:27:24 -04:00
Juan Pablo Caram 942e274597 Important fix to Excellon parser. 2014-03-18 09:06:10 -04:00
Juan Pablo Caram 9d9c3f819d Serialization of ApertureMacro. Change scale, offset and mirror in Gerber to act only upon its resulting geometry, not its source data. 2014-03-13 22:37:59 -04:00
Juan Pablo Caram 21da78d654 Small fixes in ApertureMacro and updated docs. 2014-03-12 23:30:19 -04:00
Juan Pablo Caram 04b9a0ecd7 Added full support for Aperture Macros in Gerber parser. 2014-03-12 19:45:40 -04:00