{"id":1667,"date":"2011-09-03T13:31:13","date_gmt":"2011-09-03T17:31:13","guid":{"rendered":"http:\/\/brettbeauregard.com\/blog\/?p=1667"},"modified":"2024-06-03T14:43:20","modified_gmt":"2024-06-03T18:43:20","slug":"making-a-custom-bottle-opener","status":"publish","type":"post","link":"http:\/\/brettbeauregard.com\/blog\/2011\/09\/making-a-custom-bottle-opener\/","title":{"rendered":"Making a Custom Bottle Opener"},"content":{"rendered":"<p>I recently posted an <a href=\"http:\/\/www.thingiverse.com\/thing:11025\">improved bottle opener<\/a> design to Thingiverse.  Unlike the <a href=\"\/blog\/2011\/06\/mighty-bottle-opener\/\">mighty bottle opener<\/a>, this is one that I&#8217;m proud to give out, and people are happy to receive.<\/p>\n<p>Because I did the model in OpenSCAD, it turns out to be really easy to create personal, one-of-a-kind gifts for my friends.  In this post I&#8217;ll go through the steps I took to make an opener for my friend deWit. He skis, and he&#8217;s pretty good:<\/p>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/dewit.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/dewit.png\" alt=\"\" title=\"dewit\" width=\"450\" height=\"253\" class=\"aligncenter size-full wp-image-1684\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/dewit.png 640w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/dewit-300x168.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<p>Ok, maybe he&#8217;s really good.  Anyway, this has been my favorite skiing picture since it was taken a few years back.  I thought it might be nice to capture some of this awesomeness in opener form.<br \/>\n<!--more--><\/p>\n<h3>Step 1: Get the image into Inkscape<\/h3>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step1.png\" alt=\"\" title=\"step1\" width=\"450\" height=\"344\" class=\"aligncenter size-full wp-image-1675\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step1.png 755w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step1-300x229.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><br \/>\nThe first thing I did was use the Windows snipping tool to copy into Inkscape just the section I wanted.<\/p>\n<h3>Step 2: Trace<\/h3>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step2.png\" alt=\"\" title=\"step2\" width=\"450\" height=\"341\" class=\"aligncenter size-full wp-image-1676\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step2.png 757w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step2-300x227.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><br \/>\nUsing the Bezier tool I then created a rough outline of what I wanted to print.  This was going on a pretty small area, so I couldn&#8217;t get that much detail. Also important to note, I only used straight lines. No splines; they don&#8217;t seem to work in the upcoming steps.<\/p>\n<h3>Step 3: Save as DXF<\/h3>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step3.png\" alt=\"\" title=\"step3\" width=\"450\" height=\"343\" class=\"aligncenter size-full wp-image-1677\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step3.png 755w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step3-300x228.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><br \/>\nHaving served its purpose, I deleted the image to leave just the outline.  I then saved the file as a DXF into my OpenSCAD directory.<\/p>\n<h3>Step 4: Import into OpenSCAD<\/h3>\n<p>This was the only painful part.  Getting the DXF into OpenSCAD is a simple matter of calling the linear_extrude function.  The problem is that the scale, position, and rotation of theDXF were way off.  As a result I also needed to add scale, rotate, and translate commands to get the DXF stuff into place.<\/p>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step4.png\" alt=\"\" title=\"step4\" width=\"450\" height=\"349\" class=\"aligncenter size-full wp-image-1678\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step4.png 808w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step4-300x232.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<p>The code selected in the image above moves the part by [-89,86,thickness], rotates it 90 degrees, and scales by 70% on the x and y axes.<\/p>\n<p>Once I was happy with the placement I exported to STL and moved over to ReplicatorG.<\/p>\n<h3>Step 5: Check the GCODE<\/h3>\n<p>Just because I drew this outline didn&#8217;t mean that that&#8217;s exactly what would get printed by the Makerbot.  We&#8217;re working with a 0.5mm stream here, and some details may have been lost.  Luckily you can visualize the gcode before the part gets printed.<\/p>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step5a.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step5a.png\" alt=\"\" title=\"step5a\" width=\"450\" height=\"341\" class=\"aligncenter size-full wp-image-1679\"><\/a><\/p>\n<p>In the Skeinforge profile, I made sure that SkeinLayer was turned on.  This brings up a tool path visualization after the gcode is generated. Going to the last layer showed me the tool path I was interested in:<\/p>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step5b.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step5b.png\" alt=\"\" title=\"step5b\" width=\"450\" height=\"338\" class=\"aligncenter size-full wp-image-1680\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step5b.png 619w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step5b-300x225.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<p>So here we can see that I lost some important detail.  The ski-poles and backpack straps are missing.  Time to tweak!<\/p>\n<h3>Step 6: Tweak<\/h3>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step6a.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step6a.png\" alt=\"\" title=\"step6a\" width=\"450\" height=\"344\" class=\"aligncenter size-full wp-image-1681\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step6a.png 755w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step6a-300x229.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><br \/>\nWhen I traced out the poles and straps I made them too thin.  As a result Skeinforge just ignored them.  By editing the nodes on my path I was able to make the tin spots a little thicker.  I then repeated steps 3-5 and was rewarded with this:<\/p>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step6b.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step6b.png\" alt=\"\" title=\"step6b\" width=\"450\" height=\"298\" class=\"aligncenter size-full wp-image-1682\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step6b.png 635w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/step6b-300x198.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><br \/>\nOK! Printing time.<\/p>\n<h3>Step 7: Print!<\/h3>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/printed.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/08\/printed.png\" alt=\"\" title=\"printed\" width=\"450\" height=\"253\" class=\"aligncenter size-full wp-image-1701\"><\/a><\/p>\n<p>Aaaand done.  Pretty cool right?  Maybe not as cool as hucking air off the <a href=\"http:\/\/www.google.com\/search?q=the+wall+kirkwood\">wall at Kirkwood<\/a>, but I&#8217;m pretty happy with the results.  As you can see the detail is pretty poor, but that&#8217;s the nature of the medium and the size of the canvas.<\/p>\n<p>This one is really pushing the limit of what you can fit into that tiny space.  Here&#8217;s two more that I did that might give you a better idea of what can be accomplished if you choose an image that doesn&#8217;t require as much detail:<\/p>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/09\/others.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/09\/others-1024x734.png\" alt=\"\" title=\"others\" width=\"450\" height=\"322\" class=\"aligncenter size-large wp-image-1709\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/09\/others-1024x734.png 1024w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/09\/others-300x215.png 300w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/09\/others.png 1192w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<p>I&#8217;ve been having a lot of fun making these.  It&#8217;s feels great to be able to give an inexpensive gift that&#8217;s personal and useful.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently posted an improved bottle opener design to Thingiverse. Unlike the mighty bottle opener, this is one that I&#8217;m proud to give out, and people are happy to receive. Because I did the model in OpenSCAD, it turns out &hellip; <a href=\"http:\/\/brettbeauregard.com\/blog\/2011\/09\/making-a-custom-bottle-opener\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[17,5],"tags":[10],"class_list":["post-1667","post","type-post","status-publish","format-standard","hentry","category-mechanical","category-projects","tag-makerbot"],"_links":{"self":[{"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/posts\/1667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/comments?post=1667"}],"version-history":[{"count":47,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/posts\/1667\/revisions"}],"predecessor-version":[{"id":7190,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/posts\/1667\/revisions\/7190"}],"wp:attachment":[{"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/media?parent=1667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/categories?post=1667"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/tags?post=1667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}