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
Werner Almesberger
d64a34045f
gp2rml/gp2rml.c: new option -s to set Z scale factor
...
Sounds weird, but the mill seems to be off by some 10%.
2013-11-07 03:25:45 -03:00
Werner Almesberger
033d55c8ad
cameo/zstack.pl: output one point at (x, y, z0) to set reference level
...
Otherwise, gp2rml will eliminate any offset. (x, y) is an arbitrary point
from the toolpaths.
2013-11-06 23:15:24 -03:00
Werner Almesberger
e82667e680
cameo/fped2d2z.pl: new options -x and -y to flip on X and Y axis
2013-11-03 23:21:43 -03:00
Werner Almesberger
30676651ec
cameo/fped2stl.pl: use "eq" for string equality, not "=="
2013-11-03 19:05:56 -03:00
Werner Almesberger
5b70e92254
cameo/fped2stl.pl: new options -x and -y to flip on X and Y axis
2013-11-02 18:03:49 -03:00
Werner Almesberger
4fa9e129ee
cameo/fped2stl.pl: sort layers by Z position
...
This way, the ordering of the layer stack doesn't matter.
2013-11-02 13:26:04 -03:00
Werner Almesberger
e62da4e2bb
cae-tools/cameo/fped2stl.pl (flush): substitute coordinates only once
...
If a layer was at exactly z = 1 mm, we would set it to $z1 (after temporarily
setting it to $z) even in cases where it should be at $z.
2013-11-01 21:15:43 -03:00
Werner Almesberger
96063ccff9
cameo/fped2stl.pl: fped 2D stack to STL mesh converter (experimental)
2013-10-14 13:31:42 -03:00
Werner Almesberger
c5f54df4a0
cameo/stl.c: generate real STL (WIP)
...
Some facets look funny in Meshlab although it shows all the normals pointing
in the right direction.
2013-10-14 12:32:27 -03:00
Werner Almesberger
ebb7d028ea
Revert "poly2d/p2d_hsort.c (p2d_hier_free): make freeing of polygons optional"
...
This reverts commit d758359791
.
2013-10-14 11:13:22 -03:00
Werner Almesberger
ae9ad0348c
cameo/stl.c (stl): update for poly2d API change
2013-10-14 11:12:32 -03:00
Werner Almesberger
626dbe52e1
poly2d/: store actual values in struct f2d, not pointers
...
... since the data structures they point to have internal use only.
2013-10-14 11:11:27 -03:00
Werner Almesberger
8b6e4168d3
cameo/: add "stl" command to generate STL slices (WIP)
2013-10-13 22:10:43 -03:00
Werner Almesberger
ca271dd313
poly2d/f2d_tri.c (f2d_free_all): free list of faces
2013-10-13 22:09:49 -03:00
Werner Almesberger
d0b5696a07
poly2d/f2d_tri_holes.cpp (find_point): don't loop forever on closed polygons
2013-10-13 21:57:50 -03:00
Werner Almesberger
d758359791
poly2d/p2d_hsort.c (p2d_hier_free): make freeing of polygons optional
2013-10-13 21:29:48 -03:00