tag:blogger.com,1999:blog-38876158127723737202024-03-13T11:50:46.126-06:00Life as an Engineer- Living Life and Loving itThis blog is a tool to share my experience as a mechanical engineer. I hope to share fun projects from both work and home. Expect to see posts about CNC machining, injection molding, and 3d printing among other topics. geo01005http://www.blogger.com/profile/05207244129346213313noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-3887615812772373720.post-22874422619614332182014-08-02T23:08:00.003-06:002014-08-02T23:53:03.523-06:00F-Engrave V-Carving Projects<h2>
V-Carving </h2>
Back a few years ago I did a speed comparison on a few CAM programs for generating g-code for cnc machines. Since then I have done a lot of machining using those programs, but also some work with a program called <a href="http://www.scorchworks.com/Fengrave/fengrave.html">f-engrave</a>. <a href="http://www.scorchworks.com/Fengrave/fengrave.html">f-engrave</a> is a python program that produces tool path for a machining process called v-carving, and well as general engraving.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/86jLETg91Bg?feature=player_embedded' frameborder='0'></iframe></div>
<br />
V-carving, as seen above, is a process that produces 3D carved features in a work piece using a tapered bit. V-carving is often used for 3D carved signs and is especially popular for carving block lettering. V-carving produces high quality engravings with greatly reduced cutting time in comparison to 3d contouring, however, it is generally limited to features that have relatively narrow strokes. The width of the stroke is determined by the depth of the cut using a v-shaped bit.<br />
<br />
<a href="http://www.vectric.com/products/vcarve-pro.htm">Vetric's VCarve</a> software is a popular software suite for producing tool paths for v-carving. VCarve Pro isn't as expensive as some CAM software, but I can't justify the purchase price for hobby use. There are a few other commercial software suites for producing v-carving tool paths, but the prices are similarly aimed at commercial sign makers and the like ($500-$5000).<br />
<br />
<h2>
F-Engrave </h2>
So, some time ago I started using the v-carving features of <a href="http://www.scorchworks.com/Fengrave/fengrave.html">f-engrave</a> to make some Christmas gifts. As far as I'm concerned, f-engrave does a great job producing tool paths. I found that the most useful workflow for producing high quality engravings was to create a black and white image of the project in a graphics application like Inkscape or Adobe Illustrator, convert to a bitmap, and import into f-engrave. f-engrave uses a bitmap to vector conversion tool called potrace.<br />
<br />
Potrace does a pretty good job converting the bitmap to a vector. However, if you have done much work converting bitmaps to vectors you will know that without the right resolution bitmap and the right settings in the convertor you can end up with one of two problems. First, if you start of with two low of a resolution bitmap, then you end up with a jagged vector image. Second, if you have too of a high resolution bitmap and the wrong setting in the converter then you end up with a vector representation with hundreds of thousands of line segments.<br />
<br />
In f-engrave (up to version 1.36) if you have a vector image that has many line segments the v-carving calculations begin to take a long time. For example, an unoptimized vector image could take my relatively speedy intel i7 machine 30 minutes+ to calculate the v-carving. However, it I take the time to tune the resolution of the image and the potrace setting f-engrave would only take about 5 minutes to do the same job. This became a bit of a frustration as I would find myself spending and hour or more to get the settings right so the image caved well, but didn't take forever to calculate.<br />
<br />
I should explain that it is possible to import a vector image as a dxf directly, but the many different versions of dxf formats makes this difficult. Besides, how many good graphics programs produce good dxf files without significant effort. I decided that what I needed was the ability to import any old bitmap image even a high resolution and not have to wait forever for the tool paths to be calculated. <br />
<br />
I knew that f-engrave used a somewhat brute force algorithm, but I wondered how much faster it would run it I were to re-write the code in C++ or java. Thankfully, I didn't take the time to rewrite the code in c++. I'm sure that it is true that the algorithms as they existed would run faster in c or c++ than they did in python, but often a change in the algorithm will make a much for significant difference. <br />
<br />
Due to the fact that f-engrave is a single file python program it is really easy to dive in and see how the program works. I love this as it was fairly simple for a weekend warrior programmer like myself to modify the program and implement some improvements. I was able find a chunk of the code that was taking a large portion of the computation time that was in a recursive loop and came up with a way to do some pre-processing to eliminate the need for most of it. This lead to a huge increase in the speed of the program. Below you can see the speed improvement from the change:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/Wac3ZVh1jis?feature=player_embedded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Unfortunately, it took me about a year to remember that I needed to get this code back to the developer of f-engrave for the community to get the improvement. I recently did that and hopefully in the coming weeks a new version of f-engrave will be released with this improvement.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The result with the speed improvement is that I can now import a high resolution bitmap image from whatever tool I used to create it and get a high quality toolpath out of f-engrave quickly. I'm happy, and I hope that many of you who read with will be happy about it too. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
geo01005http://www.blogger.com/profile/05207244129346213313noreply@blogger.com0tag:blogger.com,1999:blog-3887615812772373720.post-78716137385532126482014-08-02T19:07:00.000-06:002014-08-03T23:25:26.486-06:00Tropicana Orange Juice LidHaving recently developed some packaging for liquid products at work, I'm often now interested my new packages in the grocery store. Today, while in the refrigerated section at Walmart, I saw this neat new lid/pour spout on one of the Tropicana bottles:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT6A1JF9-JFxw3rNCyA2VinIG9g9tE5ObnlP2gOSGZhI-2xSX48rIatlVCoRU1sXW4KuVFCfJulpGrtaaVONcq9fw_EagUKuhtd6SC5Pnp-7ubI1oW59ZFFIifIXlGbiwGJhKDPpaQJa8m/s1600/20140802_120732.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"> <img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT6A1JF9-JFxw3rNCyA2VinIG9g9tE5ObnlP2gOSGZhI-2xSX48rIatlVCoRU1sXW4KuVFCfJulpGrtaaVONcq9fw_EagUKuhtd6SC5Pnp-7ubI1oW59ZFFIifIXlGbiwGJhKDPpaQJa8m/s640/20140802_120732.jpg" height="300" width="400" /> </a> </div>
<div class="separator" style="clear: both; text-align: left;">
The part about this that is neat is that the injection molded lid just has a snap fit that holds it onto the extrusion blow molded bottle. We are planning on reusing the container as a pitcher once we are done with the OJ. I also love the pull off seal that is all one injection molded piece with the lid. I was a bit surprised to see that the snap on lid is actually a different part. However, I'm sure it would be very difficult to have molded it in as a single part with the seal. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Anyway this may have been a bit boring, but I found this lid quite interesting.</div>
geo01005http://www.blogger.com/profile/05207244129346213313noreply@blogger.com0tag:blogger.com,1999:blog-3887615812772373720.post-74196282918802808652012-08-18T22:48:00.002-06:002014-08-03T00:01:28.121-06:00Co2 Car Races<h2>
The Race Day Has Come!!!!</h2>
Well I couldn't wait for the race day for our Co2 Cars to come. I spent the last few hours before the race thinking about how I could further reduce the friction of the car. But At some point you just can't do much more. Here is my completed car with post race dings on the nose:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx_i6As5LoNrZXQueWRYBV71ckVnNSBTiiT5rX04LG_Kb3bqlKl4nZ1cyrGgDnYzQ_tUsaOirf_nnA9e6o8pHM8hDHzObuccPs7F7pOCJoRZtlFY60wWKexnC8ljtWg3mOLh4ewBOyxnrI/s1600/2012co2+Car.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx_i6As5LoNrZXQueWRYBV71ckVnNSBTiiT5rX04LG_Kb3bqlKl4nZ1cyrGgDnYzQ_tUsaOirf_nnA9e6o8pHM8hDHzObuccPs7F7pOCJoRZtlFY60wWKexnC8ljtWg3mOLh4ewBOyxnrI/s320/2012co2+Car.jpg" height="190" width="320" /></a></div>
So I suppose you would like to see some of the video?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/notD6wfBuw0?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<br />
<br />
I ended up finishing second in the race. The first place car was cut on my machine, but the design was a bit lighter. My car was 2.9 oz, the first place car was 2.3 oz, so it isn't surprising that it won the rare. I suppose next year I'll worry more about weight than the aerodynamics.<br />
<br />
I'll post some more in a day or two when I have some more time. geo01005http://www.blogger.com/profile/05207244129346213313noreply@blogger.com1Utah, USA39.3209801 -111.0937311000000133.0518081 -121.4208796 45.5901521 -100.76658260000002tag:blogger.com,1999:blog-3887615812772373720.post-17158052005113113102012-08-11T22:13:00.000-06:002014-08-03T07:32:07.550-06:00How Fast is your CAM Software?<div>
So I have been doing quite a bit of surfacing lately with co2 car I have been working on. Surfacing calculations were consuming a significant amount of my time. So I thought I would make a comparison of the apps I have used. First we will look at pycam.<br />
<br />
<h2>
The Test Parameters </h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYLVXoE7EbUlL1NLB28KSCajFYwKhCgKT_sjNxJa5f3L_FcARkUCb-71G6O6Wj8QGINsTLaQFYktQE0ZFCT1GhmnFg6RShrQawjXftJ52W45AnlJcZUosjdsmqu0dHJSPffZcTBMfB2K0j/s1600/BSACARImages00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYLVXoE7EbUlL1NLB28KSCajFYwKhCgKT_sjNxJa5f3L_FcARkUCb-71G6O6Wj8QGINsTLaQFYktQE0ZFCT1GhmnFg6RShrQawjXftJ52W45AnlJcZUosjdsmqu0dHJSPffZcTBMfB2K0j/s320/BSACARImages00.png" height="154" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7GUJBzhj8yO2VC_2MoA1QM7oLnusrx8u9-DeXlPwNeCgoC5H83PprQelrfVVPdI5ngJkbk003c_1Zh3Os-oXvATT7aH8yOlJFVHBIUFboDvZM6x2l_x58D-BAlU0roLTW2yczWtq5BWbZ/s1600/BSACARImages00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
The Test file I will use for comparison is one the co2 car designs
from the last few posts on this blog. This file is in stl format and has about
50,000 triangles. The model is about 2" x 10" x 2". The operation is
zigzag surfacing the model with a .250" ball end mill and a .015
stepover.<br />
<br />
<a href="https://sites.google.com/site/geo01005/BSACar2Meshlab.7z"><b>Here is the STL file </b></a><br />
<h2>
PyCAM </h2>
Pycam has some interesting option that are intriguing to try. However I found that the amount time was unreasonable for my application.<br />
<br />
Pycam failed the task all together. After consuming 6gb of memory and all 8 of my cpus cores for an hour it finally finished the first 8 passes, then locked up the computer. Before the crash the progress bar said there was more than one hour remaining. I don't have time to wait that long.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtlUuhOsY7sJoGBLI_xnRMHGAEapdMT71B2-nywN3l19Rze560IvnL50aRpQ6iJ8lPZD_IzUEXUhnG6BrsWtTQcVhSxSzkqNPGmaiTeGzqnlEpfbbw55iMDoP6HqoNY3SjAaYlIeSGqOh_/s1600/pycam+CPU+ussage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtlUuhOsY7sJoGBLI_xnRMHGAEapdMT71B2-nywN3l19Rze560IvnL50aRpQ6iJ8lPZD_IzUEXUhnG6BrsWtTQcVhSxSzkqNPGmaiTeGzqnlEpfbbw55iMDoP6HqoNY3SjAaYlIeSGqOh_/s320/pycam+CPU+ussage.png" height="180" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqK8rnC_XSFwomnKI542NW60Wswy9ZNPClsoaU-t61NwJBJAKcsc9QzccsMmSZqfe5UcoLXTpFePE-kaVyOv54-6_mJ5s3679uPA217GA4eJ1qgDjadzGVCssWR9-Oqjb9Y8xGeHaNmdFi/s1600/pycam+Fail.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqK8rnC_XSFwomnKI542NW60Wswy9ZNPClsoaU-t61NwJBJAKcsc9QzccsMmSZqfe5UcoLXTpFePE-kaVyOv54-6_mJ5s3679uPA217GA4eJ1qgDjadzGVCssWR9-Oqjb9Y8xGeHaNmdFi/s320/pycam+Fail.png" height="180" width="320" /></a></div>
<br />
<br />
<h2>
HeeksCNC (OpenCamLib) </h2>
Next OpenCAMLib in HeeksCNC. OCL performed the task in about 5 minutes with two triangle intersection errors. See the following pictures. This is definitely much better than PyCAM, however, I had to verify the resulting gcode to detect and manually fix the triangle error that would creep into the code. Some of these errors on different operations would cause the tool to dive through the workpiece. So, verify your code before you run it.<br />
<br />
<a href="https://sites.google.com/site/geo01005/HeeksBenchmark.7z"><b>Here is the HeeksCNC File</b></a> <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwLXsjrxkHBw8BgxZcw-EDDKyfHP7QyusLDWn915l49JIJw2QUtd_3ejkWkRIJzDMdfVtzsN1ooPlYHD8ev-8-htFpHWztBgxvHa8GfMIqAuOuX9mheFM2JHmlNzfpksfHJam-_MM_AsdY/s1600/HeeksOCMScreenShot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwLXsjrxkHBw8BgxZcw-EDDKyfHP7QyusLDWn915l49JIJw2QUtd_3ejkWkRIJzDMdfVtzsN1ooPlYHD8ev-8-htFpHWztBgxvHa8GfMIqAuOuX9mheFM2JHmlNzfpksfHJam-_MM_AsdY/s320/HeeksOCMScreenShot.png" height="180" width="320" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio2KYr6DvvP7aYW_6ti-YAxIDjl3fdQb78X3QdDwtz8d7UqpezNnwLgAzYZ5VGMnA9KiokW02PUsqZAdemh-efWO4N2NXv1YyLThhr9xZKBF6rnkmn7ekfSl-twhH53iUnLoP7__yTSeps/s1600/HeeksCADResults.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio2KYr6DvvP7aYW_6ti-YAxIDjl3fdQb78X3QdDwtz8d7UqpezNnwLgAzYZ5VGMnA9KiokW02PUsqZAdemh-efWO4N2NXv1YyLThhr9xZKBF6rnkmn7ekfSl-twhH53iUnLoP7__yTSeps/s320/HeeksCADResults.png" height="180" width="320" /></a></div>
<br />
<h2>
FreeMill (free VirtualMill product) </h2>
<br />
Freemill produced the requested toolpath in 3.17 seconds. No errors. I'm quite impressed with the speed, but I have not compared the resulting code to see if the stl file had been simplified before the code was generated.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqI33c3Bs8b8irnKiHm07Rl0aYQXJofBEXd-4Kc3EtTdH2aUGdN1xvQgNIxeLYplVBuw_eW1tKp5cMTeU8zN_M6zDLaiOtO1jL-vuNgHTCu23m72K6VZz8b1ra1wDtJkXDsh6IV1tDnBjP/s1600/FreeMill.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqI33c3Bs8b8irnKiHm07Rl0aYQXJofBEXd-4Kc3EtTdH2aUGdN1xvQgNIxeLYplVBuw_eW1tKp5cMTeU8zN_M6zDLaiOtO1jL-vuNgHTCu23m72K6VZz8b1ra1wDtJkXDsh6IV1tDnBjP/s320/FreeMill.png" height="180" width="320" /></a></div>
<h2>
Conclusion</h2>
When doing hobby stuff at home, nothing beats free. In that reguard OpenCAM lib takes the cake as the best free surfacing tool that I know of. Please feel free to let me know of something better.<br />
<br />
When doing work, rather than play, it sure it nice to have some tools that reduce wait time from a few minutes to a few seconds. The VirtualMill product is expensive enough that I would need a pretty darn good reason to purchase it for faster CAM calculation time. <br />
<br />
It would be nice to see what could be done to narrow the gap between the open-source solutions and the commercial tools. I
would love to see some additional examples of other software creating
the same operation in CAM programs. Please feel free to use my model as
at tool to compare other solutions. Here it is.</div>
geo01005http://www.blogger.com/profile/05207244129346213313noreply@blogger.com0tag:blogger.com,1999:blog-3887615812772373720.post-77389137903177609822012-08-05T12:23:00.002-06:002012-08-05T12:23:57.790-06:00Share your toys<h2>
Sharing is Fun </h2>
So one of my other objectives with this project was to share my toys. Like I have said in previous posts, I'm not really out to win the race, I just want to have fun. If anybody else in race wants to use my tools to cut out their car I would be more than willing to help out. After all, it just means I get to have some more fun using my machines :)<br />
<br />
So I wondered how many of the other men at church had access or the skills to use CAD software to design a car to be cut on my machine. There are perhaps one or two that could make their own model. But for anybody else it isn't really an option to learn how to use some of the free CAD software to generate a complex contoured car body shape in a short amount of time. One option that is free and still pretty easy to use is <a href="http://www.123dapp.com/">Autodesks 123d CAD</a> software. <br />
<br />
However, it is pretty realistic to model a car out of clay and other sculpting materials. I figured that if someone wanted to sculpt a design is would be easy to make complex shapes using clay and then all that we would need to do is digitize the clay model and then we could cut it on the NC machine.<br />
<br />
<h2>
How to Make Clay Digital</h2>
So There are several ways to digitize a clay model these days. Most all of them use some method to create a point cloud from the surface of the part and then mesh that point cloud into a digital surface that is close to identical to the original. There are laser scanners, touch probes, X-Ray tomography, etc.. but there was one method that looked very easy and didn't cost any money. Autodesk 123d Catch.<br />
<br />
<h3>
123d Catch- Beautiful, but not very accurate</h3>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://sherpapreview-standard.s3-website-us-east-1.amazonaws.com/Preview/2012/08/05__07_12_50/icon.png621a1150-4de4-498d-af34-ffc64c55be59Large.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://sherpapreview-standard.s3-website-us-east-1.amazonaws.com/Preview/2012/08/05__07_12_50/icon.png621a1150-4de4-498d-af34-ffc64c55be59Large.jpg" width="320" /></a></div>
124d catch uses lots of digital photos of the object from different angles to create a textured mesh of the original object. <a href="http://www.123dapp.com/3dp-Catch/Co2-Car/776448">Here are the results of my attempt</a>. When you get to the site select the 3d button below the model. The model is beautiful because the texture is created from the photos, but the mesh is not very accurate. Also it bothers me that the calculations are done on the cloud. I would rather wait longer and do all of it on my computer. I'm sure that they do it in the could to gain ownership of the models. <br /><br />
<h3>
Touch Probe it is</h3>
After discovering that 123d Catch would not provide the accuracy I wanted I looked into making a touch probe for my machine. I ended up making a touch probe with a piezo buzzer and an Arduino board. More details on that sensor will be in another post. Here are the results from that experiment:<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/yybO2e5JCSU?feature=player_embedded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
And here is a picture of the resulting mesh next to the original model</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBepFGkDsU2UK9MGEiKX1BhRhByslXWRs3NQok4GveQzldRMArYNEONU_AC_1D0qCO9W_Otnl0m1AgbePXAsgAvHX1T4QBPUB7zm0ygc09Di3LF7B1tG9j4JVJIjwTYX5H4V9vxvRK_N75/s1600/snapshot00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBepFGkDsU2UK9MGEiKX1BhRhByslXWRs3NQok4GveQzldRMArYNEONU_AC_1D0qCO9W_Otnl0m1AgbePXAsgAvHX1T4QBPUB7zm0ygc09Di3LF7B1tG9j4JVJIjwTYX5H4V9vxvRK_N75/s320/snapshot00.png" width="320" /></a></div>
Not Quite the faithful reproduction I was expecting, but it is a work in progress. Also, not all the part was sampled.geo01005http://www.blogger.com/profile/05207244129346213313noreply@blogger.com0tag:blogger.com,1999:blog-3887615812772373720.post-37634588181094330712012-08-05T11:24:00.001-06:002012-08-05T11:24:08.928-06:00CNC Machining the bodyOk, here is where the CNC fun starts. I made sure to design the body with the fact that I would be contouring the body on my CNC machine with a 0.250" ball end mill. Also, the design of the car required that I be able to machine the car at least from the left right and the bottom. I ended up building a fixture out of some scraps I had in my scrap bin.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT_aaGlKpGK12fxJxUSjRuyX8y9YbL8FjTGs-9upmriWbAJZ1nZNu0grs7lwpK96OpFghrvf8vwG24k5YpVfrN_v65-YL67MC_1AdpaWeggzeVJJ5A_-hozvcLIyJAAAb_eYEHoh2FsQiZ/s1600/IMG_20120722_122100%5B1%5D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT_aaGlKpGK12fxJxUSjRuyX8y9YbL8FjTGs-9upmriWbAJZ1nZNu0grs7lwpK96OpFghrvf8vwG24k5YpVfrN_v65-YL67MC_1AdpaWeggzeVJJ5A_-hozvcLIyJAAAb_eYEHoh2FsQiZ/s400/IMG_20120722_122100%5B1%5D.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvjKtmXU-2n57WTWdy9lbuKKhcxD_OjHKOAlgSCtE4EFMI85_8GjELKZP1M9RLFmmeMZ_Ua5P-KT_B8ZTrVl7hQCjhiPnFWMt__4y2H5rH7atamuKZOmeWdHaxQT-Z0UnO_wsiAHWMFmZB/s1600/IMG_20120722_203727%5B1%5D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvjKtmXU-2n57WTWdy9lbuKKhcxD_OjHKOAlgSCtE4EFMI85_8GjELKZP1M9RLFmmeMZ_Ua5P-KT_B8ZTrVl7hQCjhiPnFWMt__4y2H5rH7atamuKZOmeWdHaxQT-Z0UnO_wsiAHWMFmZB/s400/IMG_20120722_203727%5B1%5D.jpg" width="400" /></a></div>
At the left side There is an expanding mandrel I made from a piece of 1" hex stock steel and a rubber expansion nut. The middle school car is placed loosely on the end of the mandrel. The real stock wood fits all the way up to the steel shoulder. The expanding rubber section holds the wood on the steel shoulder and prevents the block from rotating. The hex shape allows me to rotate the part around the longitudinal axis as 60 degree increments. The hex mandrel is located against the two dowels in the fixture. You can see the block fixtured in the background of the second picture.<br />
<br />
I used HeeksCNC to generate the tool paths to cut out the part. Here you can see the part positioned in the 6 orientations it will be cut in. With the six positions every spot on the car should get a good change to have the tool cut the surface at a close to normal direction to prevent needed to use extremely close contouring lines. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKr_FwDnQAMW_fS0mjAX2qF45nzwJ5Ck5Rb7I_SRKBTR3_IHOdBI6viH6_9wogkshZDEvIMUeqZ_o5FdDV406eKtdhgQQRVRM-8e-VqXHDPMHOlCJJFVYcqZuFvo3E8DF7Phwjmq1D2W07/s1600/Six+Positions+in+Heeks.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKr_FwDnQAMW_fS0mjAX2qF45nzwJ5Ck5Rb7I_SRKBTR3_IHOdBI6viH6_9wogkshZDEvIMUeqZ_o5FdDV406eKtdhgQQRVRM-8e-VqXHDPMHOlCJJFVYcqZuFvo3E8DF7Phwjmq1D2W07/s400/Six+Positions+in+Heeks.png" width="400" /></a></div>
And here is a screen shot of one of the finishing profiles.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBFiULQVgy0fuloTgkdf8cnaLSIO86L_Uvaxc48_crthYHj4AS2kq1QNvaaHZh334liwDdBsXrmVIYoJpiX5pWf2RQuYH23wntJuMgvseRqz-XnWygnMDm5b07r219rClB6kMb4H0kL31k/s1600/Countour+in+Heeks.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBFiULQVgy0fuloTgkdf8cnaLSIO86L_Uvaxc48_crthYHj4AS2kq1QNvaaHZh334liwDdBsXrmVIYoJpiX5pWf2RQuYH23wntJuMgvseRqz-XnWygnMDm5b07r219rClB6kMb4H0kL31k/s400/Countour+in+Heeks.png" width="400" /></a></div>
And finally at video of one of the programs.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/v0mlJNoDX6A?feature=player_embedded' frameborder='0'></iframe></div>
Note that I will manually cut the front of the car with a band saw and create a good looking tip to the car.geo01005http://www.blogger.com/profile/05207244129346213313noreply@blogger.com0tag:blogger.com,1999:blog-3887615812772373720.post-11254912948789388682012-08-05T10:51:00.002-06:002014-08-03T07:30:19.412-06:00CO2 Car Body DesignAfter I picked up the CO2 car kit from the scout shop I started work on the design of the body. I use Alibre CAD here at home and for consulting work. It is proficient for most mechanical CAD work I do, but I have not been impressed by it's surfacing capability. But hey nothing in in my home use budget is going to compare to software like Unigraphics NX (read >$30,000).<br />
<br />
So I whipped up a few lofted and swept profiles and created this model. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7GUJBzhj8yO2VC_2MoA1QM7oLnusrx8u9-DeXlPwNeCgoC5H83PprQelrfVVPdI5ngJkbk003c_1Zh3Os-oXvATT7aH8yOlJFVHBIUFboDvZM6x2l_x58D-BAlU0roLTW2yczWtq5BWbZ/s1600/BSACARImages00.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7GUJBzhj8yO2VC_2MoA1QM7oLnusrx8u9-DeXlPwNeCgoC5H83PprQelrfVVPdI5ngJkbk003c_1Zh3Os-oXvATT7aH8yOlJFVHBIUFboDvZM6x2l_x58D-BAlU0roLTW2yczWtq5BWbZ/s640/BSACARImages00.png" height="307" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Co2 Car body Design</td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYQjBpRb5MUP3xPiVxO0Wg70P0QPlh04AOabV3U1jFj0pPPSA7C_CNm4jM9ImqUfno6qT_nHEocTsTcOomRkADsLtQvfbmWOmzGJ9GHk2wk5wAXv1NCvatBkCi_rs4VIDx2sbaA732Beg1/s1600/BSACARImages02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYQjBpRb5MUP3xPiVxO0Wg70P0QPlh04AOabV3U1jFj0pPPSA7C_CNm4jM9ImqUfno6qT_nHEocTsTcOomRkADsLtQvfbmWOmzGJ9GHk2wk5wAXv1NCvatBkCi_rs4VIDx2sbaA732Beg1/s400/BSACARImages02.png" height="192" width="400" /></a> </div>
I ran the simulation in Project Falcon creating these results:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic3ulE-ger9IiTBLeMuZdp_hETLPT8wRVUTwAnqvXhkKn_18rigkTEdrvCvzkQXd4qAVhqm9mibW9YxQBSV9r3RPcWpVPxH7zE5MaKI7JwwXdnLDwxNPXr9Z0DmYsCxDMgV_85uvXbg4Ae/s1600/WindTunnel.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic3ulE-ger9IiTBLeMuZdp_hETLPT8wRVUTwAnqvXhkKn_18rigkTEdrvCvzkQXd4qAVhqm9mibW9YxQBSV9r3RPcWpVPxH7zE5MaKI7JwwXdnLDwxNPXr9Z0DmYsCxDMgV_85uvXbg4Ae/s640/WindTunnel.png" height="360" width="640" /></a></div>
The car as a coefficient of friction of .34 and a drag force of .17 newtons a 60 mph. The coefficient of drag is not really all that great, but it is difficult to get much better because the hole where the Co2 cartridge goes creates a large low pressure zone with lots of eddy current (seen as the blue traces in the picture). The .17 newtons of drag is the best result I came up with out of all the preliminary designs I did. So I'm fairly confident this is a near optimum shape.<br />
<br />
But What about mass? isn't that the most important parameter? Well if you look at the bottom of the car, you will notices that behind the front wheels the main portion of the body is hollow. I didn't spend as much time reducing weigh as possible, but I didn't do any stress analysis to determine how thin I could go, so the design is a bit sub par in that aspect.<br />
<br />
However the point is that this is for fun, and I'm having fun with it up to this point. geo01005http://www.blogger.com/profile/05207244129346213313noreply@blogger.com0tag:blogger.com,1999:blog-3887615812772373720.post-6000051456270683742012-08-05T10:23:00.003-06:002012-08-05T10:23:53.195-06:00Wind TunnelA few hours after hearing about the CO2 car contest I found myself in my basement determining if I had all the parts to build a wind tunnel. I made a quick BOM (bill of materials) and decided that I didn't have everything I needed to build a wind tunnel. But then I wondered, are the aerodynamic effects of the car significant? I figured that the main parameters influencing the speed of the car were roughly in order were:<br />
<br />
<ul>
<li>Mass </li>
<li>Bearings/Wheel friction</li>
<li>Wheel inertia</li>
<li>Eyelet friction</li>
<li>General axle and cartridge Alignment</li>
<li>Aerodynamic</li>
</ul>
Of course as the mass of the vehicle becomes lighter, the overall velocity in increased causing the aerodynamics to become more important perhaps becoming a little less important than bearing/wheel friction. So why should I spend lots of time making physical models with different shapes to test in a wind tunnel that I hadn't built yet? I decided against building a wind tunnel and choose that if I had enough spare time I would look at what CFD (Computational Fluid Dynamics) models I could generate that would provide the same information without having to build physical models.<br />
<br />
I looked around and determined that a few free open source suites, including <a href="http://www.openfoam.com/">openFOAM</a> were up to the task. However I took stock of my skill and found that is was going to take me quiet a while to polish my skill set to feel like I was getting any sort of realist results from the software.<br />
<br />
I later found a virtual wind tunnel program in the Autodesk Labs, <a href="http://labs.autodesk.com/utilities/falcon/">Project Falcon</a>. This piece of software provides a CFD results for testing body shapes for cars, motorcycles etc. with only a STL triangulated model and a few model parameters.<br />
<br />
So I wiped up some simple body shapes in my CAD software an gave it a whirl. Now, I don't expect that the project Falcon is providing my results that are even within 20% of reality, But it did give me a method to compare the relative differences between the designs.<br />
<br />
I made many digital models and came up with some general ideas of what the car should be shaped like.geo01005http://www.blogger.com/profile/05207244129346213313noreply@blogger.com0tag:blogger.com,1999:blog-3887615812772373720.post-3134143610395387012012-08-05T10:05:00.001-06:002012-08-05T10:05:23.526-06:00Learning from the past<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
So, I've built one of these cars before. Back in middle school as part of a shop class we build CO2 cars according to the TSA standards. I have to admit that I didn't spend the most time on it and I was surprised to find it in a box of stuff I recently picked up from my parents house. Note that the black sharpie marking on the car were added when I attempting to digitize the car using photographs. More on that in another post. </div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh63rS69rn-ScMVEzKJq9kH0wR1aKBd2Zb7It-BJlGy5cZVA6j3rir3ZkEsO8bCWi1dDewHO-o3NJzKsIU3LNJUHfDJ91Lq4kZJ-PPdKPlUaRnZdNY19arnbQBHC96Qp49_yj6T8D_CbbSz/s1600/Picture+5.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh63rS69rn-ScMVEzKJq9kH0wR1aKBd2Zb7It-BJlGy5cZVA6j3rir3ZkEsO8bCWi1dDewHO-o3NJzKsIU3LNJUHfDJ91Lq4kZJ-PPdKPlUaRnZdNY19arnbQBHC96Qp49_yj6T8D_CbbSz/s320/Picture+5.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Lame Co2 Car From Middle School</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
According to TSA rules there is not minimum weight limit like in the BSA rules. So this car is much lighter than the minimum 5 ounces in the BSA rules. I inspected the crude workmanship of my old car and found several reasons why I didn't do very well in the races in middle school. </div>
<ol>
<li>Axels were not parallel</li>
<li>Guide eyelets (on the bottom of the car) were not well aligned causing the car to go down the track a little sideways. </li>
<li>The Co2 cardrige was not centered in the car. </li>
<li>Poor bearings</li>
<li>Not the most aerodynamic shape</li>
</ol>
So I would keep these things in mind as I came up with the replacement. geo01005http://www.blogger.com/profile/05207244129346213313noreply@blogger.com0tag:blogger.com,1999:blog-3887615812772373720.post-63374412088425550802012-08-05T09:52:00.001-06:002012-08-05T09:52:04.845-06:00Building a CO2 Car<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh1IMdA-ihQ3-qxmkFA0L6H-kgWv59xA2UtsISV4l6TxWrgZzWTZ3l4o4ExOW-b2bY21hp2KYRkcpNtGa5zPZnYyallHgsueJNMmf2x4Jw5rMmZe-vre6LMT81HrbcFq-CYsdsychUfRQD/s1600/Picture+3.jpg" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh1IMdA-ihQ3-qxmkFA0L6H-kgWv59xA2UtsISV4l6TxWrgZzWTZ3l4o4ExOW-b2bY21hp2KYRkcpNtGa5zPZnYyallHgsueJNMmf2x4Jw5rMmZe-vre6LMT81HrbcFq-CYsdsychUfRQD/s320/Picture+3.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The Boy Scouts Of America "Blastcar" Kit</td></tr>
</tbody></table>
So the men at my church are getting together to do a "Pinewood Derby" for the adults. After trying to hold back and let the car be built by and for your boy, it is nice to have an opportunity to make a car all for your adult self. So we decided to make CO2 cars, "Blastcars" for the BSA literate, instead of pinewood derby cars. A little faster, a little more fun. But of course we are going to disregard all the regular scout rules like the minimum weight limit.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3V_PNEWIvz6VAZ6-g0x0ngG6NMxqxNLfJ1DBAB_XxmjC0CbV6VuipsMalrTWv30GyZ6JmxWNqqpjY8OtYMIOldr1t_kx0Cb1GXiFog7px1Jxc1aHp8S77lcafMy-ZUm0z8yuIPAdP6dUV/s1600/Picture+4.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3V_PNEWIvz6VAZ6-g0x0ngG6NMxqxNLfJ1DBAB_XxmjC0CbV6VuipsMalrTWv30GyZ6JmxWNqqpjY8OtYMIOldr1t_kx0Cb1GXiFog7px1Jxc1aHp8S77lcafMy-ZUm0z8yuIPAdP6dUV/s320/Picture+4.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Kit Contents</td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<br />
I figured this would be a great excuse to get my CNC router working again and cut out a "Cool" car. My CNC router had been out of commission for several months due to a major upgrade that hadn't been completed. More on that upgrade in another post. <br />
<br />
You can see the standard kit contents in the two photos here. I have to admit I was a bit disappointed in the kit. It isn't much different than a pinewood derby kit except that the parts are larger and there is a pre-drilled hole in the wood block. I expected to see some kind of bearing, but no. I'll have to work on upgrading that later. <br />
<br />
So, this project isn't so much about winning the race for me as it is a chance to use the engineering and manufactures tools I have developed through the years. Also, Don't be surprised if after all the time I spend on this project I don't end up winning the race. <br />geo01005http://www.blogger.com/profile/05207244129346213313noreply@blogger.com0