Commit Graph

243 Commits

Author SHA1 Message Date
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
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