<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>anderswallin.net &#187; CNC</title>
	<atom:link href="http://www.anderswallin.net/category/cnc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anderswallin.net</link>
	<description></description>
	<lastBuildDate>Thu, 02 Sep 2010 09:18:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Shaped cutters</title>
		<link>http://www.anderswallin.net/2010/09/shaped-cutters/</link>
		<comments>http://www.anderswallin.net/2010/09/shaped-cutters/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 09:18:16 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[CNC]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3615</guid>
		<description><![CDATA[For making 60-degree dovetails, and R=2mm rounded edges.]]></description>
			<content:encoded><![CDATA[<p>For making 60-degree dovetails, and R=2mm rounded edges.<br />
<a href="http://www.anderswallin.net/wp-content/uploads/2010/09/02092010482.jpg"><img src="http://www.anderswallin.net/wp-content/uploads/2010/09/02092010482-625x397.jpg" alt="" title="02092010482" width="625" height="397" class="alignnone size-medium wp-image-3616" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/09/shaped-cutters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Equatorial wedge – top plate</title>
		<link>http://www.anderswallin.net/2010/08/equatorial-wedge-%e2%80%93-top-plate/</link>
		<comments>http://www.anderswallin.net/2010/08/equatorial-wedge-%e2%80%93-top-plate/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 19:33:35 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Astro]]></category>
		<category><![CDATA[CNC]]></category>
		<category><![CDATA[wedge]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3606</guid>
		<description><![CDATA[This is the top plate of the wedge which will be tilted so that the alt/az mount which is bolted to it has its azimuth axis pointing towards the celestial north pole. The side-plates will have to wait until next weekend.]]></description>
			<content:encoded><![CDATA[<p>This is the top plate of the wedge which will be tilted so that the alt/az mount which is bolted to it has its azimuth axis pointing towards the celestial north pole. The side-plates will have to wait until next weekend.</p>

<a href='http://www.anderswallin.net/2010/08/equatorial-wedge-%e2%80%93-top-plate/attachment/29082010475/' title='29082010475'><img width="150" height="150" src="http://www.anderswallin.net/wp-content/uploads/2010/08/29082010475-150x150.jpg" class="attachment-thumbnail" alt="29082010475" title="29082010475" /></a>
<a href='http://www.anderswallin.net/2010/08/equatorial-wedge-%e2%80%93-top-plate/attachment/29082010478/' title='29082010478'><img width="150" height="150" src="http://www.anderswallin.net/wp-content/uploads/2010/08/29082010478-150x150.jpg" class="attachment-thumbnail" alt="29082010478" title="29082010478" /></a>
<a href='http://www.anderswallin.net/2010/08/equatorial-wedge-%e2%80%93-top-plate/attachment/29082010479/' title='29082010479'><img width="150" height="150" src="http://www.anderswallin.net/wp-content/uploads/2010/08/29082010479-150x150.jpg" class="attachment-thumbnail" alt="29082010479" title="29082010479" /></a>
<a href='http://www.anderswallin.net/2010/08/equatorial-wedge-%e2%80%93-top-plate/attachment/29082010480/' title='29082010480'><img width="150" height="150" src="http://www.anderswallin.net/wp-content/uploads/2010/08/29082010480-150x150.jpg" class="attachment-thumbnail" alt="29082010480" title="29082010480" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/08/equatorial-wedge-%e2%80%93-top-plate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Equatorial wedge &#8211; base plate</title>
		<link>http://www.anderswallin.net/2010/08/equatorial-wedge-base-plate/</link>
		<comments>http://www.anderswallin.net/2010/08/equatorial-wedge-base-plate/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 19:26:17 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Astro]]></category>
		<category><![CDATA[CNC]]></category>
		<category><![CDATA[wedge]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3603</guid>
		<description><![CDATA[I&#8217;m building an equatorial wedge which will transform my new alt/az goto-mount into an equatorial mount. This is the first part which attaches to the tripod. Two smaller side plates will be bolted to this plate and support a similarly shaped tilted plate to which the alt/az head attaches. The design is similar to the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m building an <a href="http://images.google.com/images?hl=en&amp;source=imghp&amp;biw=1258&amp;bih=706&amp;q=equatorial+wedge&amp;gbv=2&amp;aq=f&amp;aqi=&amp;aql=&amp;oq=&amp;gs_rfai=">equatorial wedge</a> which will transform my new <a href="http://en.wikipedia.org/wiki/Altazimuth_mount">alt/az</a> goto-<a href="http://en.wikipedia.org/wiki/GoTo_%28telescopes%29">mount</a> into an <a href="http://en.wikipedia.org/wiki/Equatorial_mount">equatorial mount</a>. This is the first part which attaches to the tripod. Two smaller side plates will be bolted to this plate and support a similarly shaped tilted plate to which the alt/az head attaches. The design is similar to the &#8220;<a href="http://www.pulsar-optical.co.uk/prod/astroengineering/telescopemountings/megawedgepro1.html">mega wedge pro</a>&#8221; (how about that for a product name!).</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/08/28082010473r-1.jpg"><img class="alignnone size-medium wp-image-3604" title="28082010473r-1" src="http://www.anderswallin.net/wp-content/uploads/2010/08/28082010473r-1-525x625.jpg" alt="" width="525" height="625" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/08/equatorial-wedge-base-plate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AXIS with PyVCP jogwheel</title>
		<link>http://www.anderswallin.net/2010/08/axis-with-pyvcp-jogwheel/</link>
		<comments>http://www.anderswallin.net/2010/08/axis-with-pyvcp-jogwheel/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 15:12:55 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[EMC]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3596</guid>
		<description><![CDATA[By popular demand, an example where a PyVCP jogwheel is hooked up to AXIS: The files needed to make this work are in here: axis_jogwheel.tar]]></description>
			<content:encoded><![CDATA[<p>By popular demand, an example where a PyVCP jogwheel is hooked up to AXIS:</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/08/axis_with_jogwheel.png"><img class="alignnone size-medium wp-image-3597" title="axis_with_jogwheel" src="http://www.anderswallin.net/wp-content/uploads/2010/08/axis_with_jogwheel-625x408.png" alt="" width="625" height="408" /></a></p>
<p>The files needed to make this work are in here: <a href="http://www.anderswallin.net/wp-content/uploads/2010/08/axis_jogwheel.tar.gz">axis_jogwheel.tar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/08/axis-with-pyvcp-jogwheel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Radial tool projection</title>
		<link>http://www.anderswallin.net/2010/08/radial-tool-projection/</link>
		<comments>http://www.anderswallin.net/2010/08/radial-tool-projection/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 11:53:23 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[CAM]]></category>
		<category><![CDATA[waterlines]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3586</guid>
		<description><![CDATA[The basic operation when producing waterline-paths is to push the cutter along either the X or Y axis (red and green arrows) into contact with a triangle (cyan lines). That&#8217;s done through three different functions, one each for the vertices, facet, and edges of the triangle. The vertex test (results shown as red dots) and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/08/cylcutter_colour.png"><img class="alignnone size-medium wp-image-3587" title="cylcutter_colour" src="http://www.anderswallin.net/wp-content/uploads/2010/08/cylcutter_colour-625x456.png" alt="" width="625" height="456" /></a></p>
<p>The basic operation when producing <a href="http://www.anderswallin.net/wp-content/uploads/2010/08/tux_offsets.png">waterline-paths</a> is to push the cutter along either the X or Y axis (red and green arrows) into contact with a triangle (cyan lines). That&#8217;s done through three different functions, one each for the vertices, facet, and edges of the triangle. The vertex test (results shown as red dots) and the facet test (green dots) are straightforward to implement. The edge-test (blue dots) is more involved. The above figure is for a CylCutter where the edge-test is implemented through the vertex-test (thus red dots along the edges), but this figure for a BallCutter shows the colors better:</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/08/ballcutter_colour.png"><img class="alignnone size-medium wp-image-3588" title="ballcutter_colour" src="http://www.anderswallin.net/wp-content/uploads/2010/08/ballcutter_colour-625x503.png" alt="" width="625" height="503" /></a></p>
<p>Blue dots show edge-contacts with the spherical part of the cutter, light-blue dots show edge-contacts with the cylindrical shaft of the cutter.</p>
<p>The vertex test requires only a radius(h) function that returns the radius of the cutter at height h. The facet test needs three parameters (n, nxy, c) for each cutter, which define where the cutter should be located relative to a point which lies on the facet. From the CC-point on the facet we go a distance <strong>n</strong> along the 3D unit-normal, then a distance <strong>nxy</strong> along a unit-normal in the XY-plane to find the cutter center. From the cutter center we go down along the z-axis by a distance <strong>c</strong> to find the CL-point.</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/08/pushcutter_drawing.png"><img class="alignnone size-full wp-image-3593" title="pushcutter_drawing" src="http://www.anderswallin.net/wp-content/uploads/2010/08/pushcutter_drawing.png" alt="" width="193" height="192" /></a> Figuring out the (n,nxy,c) parameters for CylCutter and BallCutter is left as an exercise for the reader.</p>
<p>These points are then <a href="http://www.anderswallin.net/wp-content/uploads/2010/08/weave_input_output.png">hooked up in the correct order</a> to produce waterlines like this (CylCutter on the left, BallCutter on the right).</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/08/cylcutter_waterlines.png"><img class="alignnone size-thumbnail wp-image-3589" title="cylcutter_waterlines" src="http://www.anderswallin.net/wp-content/uploads/2010/08/cylcutter_waterlines-150x150.png" alt="" width="150" height="150" /></a> <a href="http://www.anderswallin.net/wp-content/uploads/2010/08/ballcutter_waterlines.png"><img class="alignnone size-thumbnail wp-image-3590" title="ballcutter_waterlines" src="http://www.anderswallin.net/wp-content/uploads/2010/08/ballcutter_waterlines-150x150.png" alt="" width="150" height="150" /></a></p>
<p>The edge-test for CylCutter reduces to a 2D problem of line-line intersections, while the edge-test for BallCutter can be done by intersecting a cylinder/tube around the edge with a line. The filleted/toroidal/BullCutter edge-test is much harder. Here I&#8217;ve just implemented the special case where the edge is horizontal and the solution is easy to find analytically. The general case where the edge slopes up or down  requires an iterative solution to either a quartic or the offset-ellipse problem.</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/08/bullcutter.png"><img class="alignnone size-medium wp-image-3591" title="bullcutter" src="http://www.anderswallin.net/wp-content/uploads/2010/08/bullcutter-625x441.png" alt="" width="625" height="441" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/08/radial-tool-projection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BallCutter(d=6) and BallCutter(d=8)</title>
		<link>http://www.anderswallin.net/2010/08/ballcutterd6-and-ballcutterd8/</link>
		<comments>http://www.anderswallin.net/2010/08/ballcutterd6-and-ballcutterd8/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 12:41:55 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[CNC]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3560</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/08/19082010467.jpg"><img class="alignnone size-medium wp-image-3561" title="19082010467" src="http://www.anderswallin.net/wp-content/uploads/2010/08/19082010467-625x468.jpg" alt="" width="625" height="468" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/08/ballcutterd6-and-ballcutterd8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Octree animation</title>
		<link>http://www.anderswallin.net/2010/08/octree-animation/</link>
		<comments>http://www.anderswallin.net/2010/08/octree-animation/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 21:15:34 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[CAM]]></category>
		<category><![CDATA[cutsim]]></category>
		<category><![CDATA[octree]]></category>
		<category><![CDATA[opencamlib]]></category>
		<category><![CDATA[wireframe]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3552</guid>
		<description><![CDATA[Update: this figure shows the numbering of vertices(red), edges(green), and faces(blue). The arrows show the direction of the X-(red), Y-(green), and Z-axes(blue). Here the sides of the cube are not generated with Marching-Cubes, they are just extracted directly from the octree. Nodes are subdivided whenever the signed distance-field of the cutter indicates that the surface [...]]]></description>
			<content:encoded><![CDATA[<p>Update: this figure shows the numbering of vertices(red), edges(green), and faces(blue). The arrows show the direction of the X-(red), Y-(green), and Z-axes(blue).</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/08/octnode_numbers.png"><img class="alignnone size-full wp-image-3557" title="octnode_numbers" src="http://www.anderswallin.net/wp-content/uploads/2010/08/octnode_numbers.png" alt="" width="567" height="647" /></a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/17mpgQ4KVLg?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/17mpgQ4KVLg?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
Here the sides of the cube are not generated with Marching-Cubes, they are just extracted directly from the octree. Nodes are subdivided whenever the signed distance-field of the cutter indicates that the surface is contained within the node, i.e. the distance-field evaluates to both positive and negative at the eight <del datetime="2010-08-19T05:45:13+00:00">four</del> vertices of a node. This apparently leads to transient holes in the surface when the cutter is just about to enter a coarse node which hasn&#8217;t been subdivided very far yet. It should be possible to adjust the subdivision criterion so that the octree &#8216;anticipates&#8217; the cutter slightly and subdivides ahead of the actual cutter surface.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/08/octree-animation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Holes in plastic</title>
		<link>http://www.anderswallin.net/2010/08/holes-in-plastic/</link>
		<comments>http://www.anderswallin.net/2010/08/holes-in-plastic/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 09:14:05 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[plastic]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3541</guid>
		<description><![CDATA[CNC-milled three hemispherical (ca 50mm diameter) holes into these bits of plastic yesterday. To fit a steel cup (far left), attached by gluing.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/08/16082010443.jpg"><img class="alignnone size-medium wp-image-3542" title="16082010443" src="http://www.anderswallin.net/wp-content/uploads/2010/08/16082010443-625x257.jpg" alt="" width="625" height="257" /></a></p>
<p>CNC-milled three hemispherical (ca 50mm diameter) holes into these bits of plastic yesterday. To fit a steel cup (far left), attached by gluing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/08/holes-in-plastic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cutsim progress</title>
		<link>http://www.anderswallin.net/2010/08/cutsim-progress/</link>
		<comments>http://www.anderswallin.net/2010/08/cutsim-progress/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 06:37:44 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[CAM]]></category>
		<category><![CDATA[cutsim]]></category>
		<category><![CDATA[octree]]></category>
		<category><![CDATA[opencamlib]]></category>
		<category><![CDATA[tux]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3524</guid>
		<description><![CDATA[The speed of the new cutting-simulation code makes it possible to run it at a higher resolution than before. That makes the surfaces look smooth and nice. Alas, some problems still remain with holes in the fabric of reality mystically appearing and disappearing . There is an edge-flipping paper by Kobbelt et al. from 2001 which improves [...]]]></description>
			<content:encoded><![CDATA[<p>The speed of the new <a href="http://code.google.com/p/opencamlib/source/browse/trunk/src/cutsim/octree2.cpp">cutting-simulation code</a> makes it possible to run it at a higher resolution than before. That makes the surfaces look smooth and nice. Alas, some problems still remain with holes in the fabric of reality mystically appearing and disappearing .</p>

<a href='http://www.anderswallin.net/2010/08/cutsim-progress/holes_1x/' title='holes_1x'><img width="150" height="150" src="http://www.anderswallin.net/wp-content/uploads/2010/08/holes_1x-150x150.png" class="attachment-thumbnail" alt="holes_1x" title="holes_1x" /></a>
<a href='http://www.anderswallin.net/2010/08/cutsim-progress/holes_2x/' title='holes_2x'><img width="150" height="150" src="http://www.anderswallin.net/wp-content/uploads/2010/08/holes_2x-150x150.png" class="attachment-thumbnail" alt="holes_2x" title="holes_2x" /></a>
<a href='http://www.anderswallin.net/2010/08/cutsim-progress/screenshot-2/' title='Screenshot'><img width="150" height="150" src="http://www.anderswallin.net/wp-content/uploads/2010/08/Screenshot-150x150.png" class="attachment-thumbnail" alt="Screenshot" title="Screenshot" /></a>

<p>There is an <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.131.1234&amp;rep=rep1&amp;type=pdf">edge-flipping paper by Kobbelt et al. from 2001</a> which improves the jagged/aliased look of sharp edges.</p>
<p>Update: <a href="http://www-i8.informatik.rwth-aachen.de/">Kobbelt</a> provides a LGPLv2 licensed sample-implementation of the algorithm here: <a href="http://www-i8.informatik.rwth-aachen.de/index.php?id=17">http://www-i8.informatik.rwth-aachen.de/index.php?id=17</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/08/cutsim-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenCAMLib machining simulation, v.2</title>
		<link>http://www.anderswallin.net/2010/08/opencamlib-machining-simulation-v-2/</link>
		<comments>http://www.anderswallin.net/2010/08/opencamlib-machining-simulation-v-2/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 07:23:32 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[CAM]]></category>
		<category><![CDATA[cutsim]]></category>
		<category><![CDATA[octree]]></category>
		<category><![CDATA[tux]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3509</guid>
		<description><![CDATA[This is my second attempt at a machining simulation where a moving milling tool cuts away voxels from the stock material. To save space an octree data structure is used to store the voxels, and to produce a nice looking surface you store the signed distance to the exact surface in each vertex of the [...]]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/1DAvgLCj_RQ?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/1DAvgLCj_RQ?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object>This is my second attempt at a machining simulation where a moving milling tool cuts away <a href="http://en.wikipedia.org/wiki/Voxel">voxels</a> from the stock material. To save space an <a href="http://en.wikipedia.org/wiki/Octree">octree</a> data structure is used to store the voxels, and to produce a nice looking surface you store the signed distance to the exact surface in each vertex of the octree. You then use <a href="http://en.wikipedia.org/wiki/Marching_cubes">marching-cubes</a> to extract triangles for a distance=0 isosurface in order to draw the stock.</p>
<p>Unlike <a href="http://www.anderswallin.net/2010/07/octree-based-cutting-simulation/">my first attempt</a>, this works well enough to warrant further experiments (on the to-do list are: differently shaped tools, colouring triangles based on which tool cut the voxel, lathe operations, material removal-rate, etc.). It should be straightforward to hook this up to the <a href="http://linuxcnc.org/">EMC2</a> G-code interpreter so that any G-code, not just densely sampled CL-points from <a href="http://code.google.com/p/opencamlib/">OCL</a>, can be simulated. You could also flip the sign of all the numbers, and simulate an additive process, like 3D printing (<a href="http://www.reprap.org/wiki/Main_Page">reprap</a> / <a href="http://www.makerbot.com/">makerbot</a>).</p>
<p>This approach to machining simulation is described in <a href="http://www.cadanda.com/V2Nos1to4_11.pdf">a 2005 paper by Yau, Tsou, and Tong</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/08/opencamlib-machining-simulation-v-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
