1
0
mirror of git://projects.qi-hardware.com/cae-tools.git synced 2024-12-23 08:59:53 +02:00
Commit Graph

226 Commits

Author SHA1 Message Date
Werner Almesberger
ea11b88bee gp2rml/gp2rml.c (main): use getopt 2015-05-22 11:28:41 -03:00
Werner Almesberger
ecaffbb1fe sfc/slicer.py: new option -m for model tolerance; correct usage 2015-05-22 10:00:16 -03:00
Werner Almesberger
096b91e93a cameo/lang.l: require all commands followed by file name to end with whitespace
This avoids embarrassment after typos like  write-gerber foo.g
2015-03-15 21:13:26 -03:00
Werner Almesberger
c7ff028cc9 cameo/: new command write_gerber, for Gerber output 2015-03-15 21:07:47 -03:00
Werner Almesberger
dddb035255 cameo/path.c (path_find_leftmost): continue searching for the smallest coordinate
Else, we may find a large X that is still the smallest at that time, but
then find a smaller X in some other path and pick the wrong path.
2015-01-28 14:01:58 -03:00
Werner Almesberger
1f04d6490a cameo/templates/mkmk-simple: accept no only Gerber but also $NAME.gp as input 2015-01-28 13:59:59 -03:00
Werner Almesberger
dc79b03b1d sfc/slicer.py: add overshoot only after slicing
Otherwise, we slice below the bottom of the piece , which probably won't
go too well ..
2015-01-23 02:49:20 -03:00
Werner Almesberger
a20499bb9f sfc/slicer.py: also let getopt know that we support -o 2015-01-22 20:27:46 -03:00
Werner Almesberger
4d084a6191 sfc/slicer.py: new option -o to add an offset to the last layer 2015-01-21 02:47:51 -03:00
Werner Almesberger
84889441f3 sfc/slicer.py: when height is used as coordinate, correct it for the Z offset 2015-01-21 02:35:59 -03:00
Werner Almesberger
4cc43e1661 sfc/slicer.py: when flipping, also flip Z positions used for selecting levels
This led to toolpaths full of strange yet almost imperceptible errors
along the Z axis, just on the edge of what could be explained by
machining tolerances.
2015-01-20 03:19:22 -03:00
Werner Almesberger
ed0129df1e sfc/slicer.py: fix generation of intermediate layers 2015-01-19 03:33:04 -03:00
Werner Almesberger
385bd601a6 poly2d/p2d_attrib.c (p2d_is_cw): check that the angle isn't NaN
Been had by this a little too often ...
2015-01-19 02:59:43 -03:00
Werner Almesberger
155cfa3d44 poly2d/p2d_attrib.c (angle_3): prevent acos() domain errors
Rounding errors could push us slightly outside the [-1, 1] range, which
caused acos() to return NaN, which in turn broke p2d_is_cw, and eventually
tripped create_interior_skeleton_and_offset_polygons_with_holes_2.
2015-01-19 02:57:40 -03:00
Werner Almesberger
ecb7667c7c sfc/slicer.py: cleanup and debugging; add various alignment and transformation options 2015-01-18 22:52:57 -03:00
Werner Almesberger
79a821052f sfc/slicer.py: FreeCAD-based slicer, first commit 2015-01-18 21:03:49 -03:00
Werner Almesberger
ae8d393859 test/bugs: add regression tests for p2d_no_intersect and angle_3 bugs
That's commits 84f9d3c3b4
and 7ca942d0e9
2015-01-18 20:57:09 -03:00
Werner Almesberger
149fc262ff poly2d/: change license from GPLv2+ to LGPLv2.1+ 2015-01-18 20:45:44 -03:00
Werner Almesberger
7ca942d0e9 poly2d/p2d_attrib.c (angle_3): don't divide by zero ...
This broke p2d_is_cw which in turn tripped
CGAL::create_interior_skeleton_and_offset_polygons_with_holes_2
with the infamous

terminate called after throwing an instance of 'CGAL::Assertion_exception'
  what():  CGAL ERROR: assertion violation!
