Sunday, February 12, 2012
Update: In the US, where they are silly enough to have software-patents, there's US Patent number: 7831332, "Engagement Milling", Filing date: 29 May 2008, Issue date: 9 Nov 2010. By Inventors: Alan Diehl, Robert B. Patterson of SURFWARE, INC. Any pocket milling strategy will have as input a step-over distance set at maybe 10 to [...]
Thursday, February 9, 2012
Update: some work on connecting MICs together with bi-tangent line-segments, as well as a sequence of lead-out, rapid, lead-in, between successive MIC-slices: It gets quite confusing with all cutting and non-cutting moves drawn in one image. The path starts with an Archimedean spiral (pink) that clears the initial largest MIC. We then proceed to "scoop" [...]
Tuesday, January 24, 2012
Update: Here is "VX" with FreeSerifItalic. There is overlap in LibreOffice also. For the most part truetypetracer produces valid and nice input data for testing openvoronoi. But sometimes I see wiggles, and now this: It is frustrating to try to track down bugs in downstream algorithms that take this as input, and assume all line-segments [...]
Also filed in
|
|
Saturday, January 21, 2012
A first try at v-carving, with toolpaths produced by the ttt2medial python script.
Saturday, January 21, 2012
I tried cranking up (10-fold) the number of line-segments that are used when approximating conics and cubics with lines. The results are mostly OK, but sometimes "wiggles" or "S-curves" appear, which cause problems for the medial-axis filter. This "P" is an example: The medial axis on the right does not look correct. If we zoom [...]
Also filed in
|
|
Tuesday, January 17, 2012
I hacked together a few python-scripts that can be run as "filters" in EMC2. They are opened/run from AXIS and produce G-code into EMC2. The first one is ttt2ngc which simply demonstrates my C++ port of Chris Radek's truetype-tracer. The original code is a rather monolithic C-program while my C++ port is divided into smaller [...]
I've put together two graph filters that can be applied to the VD. The first one detects the interior or exterior of a polygon. When the VD is constructed the polygon boundary must be input in CW order, and any islands inside the polygon in CCW order (or vice versa). This allows running other downstream [...]
Once we have a VD it is almost trivial to calculate 2D offsets. While the VD for n line-segments takes O(n*log(n)) time to calculate, the offset-generation is a simple "march" that takes O(n) time. In this "A" example it takes 24 milliseconds to calculate the VD and less than 1 millisecond to produce all the [...]
Also filed in
|
Tagged offset
|
Wednesday, January 11, 2012
There was an issue with handling collinear line-segments, which is hopefully now fixed. OpenVoronoi seems to deal OK with most characters from ttt now. I am still getting some Warnings about numerical instability from LLLSolver, possibly related to these high-degree vertices which don't look quite right (this is a zoom-in inside the circular dot of [...]
Also filed in
|
Tagged ttt++
|
Thursday, January 5, 2012
Update: Now all the capital letters work! I wanted to test my VD algorithm on font-outlines. So I ported Chris Radek's truetype-tracer to c++ and added some python bindings. Here: https://github.com/aewallin/truetype-tracer Because my VD code cannot handle circular arcs yet, I took some old code from TTT 3.0 and made converting conics and cubics, the [...]