<?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>BritishIdeas &#187; Linux</title>
	<atom:link href="http://www.britishideas.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.britishideas.com</link>
	<description>Interesting Tech Projects</description>
	<lastBuildDate>Mon, 06 Sep 2010 05:34:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>You Tube, H.264, High Definition and FFmpeg</title>
		<link>http://www.britishideas.com/2010/06/03/you-tube-h-264-high-definition-and-ffmpeg/</link>
		<comments>http://www.britishideas.com/2010/06/03/you-tube-h-264-high-definition-and-ffmpeg/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 03:29:16 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[h.264]]></category>
		<category><![CDATA[time lapse]]></category>
		<category><![CDATA[you tube]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/?p=185</guid>
		<description><![CDATA[Recently I had the need to take a set of jpeg images and convert them into a high definition time lapse video, then upload to You Tube. Easier said than done&#8230;
To get the best quality I wanted to use H.264/MP4, which is also recommended by You Tube. I also wanted 1080P. The problem is that]]></description>
			<content:encoded><![CDATA[<p>Recently I had the need to take a set of jpeg images and convert them into a high definition time lapse video, then upload to You Tube. Easier said than done&#8230;</p>
<p>To get the best quality I wanted to use H.264/MP4, which is also recommended by You Tube. I also wanted 1080P. The problem is that You Tube doesn&#8217;t seem to like B-frames in the file, and messes up the start of videos. So here is the solution I found.</p>
<p>Firstly I needed to upgrade my Debian server to Squeeze.</p>
<p>Next I compiled x264 and FFmpeg as described in <a title="How To Build FFmpeg on Debian Squeeze" href="http://stream0.org/2009/10/howto-build-ffmpeg-on-debian-s.html" target="_blank">How To Build FFmpeg on Debian Squeeze</a>.</p>
<p>Finally I ran the following FFmpeg command line to generate a time lapse video at 24 frames per second (-r 24), using 1080P (-s hd1080) with no B-frames (-bf 0):</p>
<pre class="brush: bash;">
ffmpeg -r 24 -i %04d.jpg -s hd1080 -vcodec libx264 -vpre hq -bf 0 -crf 16 myfile.mp4
</pre>
<p>It&#8217;s important that the frame rate is specified before the input source in order to make FFmpeg apply the frame rate to the source. Note that trying to use qt-faststart causes You Tube to complain about the audio, even though there isn&#8217;t any audio.</p>
<p><span class="youtube">
<object width="560" height="340">
<param name="movie" value="http://www.youtube.com/v/rEyH1zJSlts&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;showsearch=0&amp;hd=1" />
<param name="allowFullScreen" value="true" />
<embed wmode="transparent" src="http://www.youtube.com/v/rEyH1zJSlts&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;showsearch=0&amp;hd=1" type="application/x-shockwave-flash" allowfullscreen="true" width="560" height="340"></embed>
<param name="wmode" value="transparent" />
</object>
</span><p><a href="http://www.youtube.com/watch?v=rEyH1zJSlts&fmt=18">www.youtube.com/watch?v=rEyH1zJSlts</a></p></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d185').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d185" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d185').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d185').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2010/06/03/you-tube-h-264-high-definition-and-ffmpeg/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fireball V90 EMC2 Configuration Files</title>
		<link>http://www.britishideas.com/2009/03/04/fireball-v90-emc2-configuration-files/</link>
		<comments>http://www.britishideas.com/2009/03/04/fireball-v90-emc2-configuration-files/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 16:51:25 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[emc2]]></category>
		<category><![CDATA[hobbycnc]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2009/03/04/fireball-v90-emc2-configuration-files/</guid>
		<description><![CDATA[I am making my configuration files available to help anyone trying to get their Fireball V90 machine working with EMC2. The configuration is for inches, 1/4 microstepping and the HobbyCNC Pro board.
To use these files you will first need to perform the latency test and work out the base period for your PC. Open the]]></description>
			<content:encoded><![CDATA[<p>I am making my configuration files available to help anyone trying to get their Fireball V90 machine working with EMC2. The configuration is for inches, 1/4 microstepping and the HobbyCNC Pro board.</p>
<p>To use these files you will first need to perform the latency test and work out the base period for your PC. Open the Stepconf wizard and choose to update this configuration. Put the latency test results into the Stepconf wizard. Then you must double-check the pin configurations for your board if you are not using the same one I am. These changes are easy to make. I recommend 1/4 microstepping as it gives smooth operation without much reduction in power and speed.</p>
<p>Note that Stepconf will tell you that the INI file has changed since the configuration was generated. I changed the DEFAULT_VELOCITY to 0.9 so the default jogging speed is a bit faster.</p>
<p>Download <a href="http://www.britishideas.com/wp-content/uploads/2009/03/fireballcncv90.zip" title="Fireball V90 EMC2 Configuration Files">Fireball V90 EMC2 Configuration Files</a>.</p>
<p>Update: Now with Stepconf generated config files.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d98').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d98" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d98').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d98').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2009/03/04/fireball-v90-emc2-configuration-files/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Installing Ubuntu Netbook Remix on an Acer Aspire One</title>
		<link>http://www.britishideas.com/2009/01/14/installing-ubuntu-netbook-remix-on-an-acer-aspire-one/</link>
		<comments>http://www.britishideas.com/2009/01/14/installing-ubuntu-netbook-remix-on-an-acer-aspire-one/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 02:13:45 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2009/01/14/installing-ubuntu-netbook-remix-on-an-acer-aspire-one/</guid>
		<description><![CDATA[The Acer Aspire One is a pretty nice netbook &#8211; for a reasonable price you get 1Gb RAM, 160Gb hard drive, 1024 x 600 screen and 5 1/2 hours of battery life. However it comes with Windows XP or Linpus, which is a customized Linux distribution from Acer. Neither of these options appealed to me.]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://en.wikipedia.org/wiki/Aspire_One">Acer Aspire One</a> is a pretty nice netbook &#8211; for a reasonable price you get 1Gb RAM, 160Gb hard drive, 1024 x 600 screen and 5 1/2 hours of battery life. However it comes with Windows XP or Linpus, which is a customized Linux distribution from Acer. Neither of these options appealed to me. In particular the Aspire One user forums seemed to have a lot of postings on limitations with Linpus.</p>
<p>Enter <a href="http://www.canonical.com/projects/ubuntu/nbr">Ubuntu Netbook Remix</a> (UNR), which is a special version of Ubuntu 8.04 for netbooks. Essentially it is the same as Ubuntu 8.04, but with some additions that make it easier to use on a small screen with limited height. Because netbooks don&#8217;t have optical drives it presents a challege to get a new operating system installed. Below is the process I found to work for me. I used Ubuntu on a desktop PC for all the steps.</p>
<p>Firstly note that I tried and failed to get a USB hard drive to work. I partitioned and formatted it every way I could and couldn&#8217;t get it to work. I managed to the the UNR installer to boot, but it always failed with &#8220;sdb: unknown partition table&#8221;. The process only seems to work with USB flash drives. I used a Sandisk Cruzer Micro 4Gb.</p>
<p>1. Download UNR 1.0.1 image from:</p>
<p><a href="http://oem-images.canonical.com/unr/unr-1.0.1.img">http://oem-images.canonical.com/unr/unr-1.0.1.img</a></p>
<p>2. Plug in USB drive and identify device location. Mine was /dev/sdb mounted to /media/disk.</p>
<p>3. At command prompt:</p>
<p><code>sudo dd if=./unr-1.0.1.img of=/dev/sdb bs=1024</code></p>
<p>4. fdisk -l will then show:</p>
<p><code>Disk /dev/sda: 250.0 GB, 250000000000 bytes<br />
255 heads, 63 sectors/track, 30394 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes<br />
Disk identifier: 0x88000000</code></p>
<p><code>Device Boot      Start         End      Blocks   Id  System<br />
/dev/sda1               1           8       64228+  de  Dell Utility<br />
/dev/sda2               9        1314    10485760    7  HPFS/NTFS<br />
Partition 2 does not end on cylinder boundary.<br />
/dev/sda3   *        1315        7769    51849787+   7  HPFS/NTFS<br />
/dev/sda4            7770       30394   181735312+   5  Extended<br />
/dev/sda5            7770       23109   123218518+   7  HPFS/NTFS<br />
/dev/sda6           23110       29908    54612936   83  Linux<br />
/dev/sda7           29909       30394     3903763+  82  Linux swap / Solaris</code></p>
<p><code>Disk /dev/sdb: 4016 MB, 4016045568 bytes<br />
124 heads, 62 sectors/track, 1020 cylinders<br />
Units = cylinders of 7688 * 512 = 3936256 bytes<br />
Disk identifier: 0x8ef631df</code></p>
<p><code>This doesn't look like a partition table<br />
Probably you selected the wrong device.</code></p>
<p><code>Device Boot      Start         End      Blocks   Id  System<br />
/dev/sdb1   ?      274784      529564   979374166   66  Unknown<br />
Partition 1 has different physical/logical beginnings (non-Linux?):<br />
phys=(734, 123, 14) logical=(274783, 70, 21)<br />
Partition 1 has different physical/logical endings:<br />
phys=(120, 143, 6) logical=(529563, 65, 22)<br />
Partition 1 does not end on cylinder boundary.<br />
/dev/sdb2   ?      448668      961719  1972168331    7  HPFS/NTFS<br />
Partition 2 has different physical/logical beginnings (non-Linux?):<br />
phys=(187, 180, 14) logical=(448667, 16, 52)<br />
Partition 2 has different physical/logical endings:<br />
phys=(784, 0, 13) logical=(403059, 76, 1)<br />
Partition 2 does not end on cylinder boundary.<br />
/dev/sdb3   ?      426615      680707   976730017   7d  Unknown<br />
Partition 3 has different physical/logical beginnings (non-Linux?):<br />
phys=(252, 59, 46) logical=(426614, 84, 39)<br />
Partition 3 has different physical/logical endings:<br />
phys=(139, 118, 4) logical=(122048, 22, 28)<br />
Partition 3 does not end on cylinder boundary.<br />
/dev/sdb4   ?       36178       37261     4161536   6f  Unknown<br />
Partition 4 has different physical/logical beginnings (non-Linux?):<br />
phys=(370, 101, 50) logical=(36177, 96, 57)<br />
Partition 4 has different physical/logical endings:<br />
phys=(10, 114, 13) logical=(37260, 47, 62)<br />
Partition 4 does not end on cylinder boundary.</code></p>
<p><code>Partition table entries are not in disk order</code></p>
<p>Don&#8217;t worry about the errors &#8211; they don&#8217;t seem to be important.</p>
<p>5. Unmount the USB drive by right-clicking on the icon on the desktop.</p>
<p>6. Plug USB drive into Aspire one and boot. At Acer screen press F12 to get to the boot menu.</p>
<p>7. On the boot menu the USB drive will appear twice:</p>
<p>USB Floppy Drive<br />
USB CDROM</p>
<p>This because there is a second hard-coded, read only partition that appears as a CDROM drive. Choose the floppy drive option. Press Enter at the prompt and UNR will now install. Follow the on-screen instructions.</p>
<p>8. At this point you probably want to change the name of the computer. It seems to default to the name of the first user. Go to Administration -&gt; Network, click on &#8220;Unlock&#8221; and enter your password.</p>
<p>9. Click on the General tab and enter a new name in the Hostname field.</p>
<p>10. Reboot. Clicking on &#8220;Quit&#8230;&#8221; didn&#8217;t seem to work. Holding down the power button for a second or so brought up the shutdown options screen. Note that after the reboot the &#8220;Quit&#8230;&#8221; option started working, so I guess the reboot is necessary.</p>
<p><strong>Cleaning Up Your USB Drive</strong></p>
<p>1. Install GParted from Add/Remove&#8230;</p>
<p>2. Go to System -&gt; Administration -&gt; Partition Editor</p>
<p>3. Plug in the USB drive and select it from the list at the top right (for example /dev/sdb).</p>
<p>4. Right click on the drive on the desktop and unmount it.</p>
<p>5. Select the partition (there will only be one for some strange reason) and delete it. Click on Apply to confirm.</p>
<p>6. Create a new FAT32 primary partition. Click on Apply.</p>
<p>7. Remove and insert the USB drive to mount it.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d97').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d97" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d97').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d97').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2009/01/14/installing-ubuntu-netbook-remix-on-an-acer-aspire-one/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Using Inkscape for CNC Designs and DXFs</title>
		<link>http://www.britishideas.com/2008/09/04/using-inkscape-for-cnc-designs-and-dxfs/</link>
		<comments>http://www.britishideas.com/2008/09/04/using-inkscape-for-cnc-designs-and-dxfs/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 05:45:42 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[dxf]]></category>
		<category><![CDATA[inkscape]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2008/09/04/using-inkscape-for-cnc-designs-and-dxfs/</guid>
		<description><![CDATA[Update: see this later post before following the instructions below.
I don&#8217;t care for most of the DXF editors available. They seem a bit clunky and not too friendly. But I do like Inkscape. Unfortunately it doesn&#8217;t export DXF files.
Here is a way of getting Inkscape 0.46 to export DXF files which can then be processed]]></description>
			<content:encoded><![CDATA[<p>Update: see <a href="http://www.britishideas.com/2008/09/15/more-on-inkscape-and-dxf-export/">this later post</a> before following the instructions below.</p>
<p>I don&#8217;t care for most of the DXF editors available. They seem a bit clunky and not too friendly. But I do like Inkscape. Unfortunately it doesn&#8217;t export DXF files.</p>
<p>Here is a way of getting Inkscape 0.46 to export DXF files which can then be processed in a CAM program to generate g-code for a CNC machine.</p>
<p>Firstly install <a href="http://www.inkscape.org/" title="Inkscape">Inkscape</a> 0.46. It must be this version.</p>
<p>Next go to <a href="http://www.bobandeileen.com/?p=198" title="bobandeileen.com">this post on BobandEileen.com</a>, right click on the link to  &#8220;dxf_templates.py&#8221; and save it in C:\Program Files\Inkscape\share\extensions.</p>
<p>Next step is to go to <a href="http://www.bobandeileen.com/?p=202" title="bobandeileen.com">another post on BobandEileen.com</a>, right click on the two .py files (&#8220;simpletransform.py&#8221; and &#8220;better_dxf_outlines.py&#8221;) and save in the same place. Then do the same for &#8220;better_dxf_outlines.inx&#8221;.</p>
<p>Restart Inkscape.</p>
<p>Create a drawing and then move it to the bottom left corner of the page. This corner ends up being the origin. If you want your drawing centered on the origin then center it on the corner of the page.</p>
<p>Go to File -&gt; Save As&#8230;</p>
<p>From the list of file types in the save dialog window choose  &#8220;Better DXF Output (*.dxf)&#8221; and save the file.</p>
<p>Now open the DXF file in your favourite CAM program, such as CamBam.</p>
<p>Note that you may need to scale the drawing in your CAM program. Even though I had my drawings correctly sized in Inkscape, they seemed to be quite a bit bigger. If anyone knows how to solve that please post a comment.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d90').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d90" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d90').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d90').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2008/09/04/using-inkscape-for-cnc-designs-and-dxfs/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Cutting Holes with CNC</title>
		<link>http://www.britishideas.com/2008/06/23/cutting-holes-with-cnc/</link>
		<comments>http://www.britishideas.com/2008/06/23/cutting-holes-with-cnc/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 04:49:57 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[holes]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2008/06/23/cutting-holes-with-cnc/</guid>
		<description><![CDATA[The next step in testing the CNC machine is to try cutting a hole. For this I needed thinner wood than the scrap pine I&#8217;ve been using. Home Depot sells small boards of oak and poplar so I picked up a piece of poplar. It&#8217;s 1/4&#8243; thick.
I also needed to raise the sacrificial platform so]]></description>
			<content:encoded><![CDATA[<p>The next step in testing the CNC machine is to try cutting a hole. For this I needed thinner wood than the scrap pine I&#8217;ve been using. Home Depot sells small boards of oak and poplar so I picked up a piece of poplar. It&#8217;s 1/4&#8243; thick.</p>
<p>I also needed to raise the sacrificial platform so the tip of the end mill can reach the bottom of the wood. To do that I just cut some more 16&#8243; x 9&#8243; pieces of 1/4&#8243; MDF and stacked them (see the post on fixtures for more information and pictures on what I am talking about).</p>
<p>I used CamBam to draw a 0.5&#8243; x 0.5&#8243; square and then created a profile on the inside using my 1.45mm (0.0571&#8243;) end mill. CamBam showed me that I would have slightly rounded corners, but that&#8217;s ok. I decided to cut the profile in passes, increasing the depth by 0.05&#8243; each time. This results in five passes to get to the bottom of the wood. Tedious, but better than stressing the end mill and Dremel.</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2008/06/squareholeemc2.jpg" title="EMC2 Square Hole"><img src="http://www.britishideas.com/wp-content/uploads/2008/06/squareholeemc2.thumbnail.jpg" alt="EMC2 Square Hole" /></a></p>
<p>I was afraid that the tip of the end mill might bind in the sticky double-sided carpet tape so I held on to the poplar with one hand and kept my finger on the power button with the other hand just in case. I was also afraid that the cube being cut might fly out as it came free.</p>
<p>It turned out pretty good. No sticky residue on the end mill and no gouging of the sacrifical platform. The cube in the center held in place during cutting and while I lifted the poplar. It came out when I removed the carpet tape.</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2008/06/squarehole.jpg" title="Square Hole"><img src="http://www.britishideas.com/wp-content/uploads/2008/06/squarehole.thumbnail.jpg" alt="Square Hole" /></a></p>
<p>The cut is nice and clean with no burrs. I guess the carpet tape is a good method to continue using.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d87').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d87" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d87').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d87').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2008/06/23/cutting-holes-with-cnc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Steps With CNC</title>
		<link>http://www.britishideas.com/2008/06/22/first-steps-with-cnc/</link>
		<comments>http://www.britishideas.com/2008/06/22/first-steps-with-cnc/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 02:16:27 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2008/06/22/first-steps-with-cnc/</guid>
		<description><![CDATA[Today I took my first steps cutting some scrap pine. I started off with a 2&#8243; diameter circle then measured it. This is an acid test to check the CNC machine for accuracy and squareness. I used a 1.45mm four flute carbide end mill, 10&#8243; per minute speed and cutting to 0.05&#8243; deep.
Next I used]]></description>
			<content:encoded><![CDATA[<p>Today I took my first steps cutting some scrap pine. I started off with a 2&#8243; diameter circle then measured it. This is an acid test to check the CNC machine for accuracy and squareness. I used a 1.45mm four flute carbide end mill, 10&#8243; per minute speed and cutting to 0.05&#8243; deep.</p>
<p>Next I used CamBam to cut my wife&#8217;s name. That also went well, however even with the text 1.5&#8243; high I was running into a limitation of the end mill. A small mill would have improved the detail.</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2008/06/cyndipine.jpg" title="Text cut into pine"><img src="http://www.britishideas.com/wp-content/uploads/2008/06/cyndipine.thumbnail.jpg" alt="Text cut into pine" /></a></p>
<p>Then I downloaded a DXF file of a horse and tried cutting that. Came out very nicely. The thin strip of wood left between the body and mane is thin enough to see light through it.</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2008/06/horsepine.jpg" title="Horse cut into pine"><img src="http://www.britishideas.com/wp-content/uploads/2008/06/horsepine.thumbnail.jpg" alt="Horse cut into pine" /></a></p>
<p>Here is a video shows the horse being made.</p>
<p><embed id="VideoPlayback" style="width:400px;height:326px" allowFullScreen="true" src="http://video.google.com/googleplayer.swf?docid=-5536220933492536573&#038;hl=en&#038;fs=true" type="application/x-shockwave-flash"> </embed></p>
<p>For all these I used the same end mill and cutting depth as I did for the circle.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d82').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d82" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d82').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d82').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2008/06/22/first-steps-with-cnc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Measuring CNC Backlash and Software Compensation</title>
		<link>http://www.britishideas.com/2008/06/19/measuring-cnc-backlash-and-software-compensation/</link>
		<comments>http://www.britishideas.com/2008/06/19/measuring-cnc-backlash-and-software-compensation/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 04:21:20 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[backlash]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2008/06/19/measuring-cnc-backlash-and-software-compensation/</guid>
		<description><![CDATA[This article describes how I measured the backlash on my CNC machine and then applied software compensation.
To measure backlash I used a Mitutoyo dial indicator with 0.0001&#8243; markings and a full scale of 0.01&#8243;. The dial indicator was attached to an adjustable stand so the plunger could be placed against various surfaces on the machine.]]></description>
			<content:encoded><![CDATA[<p>This article describes how I measured the backlash on my CNC machine and then applied software compensation.</p>
<p>To measure backlash I used a Mitutoyo dial indicator with 0.0001&#8243; markings and a full scale of 0.01&#8243;. The dial indicator was attached to an adjustable stand so the plunger could be placed against various surfaces on the machine. The stand had a heavy base to ensure the dial indicator and stand didn&#8217;t move when pressure was applied to the plunger.</p>
<p>The picture below shows the set up ready to measure the backlash of the X axis.</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2008/06/backlashx.jpg" title="Measuring backlash on X"><img src="http://www.britishideas.com/wp-content/uploads/2008/06/backlashx.thumbnail.jpg" alt="Measuring backlash on X" /></a></p>
<p>Here is the method I used:</p>
<ol>
<li>Position the plunger on the dial indicator a short distance from a surface that moves in the direction of the axis being measured. The plunger should be perpendicular to the surface.</li>
<li>Jog 0.001&#8243; along the axis being measured into the plunger, until the needle moves at least 0.001&#8243;.</li>
<li>Note the value shown on the dial indicator. We&#8217;ll call this &#8216;S&#8217; for start.</li>
<li>Jog the axis 0.001&#8243; seven times into the plunger. Each jog will cause the needle to move. Be careful not to cause the needle to move to the maximum position.</li>
<li>Jog the axis 0.001&#8243; seven times away from the plunger. The first one, two or three jogs may not cause the needle to move. This is the slack being taken up and hence the backlash.</li>
<li>Note the value shown on the dial indicator. We&#8217;ll call this &#8216;F&#8217; for finish.</li>
<li>Calculate the difference between the finish value and the start value (F -S). This is the amount of backlash.</li>
<li>Jog the axis away from the plunger</li>
<li>Repeat two more times then work out the average value.</li>
</ol>
<p>The next picture shows the position of the dial indicator used to measure the Y axis.</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2008/06/backlashy.jpg" title="Measuring backlash on y"><img src="http://www.britishideas.com/wp-content/uploads/2008/06/backlashy.thumbnail.jpg" alt="Measuring backlash on y" /></a></p>
<p>The last picture shows the position of the dial indicator used to measure the Z axis.</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2008/06/backlashz.jpg" title="Measuring backlash on z"><img src="http://www.britishideas.com/wp-content/uploads/2008/06/backlashz.thumbnail.jpg" alt="Measuring backlash on z" /></a></p>
<p>For my machine I measured the backlash as (averages):</p>
<ul>
<li>X = 0.00538&#8243;</li>
<li>Y = 0.00250&#8243;</li>
<li>Z = 0.00030&#8243;</li>
</ul>
<p>EMC2 provides software compensation for backlash. This isn&#8217;t as good as using anti-backlash nuts, but I was curious to see how well it would perform. One thing to keep in mind is that over time wear will cause the backlash to change. To configure EMC2 simply add the backlash values to the axis sections of the INI file. Nice and simple. For example:</p>
<p><code>[AXIS_0]<br />
...<br />
BACKLASH=0.00538</code></p>
<p>I then remeasured the backlash and obtained the following values (averages):</p>
<ul>
<li>X = 0.00073&#8243;</li>
<li>Y = 0.00010&#8243;</li>
<li>Z = 0.00013&#8243;</li>
</ul>
<p>The Y axis saw the greatest improvement (96%) followed by the X axis (86%) and the Z axis (56%). I think this is pretty good.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d81').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d81" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d81').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d81').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2008/06/19/measuring-cnc-backlash-and-software-compensation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Configuring EMC2 For Three Axis Stepper Motor Control</title>
		<link>http://www.britishideas.com/2008/04/29/configuring-emc2-for-three-axis-stepper-motor-control/</link>
		<comments>http://www.britishideas.com/2008/04/29/configuring-emc2-for-three-axis-stepper-motor-control/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 06:25:06 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[emc2]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2008/04/29/configuring-emc2-for-three-axis-stepper-motor-control/</guid>
		<description><![CDATA[There are many ways to configure EMC2, suiting many different uses. But perhaps the most common is control of three stepper motors. This post describes the process I went through to configure EMC2 for my CNC machine, which is a Fireball CNC V90. These steps may not match exactly your needs, but perhaps it will]]></description>
			<content:encoded><![CDATA[<p>There are many ways to configure EMC2, suiting many different uses. But perhaps the most common is control of three stepper motors. This post describes the process I went through to configure EMC2 for my CNC machine, which is a Fireball CNC V90. These steps may not match exactly your needs, but perhaps it will help as a starting point for further exploration.</p>
<p>It assumed that you have managed to get EMC2 installed and have run the latency tests with no overruns. If you are seeing overruns then try the hints on the <a href="http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?TroubleShooting">EMC2 Troubleshooting</a> page.</p>
<p>When you see &#8216;$&#8217; in this post, it represents the user prompt. Don&#8217;t type it, only type the commands that follow. Replace &#8220;andy&#8221; with your own user name.</p>
<p>First we need to know how many steps per second your PC can generate. To do that we run the kernel latency test:</p>
<p><code>$ cd /usr/realtime*/testsuite/kern/latency<br />
$ sudo ./run</code></p>
<p>The test will output a set of numbers. Use the PC to browse the web, play music and check email for a few minutes. However don&#8217;t run EMC2. Stop the test and note the largest value in the &#8220;ovl max&#8221; column. In my case it was 92,191. Values over 100,000 may not give good performance. In general the larger the value the worst CNC performance will be. There are some hints in the <a href="http://wiki.linuxcnc.org">EMC2 wiki</a> on how to lower this value.</p>
<p>92,191 means 92.191us (us = microseconds). Between the PC at the stepper motor is a driver chip, such as the SLA7078MR. This chip has some delays that are required for each edge. By reading the datasheet for the driver chip we can find out what this is, and for the SLA7078MR it is 12us. If you don&#8217;t know or not sure, I would suggest you pick a value similar to this and err on the side of caution by making the value a bit larger.</p>
<p>So we have 93us (rounded up) + 12us = 105us = 105,000ns (ns = nanoseconds). This is the BASE_PERIOD (more on that in a bit).</p>
<p>Therefore the maximum step rate for my PC is 1 / (105us x 2) = 4,762 steps per second.</p>
<p>It&#8217;s possible to tweak the steplen, stepspace, dirsetup and dirhold values to achieve better results than this, but that topic is outside the scope of this post. See the EMC2 documentation for details.</p>
<p>We next need to calculate how many steps are needed to move one inch with 1/4 microstepping. If you wish to use a different microstepping configuration or millimeters then adjust the following calculations accordingly.</p>
<p>My stepper motors require 200 pulses per revolution. This is a very common amount. With 1/4 microstepping it will take 200 x 4 = 800 steps per revolution.</p>
<p>On the X and Y axis of my machine the lead screw has 10 turns per inch but it is has two starts, which makes it 5 turns per inch. This is a pitch of 1 / 5 = 0.2 inches.</p>
<p>Therefore 0.20in / 800 steps per rev = 0.00025in per step.</p>
<p>Therefore 1 / 0.00025in = 4000 steps per inch. 4000 becomes the INPUT_SCALE value for X and Y.</p>
<p>The maximum speed is 4762 steps per second / 4000 = 1.1905in per second = 71.43in per minute. 1.1905 is the MAX_VELOCITY for X and Y.</p>
<p>On the Z axis of my machine the lead screw has 12 turns per inch. This is a pitch of 0.0833in.</p>
<p>Therefore 0.0833in / 800 steps per rev = 0.000104166in per step.</p>
<p>Therefore 1 / 0.000104166in = 9600 steps per inch. 9600 becomes the INPUT_SCALE value for Z.</p>
<p>The maximum speed is 4762 steps per second / 9600 = 0.4960416667in per second = 29.7625in per minute. 0.4960416667 is the MAX_VELOCITY for Z.</p>
<p>We now have all the information needed to complete the configuration of EMC2. First we must copy the example configuration files and then customize them.</p>
<p><code>$ mkdir /home/andy/emc2/<br />
$ cp /etc/emc2/sample-configs/stepper /home/andy/emc2/<br />
$ sudo chown andy:andy /home/andy/emc2/*</code></p>
<p>Rename all values to remove &#8220;dpkg-new&#8221; from the end of the file names. Then:</p>
<p><code>$ cd /home/andy/emc2<br />
$ mv stepper_inch.ini mymachine_inch.ini<br />
$ nano -w mymachine_inch.ini</code></p>
<p>Scroll down to the BASE_PERIOD line and set it to the value calculated in nanoseconds. In my case it is 105000.</p>
<p>Scroll down to the trajectory planner and set the MAX_VELOCITY value to the largest MAX_VELOCITY value of all the axis. In my example it is 1.1905.</p>
<p>Scroll down to the section that configures the first axis (X) and set the INPUT_SCALE to the value calculated. In my example it is 4000. Set the MAX_VELOCITY and STEPGEN_MAXVEL to the MAX_VELOCITY value for the axis. In this example it is 1.1905.</p>
<p>Repeat for the Y and then Z axis.</p>
<p>The final step is to edit standard_pinout.hal to match the pinout of your controller board. The important section in the file looks something like:</p>
<p><code>linksp Xstep =&gt; parport.0.pin-03-out<br />
linksp Xdir  =&gt; parport.0.pin-02-out<br />
linksp Ystep =&gt; parport.0.pin-05-out<br />
linksp Ydir  =&gt; parport.0.pin-04-out<br />
linksp Zstep =&gt; parport.0.pin-07-out<br />
linksp Zdir  =&gt; parport.0.pin-06-out</code></p>
<p>Simply change the &#8220;03&#8243;, &#8220;02&#8243;, etc. values to match the pin numbers used by your board. &#8220;Xstep&#8221; means the step input for the X axis.</p>
<p>Now run EMC2 using:</p>
<p><code>$ emc /home/andy/emc2/mymachine_inch.ini</code></p>
<p>Set the jog rate to the maximum for each axis in turn and jog the axis. It is possible that the axis may stall or lose steps. This is because the value we calculated is a theoretical maximum. However it gives you a starting point to reduce the speed of the axis until it works reliably. To do this lower the jog speed slightly until it works then using the INPUT_SCALE work out a new value for the number of steps per axis. For example, assuming we had to lower the jog speed to 60.000 in per minute on the X axis:</p>
<p>60.000 in per minute / 60 = 1.000 in per second. 1.000 in per second x 4000 steps per inch (INPUT_SCALE) = 4000 steps per second</p>
<p>Now a new value for BASE_PERIOD can be calculated:</p>
<p>1 / 4000 steps per inch / 2 =  125,000ns</p>
<p>Edit mymachine_inch.ini and set the new BASE_PERIOD value. Note that this will lower the speed of all axis. Recalculate the MAX_VELOCITY value for all axis and update the configuration file with the new values. Then retest.</p>
<p>I found that on my PC it can operate at the theoretical maximum speed without problems. I hope this helps you configure EMC2 for your machine.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d69').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d69" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d69').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d69').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2008/04/29/configuring-emc2-for-three-axis-stepper-motor-control/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Resizing Images for Email in gThumb</title>
		<link>http://www.britishideas.com/2007/12/26/resizing-images-for-email-in-gthumb/</link>
		<comments>http://www.britishideas.com/2007/12/26/resizing-images-for-email-in-gthumb/#comments</comments>
		<pubDate>Wed, 26 Dec 2007 20:31:01 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/12/26/resizing-images-for-email-in-gthumb/</guid>
		<description><![CDATA[I wanted an easy way to resize images for email after importing them from a digital camera when using Gnome. Gnome by default uses gThumb for the import and it seems like an easy to use program. The problem is that in order to resize images several mouse clicks are needed, followed by a file]]></description>
			<content:encoded><![CDATA[<p>I wanted an easy way to resize images for email after importing them from a digital camera when using Gnome. Gnome by default uses gThumb for the import and it seems like an easy to use program. The problem is that in order to resize images several mouse clicks are needed, followed by a file rename.</p>
<p>So I wrote this quick little script to perform the resizing for me. Note that it only works with one picture at a time. To install copy to somewhere like /usr/share/scripts and make sure it is executable by everyone (<code>sudo chmod 755 /usr/share/scripts/resizeimage</code>). Then in gThumb go to the preferences and click on the Hotkeys tab. Add the following to one of the hotkeys (I used zero):</p>
<p><code>/usr/share/scripts/resizeimage %f %n %e</code></p>
<p>Then in gThumb select an image and press the hotkey (on the numeric keypad). The image will be resized and renamed in one step.</p>
<p>The script is written to resize the image so the longest side is 800 pixels, while maintaining the aspect ratio. You need to have ImageMagick installed. If the original image is called foo.jpg, then the resized image will be called foo.resized.jpg, just like the Nautilus Image Converter does.</p>
<p><code>#!/bin/bash<br />
# resizes an image for email, preserving aspect ratio<br />
# requires imagemagik<br />
# call: resizeimage /home/andy/foo.jpg /home/andy/foo .jpg<br />
# in gthumb: resizeimage %f %n %e</code></p>
<p><code>convert "$1" -resize "800x800&gt;" "$2.resized$3"</code></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d53').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d53" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d53').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d53').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/12/26/resizing-images-for-email-in-gthumb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Part Design Tools and Workflow</title>
		<link>http://www.britishideas.com/2007/11/19/part-design-tools-and-workflow/</link>
		<comments>http://www.britishideas.com/2007/11/19/part-design-tools-and-workflow/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 05:24:59 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/11/19/part-design-tools-and-workflow/</guid>
		<description><![CDATA[After spending quite some time trying different pieces of software I have come up with a collection and a workflow that I think will fit my needs.
I wanted to be able to accurately design parts in 3D, see how the parts will fit together to make sure they are right, and produce traditional engineering drawings]]></description>
			<content:encoded><![CDATA[<p>After spending quite some time trying different pieces of software I have come up with a collection and a workflow that I think will fit my needs.</p>
<p>I wanted to be able to accurately design parts in 3D, see how the parts will fit together to make sure they are right, and produce traditional engineering drawings of the parts, if possible. Also it is necessary once a part has been designed to be able to convert it into toolpaths, which is the path that a drill bit would move along to make the part. The toolpaths are represented using g-code which can be processed by EMC2 to move the stepper motors. Another requirement was to use free software where possible to try and keep costs down.</p>
<p>I start with <a href="http://www.alibre.com/xpress/software/alibre-design-xpress.asp" title="Alibre Design Xpress">Alibre Design Xpress</a>. This is an excellent 3D design program that is also free. However free comes with a price, that is limitations. The key limitations are a limited number of export options and limited number of parts in an assembly. An assembly is a collection of parts fitted together to build something. However with enough perseverance these limitations can be overcome. In Design Xpress I created a simple test part that contains two holes for bolts:</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece12d.gif" title="Test Piece 1 2D Design"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece12d.thumbnail.gif" alt="Test Piece 1 2D Design" /></a></p>
<p>Creating this 2D profile is very quick and easy. The holes are 0.174&#8243; in diameter, which should be big enough for a #8 bolt. Next step is to extrude the 2D profile into a 3D part:</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece13d.gif" title="Test Piece 1 3D Design"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece13d.thumbnail.gif" alt="Test Piece 1 3D Design" /></a></p>
<p>The part can be rotated and viewed from any angle. I decided to make the part 0.250&#8243; thick. At this point Design Xpress can produce various numbers regarding the part, depending on the material it is made of. Choosing &#8220;Wood &#8211; southern pine&#8221; resulted in:</p>
<p>Volume = 1.480147117 in³<br />
Mass = 1.576592260E-2 kg<br />
Surface Area = 1.453202145E1 in²</p>
<p>Pretty interesting.</p>
<p>The software only allows five unique parts in an assembly, unless you register then it is 10. However this is quite a severe limitation in my opinion. Fortunately there is a way around this. Alibre has written an add-on called <a href="http://www.alibre.com/promos/online/3DSketchUp.asp" title="3D Publisher">3D Publisher for Google Sketchup</a> that allows parts to be exported in <a href="http://sketchup.google.com/" title="Google Sketchup">Google&#8217;s Sketchup</a> format. It&#8217;s not a requirement that the parts be uploaded to Google&#8217;s 3D Warehouse. Instead the exported parts can be saved to your hard drive. The following screenshot shows an assembly of two of the test parts along with size #8 bolts and nuts. The exact bolts are ANSI PHN, CRSHD TYPE II, B18.6.3, .164-36 UNF, 0.75, which gives an indication of the accuracy expected from designing parts and assembling them.</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1assembly.gif" title="Test Piece 1 Assembly"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1assembly.thumbnail.gif" alt="Test Piece 1 Assembly" /></a></p>
<p>Again, this assembly can be rotated and the parts can be made transparent, along with plenty of other options. There is even a free add-on for Google Sketchup that provides a <a href="http://www.suplugins.com/" title="Podium Ray Tracer">ray tracer</a>. Assembling two parts confirmed my intention that the holes will line up.</p>
<p>With a few mouse clicks Design Xpress can convert the 3D part into traditional  engineering drawing:</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1drawing.gif" title="Test Piece 1 Drawing"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1drawing.thumbnail.gif" alt="Test Piece 1 Drawing" /></a></p>
<p>This can be printed out, emailed, etc. and provides all the measurement details for someone else to reproduce the part without having access to electronic files. The drawing can also be exported as a DXF (without the annotations), which is needed for the next step.</p>
<p>I found an excellent application to generate toolpaths for a part called <a href="http://www.brusselsprout.org/CAMBAM/">CamBam</a>. It takes a DXF file and provides an easy to use user interface in which you can select which items are profiled, drilled, pocketed, etc. Once the DXF file is loaded into CamBam all the unneeded views are deleted to leave the original 2D profile. For this part I added a 2.5D profile operation to cut the outline of the shape and two sprial drill operations for the holes:</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1cambam.gif" title="Test Piece 1 in CamBam"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1cambam.thumbnail.gif" alt="Test Piece 1 in CamBam" /></a></p>
<p>Cam Bam then generates the g-code which can be loaded in the AXIS interface in <a href="http://www.linuxcnc.org" title="EMC2 Linux CNC">EMC2</a>:</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1axis.png" title="Test Piece 1 in AXIS"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1axis.thumbnail.png" alt="Test Piece 1 in AXIS" /></a></p>
<p>This process may seem convoluted, and it requires both Windows and Linux, but all the software can be obtained for free and is high quality. I haven&#8217;t completed my CNC machine yet, but I can watch the part being made in the AXIS interface without having the motors connected. I would expect that all the software will work in a Virtual Machine in Linux, however note that Design Xpress requires a lot of RAM to run (300Mb I believe).</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d45').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d45" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d45').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d45').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/11/19/part-design-tools-and-workflow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
