{"id":1789,"date":"2011-10-16T16:35:18","date_gmt":"2011-10-16T20:35:18","guid":{"rendered":"http:\/\/brettbeauregard.com\/blog\/?p=1789"},"modified":"2024-06-03T18:09:17","modified_gmt":"2024-06-03T22:09:17","slug":"a-proper-multi-color-print","status":"publish","type":"post","link":"http:\/\/brettbeauregard.com\/blog\/2011\/10\/a-proper-multi-color-print\/","title":{"rendered":"A Proper Multi-Color Print"},"content":{"rendered":"<p>I&#8217;ve <a href=\"\/blog\/2011\/09\/three-color-3d-print\/\">played<\/a> <a href=\"http:\/\/www.thingiverse.com\/thing:12182\">around<\/a> with printing multiple colors using a single extruder, but by and large all the multi-color action was restricted to a single layer.  There&#8217;s a good reason for this:  every color change takes time, and having 2 or more colors run throughout the part would require a color change ON EVERY LAYER.<\/p>\n<p>But I had to try.  I had a great idea: a fairly understated bottle opener with different color text embedded on each side.  To the uninitiated it&#8217;s a neat little thing, but to people who know 3D printing its a: &#8220;wait, what?  how did you do that?&#8221;<\/p>\n<p>Well, here&#8217;s &#8220;how I did that.&#8221;  It took a LOT of time.  I didn&#8217;t call it &#8220;The Saturday Killer&#8221; for nothing.<br \/>\n<!--more--><br \/>\n<a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/hell-expanded.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/hell-expanded.png\" alt=\"\" title=\"hell-expanded\" width=\"450\" height=\"369\" class=\"aligncenter size-full wp-image-1792\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/hell-expanded.png 806w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/hell-expanded-300x246.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<h3>The Basic Idea:<\/h3>\n<p>Create a bottle opener with some multi-color text on the side.  I chose a reference to the <a href=\"http:\/\/www.youtube.com\/watch?v=hUVwR0rw5fk\">classic Simpsons line<\/a>:  &#8220;Beer.  Cause Of.  Solution To. Problems.&#8221;  I knew it would be a complicated task, but it turned out to be even more complicated than I thought.<\/p>\n<h3>Step 1:  Generate a separate STL for each color<\/h3>\n<p>Having already <a href=\"http:\/\/www.thingiverse.com\/thing:12348\">created the opener<\/a> in OpenSCAD, this step was straight-forward.  Position text on the sides (more on the font later,) <\/p>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/raw.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/raw.png\" alt=\"\" title=\"raw\" width=\"450\" height=\"320\" class=\"alignright size-full wp-image-1797\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/raw.png 861w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/raw-300x213.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<p>&#8230;use the Difference Command to create an opener with word holes,<\/p>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/body.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/body.png\" alt=\"\" title=\"body\" width=\"450\" height=\"320\" class=\"aligncenter size-full wp-image-1794\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/body.png 862w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/body-300x213.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<p>&#8230;and use the intersection command to get a text object to fill each of those holes.<\/p>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/colors.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/colors.png\" alt=\"\" title=\"colors\" width=\"450\" height=\"320\" class=\"aligncenter size-full wp-image-1795\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/colors.png 862w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/colors-300x212.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<h3>Step 2:  Split each STL into printable segments<\/h3>\n<p>For the different colors to dovetail correctly, they can only be printed 2 layers at a time.  To split the objects from step 1 into two-layer slices I used the difference command to remove all but a 2 layer section.<br \/>\n<a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/slice1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/slice1.png\" alt=\"\" title=\"slice1\" width=\"450\" height=\"320\" class=\"alignright size-full wp-image-1800\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/slice1.png 862w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/slice1-300x213.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><br \/>\n<a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/slice2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/slice2.png\" alt=\"\" title=\"slice2\" width=\"450\" height=\"320\" class=\"alignright size-full wp-image-1801\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/slice2.png 861w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/slice2-300x212.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><br \/>\nI then Generated an STL, moved the cubes, and repeated until I had all my slices.<\/p>\n<h3>Step 3: !#@$%@#$:  Realize that this is way more complicated than you first thought.<\/h3>\n<p>Because you&#8217;re interlacing two or more STLs, how things are skeined becomes really important.  If you&#8217;ve got a curve in the Z direction, or a transition that happens within a layer, things may skein one way for one color, but in a different way for the mating color.  <\/p>\n<p>So I needed to do a LOT more work, mainly on the text.  I tried using a <a href=\"http:\/\/www.thingiverse.com\/thing:6844\">stock thingiverse font<\/a> at first, but all the rounded corners were a killer, and I couldn&#8217;t get it to size correctly to an even number of layers. So I rolled my own:<br \/>\n<a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/textclose.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/textclose.png\" alt=\"\" title=\"textclose\" width=\"450\" height=\"320\" class=\"alignright size-full wp-image-1803\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/textclose.png 863w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/textclose-300x213.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><br \/>\nIf you look closely you&#8217;ll see that the text is blocky.  This was done to confuse Skeinforge a little as possible.  There are no diagonals or curves anywhere, and all transitions and openings take into account the layer thickness, as well as the width of the extrusion. This way there&#8217;s less confusion about how much plastic goes where, and the different colors are more likely to dovetail correctly.<\/p>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/textpath.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/textpath.png\" alt=\"\" title=\"textpath\" width=\"357\" height=\"177\" class=\"aligncenter size-full wp-image-1804\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/textpath.png 357w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/textpath-300x148.png 300w\" sizes=\"auto, (max-width: 357px) 100vw, 357px\" \/><\/a><\/p>\n<p>Another thing that I added was a solid bar behind all the text.  This caused the tool path to be much more continuous, resulting in nice, smooth letters.<\/p>\n<h3>Step 4: Actually Print<\/h3>\n<p>Now that all these parts were created they just needed to be printed out sequentially, with the Z-offset being adjusted at the appropriate time.  My main aha moment during this process was that you need to turn off raft when skeining all but the first print, otherwise you get way too much plastic laid down.  <\/p>\n<p>I -of course- learned this the hard way. I first tried printing 4 openers at a time, and by the time I got to the middle of the opener there was so much plastic that the extruder started to catch leading to misalignment.<\/p>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/failure.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/failure-1024x614.jpg\" alt=\"\" title=\"SAMSUNG\" width=\"450\" height=\"270\" class=\"aligncenter size-large wp-image-1808\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/failure-1024x614.jpg 1024w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/failure-300x180.jpg 300w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/failure.jpg 1600w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<p>I scrapped that print and started printing a single opener, realizing the raft thing just after I started.  The results were much better:<\/p>\n<p><object width=\"400\" height=\"300\"><param name=\"flashvars\" value=\"offsite=true&#038;lang=en-us&#038;page_show_url=%2Fphotos%2F38917611%40N08%2Fsets%2F72157627783358031%2Fshow%2F&#038;page_show_back_url=%2Fphotos%2F38917611%40N08%2Fsets%2F72157627783358031%2F&#038;set_id=72157627783358031&#038;jump_to=\"><\/param><param name=\"movie\" value=\"http:\/\/www.flickr.com\/apps\/slideshow\/show.swf?v=107931\"><\/param><param name=\"allowFullScreen\" value=\"true\"><\/param><embed type=\"application\/x-shockwave-flash\" src=\"http:\/\/www.flickr.com\/apps\/slideshow\/show.swf?v=107931\" allowFullScreen=\"true\" flashvars=\"offsite=true&#038;lang=en-us&#038;page_show_url=%2Fphotos%2F38917611%40N08%2Fsets%2F72157627783358031%2Fshow%2F&#038;page_show_back_url=%2Fphotos%2F38917611%40N08%2Fsets%2F72157627783358031%2F&#038;set_id=72157627783358031&#038;jump_to=\" width=\"400\" height=\"300\"><\/embed><\/object><\/p>\n<h3>Step 5: Enjoy<\/h3>\n<p><a href=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/enjoy.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/enjoy-1024x614.jpg\" alt=\"\" title=\"SAMSUNG\" width=\"450\" height=\"269\" class=\"aligncenter size-large wp-image-1823\" srcset=\"http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/enjoy-1024x614.jpg 1024w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/enjoy-300x180.jpg 300w, http:\/\/brettbeauregard.com\/blog\/wp-content\/uploads\/2011\/10\/enjoy.jpg 1600w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<p>I&#8217;m really proud of this thing, but I spent WAY too much time creating it.  Hopefully this quick post did a good-enough job of explaining the process.  I wanted to share this project, but for my sanity I just need to be DONE.<\/p>\n<p>opener: <a href=\"http:\/\/www.thingiverse.com\/thing:12592\">http:\/\/www.thingiverse.com\/thing:12592<\/a><br \/>\nfont: <a href=\"http:\/\/thingiverse.com\/thing:12618\">http:\/\/thingiverse.com\/thing:12618<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve played around with printing multiple colors using a single extruder, but by and large all the multi-color action was restricted to a single layer. There&#8217;s a good reason for this: every color change takes time, and having 2 or &hellip; <a href=\"http:\/\/brettbeauregard.com\/blog\/2011\/10\/a-proper-multi-color-print\/\">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-1789","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\/1789","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=1789"}],"version-history":[{"count":40,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/posts\/1789\/revisions"}],"predecessor-version":[{"id":7201,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/posts\/1789\/revisions\/7201"}],"wp:attachment":[{"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/media?parent=1789"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/categories?post=1789"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/tags?post=1789"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}