Expr: lParent
File: /usr/include/CGAL/arrange_offset_polygons_2.h
Line: 94
2015-01-18 20:27:26 -03:00
Werner Almesberger
05d3d50421 poly2d/p2d_attrib.c: correct line wrap in title comment (how did this get there ?) 2015-01-18 20:20:37 -03:00
Werner Almesberger
de7df0b41c poly2d/p2d_attrib.c (angle_3): put spaces around operators 2015-01-18 20:17:58 -03:00
Werner Almesberger
6084b52c15 poly2d/p2d_area_holes.cpp (recurse_area): correct confusing indentation 2015-01-18 20:15:44 -03:00
Werner Almesberger
84f9d3c3b4 poly2d/p2d_attrib.c (p2d_no_intersect): don't test last vs. first segment
This one case slipped through. Surprisingly, it rarely produced a
complaint.
2015-01-18 09:09:43 -03:00
Werner Almesberger
f94fb2f74a cameo/path.c (path_connect, et al.): move to new file connect.c
Preparation for optimizing the O(n^3) algorithm.
2015-01-16 10:16:06 -03:00
Werner Almesberger
c9c0e887e7 cameo/poly2d.c (paths_to_polys_z): correctly ignore empty paths 2015-01-16 08:38:30 -03:00
Werner Almesberger
4d15951807 cameo/area-poly2d.c (area): fail if any paths are open 2015-01-16 08:35:37 -03:00
Werner Almesberger
005dcc308c slicer/slicer.c: rewrite - we now consider all non-horizontal facets 2015-01-15 02:00:05 -03:00
Werner Almesberger
02d2b28097 slicer/slice.c (eq): increase epsilon from 1e-6 to 1e-5
The lower value incorrectly tripped a verticality test.
2015-01-13 21:25:24 -03:00
Werner Almesberger
5808a4001f poly2d/ (p2d_write_gnuplot, p2d_write_gnuplot_all): use "bool" instead of "int" 2015-01-10 21:22:39 -03:00
Werner Almesberger
3cc284d9c1 poly2d (p2d_contains_point): use "bool" instead of "int" 2015-01-10 21:21:29 -03:00
Werner Almesberger
cba417fc37 poly2d (p2d_is_cw, p2d_is_closed, p2d_no_intersect, p2d_vertices): use better types
There's more to the world than just "int" ...
2015-01-10 21:16:47 -03:00
Werner Almesberger
b2d6ef5f3c slicer/: new option -z to add intermediate layers 2015-01-08 09:54:53 -03:00
Werner Almesberger
9fc0962edc slicer/slice.c (dump_layer): don't draw the top end of walls 2015-01-08 09:13:25 -03:00
Werner Almesberger
aa327c8e37 slicer/Makefile, slicer.c: forgot to commit these files :-( 2015-01-08 09:12:53 -03:00
Werner Almesberger
6b7cecaf5f slicer/slice.c, slice.h: optionally draw a box around the object 2015-01-08 09:12:05 -03:00
Werner Almesberger
65fa69cd0c slicer/stl.c (stl_load_binary): remove debug output 2015-01-08 08:24:59 -03:00
Werner Almesberger
a30024dce1 slicer/slice.c (add): detect and report inclined facets 2015-01-08 08:24:18 -03:00
Werner Almesberger
c984021251 slicer/stl.c: mention where the format is documented 2015-01-08 08:11:12 -03:00
Werner Almesberger
6a12d4724b slicer/slice.c: repeat lower cuts at intermediate points 2015-01-08 08:07:21 -03:00
Werner Almesberger
c82ea10493 slicer/stl.c (stl_load_file): support binary STL as well (on little-endian hosts) 2015-01-08 00:15:37 -03:00
Werner Almesberger
3f2c6cdc30 slicer/slice.c (add): only output lower end of vertical walls (still needs work) 2015-01-08 00:14:21 -03:00
Werner Almesberger
49abc13699 slicer/slice.h, slice.c, util.h: extract outlines of Z slices from mesh 2015-01-07 22:28:31 -03:00
Werner Almesberger
5f31b94729 slicer/stl.h, stl.c: adapt for use in slicer 2015-01-07 21:26:50 -03:00
Werner Almesberger
632a60f4b7 slicer/stl.c, stl.h: copy over from Neo900 misc/meme/ 2015-01-07 20:44:35 -03:00
Werner Almesberger
73c0489451 slicer/README: correct style and a typo 2015-01-07 20:37:48 -03:00
Werner Almesberger
9de0b4396b solidify/Makefile (LDFLAGS): rename to LDLIBS
The obsolete use of LDFLAGS for libraries caused the build to fail.
2014-09-04 01:30:05 -03:00
Werner Almesberger
671b74d81c cameo/templates/mkmk-simple: make $NAME.drl optional
pcbnew will not generate a drill file if the board that has neither
vias nor through-hole pads, so we shouldn't insist on it existing
either.
2014-04-27 10:45:54 -03:00
Werner Almesberger
453f64e4fe cameo/fped2d2z.pl: hack: maintain decimal point across flipping 2014-02-02 02:33:42 -03:00
Werner Almesberger
0fc785d3a1 cameo/fped2stl.pl: hack: maintain decimal point across flipping
Since our regexps expect numbers to contain a decimal point, any result
that was an integer tripped the re-match after flipping. This hack works
around the problem by formatting the result such that it also has a decimal
point.
2013-12-06 19:07:30 -03:00
Werner Almesberger
ff5b4a1ae8 cameo/zstack.pl: use the entire number for (x, y, z0) 2013-11-07 04:55:57 -03:00