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
Werner Almesberger
3d8a8d04aa
poly2d/f2d_tri_holes.cpp (tri_holes_append): rename to f2d_tri_holes_append
2013-10-13 21:29:13 -03:00
Werner Almesberger
f93e93ca89
poly2d/: add triangulation (untested)
2013-10-13 20:33:05 -03:00
Werner Almesberger
7aaaf8671f
cameo/gerber.c: crudely support some cases of G03
2013-09-20 18:47:39 -03:00
Werner Almesberger
44d58a54fa
cameo/ops.c (tool_comp_paths): don't crash if path list is empty
2013-09-20 17:36:16 -03:00
Werner Almesberger
b8c927831f
cameo/templates/mkmk-simple: support new edge file names
...
KiCad recently changes file names. Edges used to be named *-PCB_Edges.gbr
but can now be named *-Edge_Cuts.gbr or *-Edge_Cuts.pho
2013-08-06 19:15:48 -03:00
Werner Almesberger
9a6772f79d
cameo/templates/mkmk-simple: use "set size ratio -1", not "set size ratio square"
...
"ratio -1" produces a 1:1 ratio of the units (which is what we want) while
"ratio square" makes the xrange and yrange the same size, whatever that's
supposed to be good for.
2012-12-27 19:52:16 -03:00
Werner Almesberger
c34a154e25
cameo/templates/mkmk-simple: use aspect ratio 1:1 with gnuplot (plot, dplot)
2012-11-21 23:18:52 -03:00
Werner Almesberger
e246127c6c
cameo/templates/mkmk-simple: also look for new <name>-NPTH.drl
...
Recent versions if KiCad save non-plated through holes in a separate
drill file, called <name>-NPTH.drl
2012-08-23 23:01:49 -03:00
Werner Almesberger
a030eff963
cameo/: new command "flip" to flip paths on the X or Y axis
2012-08-23 09:04:44 -03:00
Werner Almesberger
c73509dacc
cameo/fped2d2z.pl: new option -t Zmax to set the height of the workpiece
...
This is similar to -r, except that we don't swap X and Y, and we use
the specified value instead of searching for the maximum in the input
data.
2012-08-22 13:51:16 -03:00
Werner Almesberger
53fe70950d
poly2d/: try to work around spurious aborts in CGAL::create_interior_skeleton_and_offset_polygons_with_holes_2
...
cameo encountered spurious aborts with the following message:
terminate called after throwing an instance of 'CGAL::Precondition_exception
what(): CGAL ERROR: precondition violation!
Expr: is_simple_2(first, last, traits)
File: /usr/include/CGAL/Polygon_2/Polygon_2_algorithms_impl.h
Line: 420
These aborts come and go even if just the coordinate origin is slightly
changed. Setting CGAL_POLYGON_NO_PRECONDITIONS in p2d_area_holes.cpp
made them go away in some cases, but cameo could still run into an
assertion violation (in CGAL).
We now check all the polygons, outer boundary and holes, being sent to
CGAL::create_interior_skeleton_and_offset_polygons_with_holes_2 for
simplicity, and stop recursing if there is any hint of a problem.
This seems to avoid trouble for now, but the issue deserves further
investigation.
2012-08-22 13:50:19 -03:00
Werner Almesberger
072b7804ee
cameo/: experimental command "outside" to detect real outer borders
...
Should be merged into tool_comp_paths later.
2012-06-12 15:23:01 -03:00
Werner Almesberger
378aab025f
cameo/path.c: new function path_is_inside which calls p2d_contains_poly
2012-06-12 15:04:59 -03:00
Werner Almesberger
7b54293bff
cameo/: move conversion between poly2d and "struct path" from area-poly2d.c to poly2d.c
...
Untested.
2012-06-12 15:04:40 -03:00
Werner Almesberger
f48754e067
cameo/path.c: make path_is_closed global
2012-06-12 14:24:50 -03:00
Werner Almesberger
382d14dcbb
cameo/path.c: move assert(path_is_closed) into function and improve diagnostic
...
It's often hard to find an offending path. To help with this, we
now print the start and end coordinates.
2012-06-12 14:01:55 -03:00
Werner Almesberger
e69fa24133
cameo/: new commands "remove" and "keep" for path filtering (untested)
2012-06-12 12:32:08 -03:00
Werner Almesberger
3ee5b1aa31
poly2d/: add foreach_v2d* and foreach_edges looping constructs
2012-05-08 14:06:00 -03:00