Archive for the ‘Design Tips’ Category

Bobblehead With Your MakerBot!

MakerBot’s Tony Buser has been doing quite a few experiments with mashing up the heads we have been 3D scanning lately. He put Bre’s head on the Statue of Liberty, Stephen Colbert’s head on a Teddy Bear, and made a classic statue bust and plinth of his own 3D scan. Well, this line of investigations has lead finally to the inevitable, the highest form of statuary … bobbleheads!

Now, “bobbleheads” (also bobbing head dolls, nodders, wobbler, dashboard nodders, and “those things you get at baseball games sometimes”) have been a quest for MakerBot Operators for a while now — one actually calling up to ask what the “bobblehead setting” was for ReplicatorG.1 Well, Tony didn’t stop his work at producing one bobblehead, he created parametric tools to help all of us make the bobbleheads we have been dreaming of!

Check out his detailed step-by-step instructions for how to use his negative object or “nega-thing” to punch the bobblehead cavity and spring mount into the base of your own head model! Or a hero’s head model. Or an enemy.

He includes a great “*sta”2 base — and you can use his tools to design and share your own base as well. Tony has observed that mounting bobblehead on the turning spool works pretty well.  Bonus points to the first MakerBot Operator to artfully integrate a bobblehead into beatbot’s Spazzi! (Perhaps next to Isaac’s Sign of the Horns?)

The infamous Gangsta super sized and ready to accept infinite variations of mashups with mildly amusing bobbing heads. Uses Pin Connectors V2 thingiverse.com/thing:10541 to assemble the sections together. Nameplate uses OpenSCAD Bitmap Fonts Module thingiverse.com/thing:2054 Wibbly-wobbly-bobbly head action: youtube.com/watch?v=ctFl9GKmiiE
This thing brought to you by Thingiverse.com
Bre's head with the bobblehead mount underneath. Using Polhemus Scan of Bre Pettis thingiverse.com/thing:9010
This thing brought to you by Thingiverse.com
  1. True story. []
  2. ie the classic Gangsta mashup model []
Tagged with , , , , , , , , , Leave a comment
 

From Kinect to MakerBot Guide at Make: Projects

Head on over to the MakeProjects site to catch Brian Jepson’s From Kinect to MakerBot guide-in-progress for how to transform captured Kinect data on through to the STLs you need to 3D print with your MakerBot Thing-O-Matic.

His guide picks up where Kyle McDonald’s great 3D Printing with Kinect post leaves off — a great tutorial to take you from the initial STL you create using Kyle’s KinectToSTL tool through to a scaled-down, MakerBot-printable  STL. Bonus points for using only open source tools for the entire chain!

Those looking to learn more about the Open Kinect movement should check out the Open Kinect Project (offers MeetUps in certain cities) and consider attending conferences such as Art && Code 3D: Kinect-Hacking Conference, on October 21-23rd at Carnegie Mellon University.

There have been a few people asking for easier to install binary releases for Kyle’s KinectToSTL tool, compiled also for Windows and Linux. There are some complications that require fuss, not to mention the need to make changes to the code to suit the latest OpenFrameworks release (according to Matt and Kyle). If you accomplish this work, drop a comment back here and we will happily trumpet your triumph to the world.

Tagged with , , , Leave a comment
 

Great Google Sketchup for MakerBot Printing Tutorial Up at Tested.com

 

Check out this great Google SketchUp tutorial for MakerBot Operators from Tested.com! No doubt many of you have caught their show. I particularly love their MakerBot Mystery Build Fridays, for obvious reasons. Well, in addition to exploring the Thingiverse and printing with their brand new Thing-O-Matic, they are also helping all of us contribute more great designs.

Here’s a teaser from their post:

Most weeks, our famed MakerBot printouts are culled from a handy website called Thingiverse. It’s here that members of the CNC community can submit pre-made models for anyone to print — and if some of our past videos are any indication, there are some very good ones available too. But while it’s easy to print someone else’s creation, there’s something to be said for designing one yourself. There’s a sense of accomplishment that you just don’t get by mashing “print” on a pre-made design. (Read more.)

There are quite a few Google Sketchup tutorials out there, but not that many good ones focused on 3D printing with a MakerBot. Thanks to Tested.com for sharing the good stuff!

Tagged with , , , Leave a comment
 

Google SketchUp Design Tip – Fix Flipped Faces

Rotary Sprinklers by Supermange

Rotary Sprinklers by Supermange

If you’re using Google Sketchup for designing 3D printable models, you may have noticed that exporting to STL’s using some of the various plugins can be very hit-or-miss.  After checking out Supermange’s rotary sprinklers I was reminded of this quick fix for a very common design problem in Google Sketchup – the “flipped face.”

Looking at the screenshot above, you’ll notice that the facets of the object are either a white-and-light-gray tone or a dark-gray-and-darker-gray tone.  As a surface modeler, Google Sketchup doesn’t much pay much attention to whether a surface is on the outside or inside of a model.  However, once you turn it into an STL, this can create problems.

Fortunately, this is an easy problem to fix.  All you need to do is right click on the darker face (such as much of the top right flange of the model above) and select “Reverse face” from the menu.  While you can select multiple faces at once and flip all of them simultaneously, this still leaves a minor, and somewhat tedious, problem of detecting the flipped faces in the first place.  If they are too numerous or tiny to locate, you might be better off using some STL correction software to fix the flipped faces.

Tagged with , , , , , , , , , 5 comments
 

Tinkercad Quests: Learn Through Making

Tinkercad, a powerful online solid modeling CAD application, has just introduced a new feature that I have a feeling will be very popular among MakerBot Operators.

Secretly (or not so secretly?) the developers are veteran hardcore games developers taking a stab at a new field. They draw from their past UI/interactive design experience to create a focused tool that is designed from the ground up to be as intuitive a modeler as most people need for 3D printing models.

I was at first dubious about a WebGL-based solid modeler, as much as I love 3dtin, but I became converted while team-teaching a “Prototyping on a MakerBot” course for the teen after-school program at Cooper Hewitt National Design Museum. Students picked up Tinkercad quickly, and made intricate, capable work during the first session, projects that I was able to print for them with little or no STL repair!

A number of Thingiverse participants have been using this tool (Including me)  – and the Tinkercad “Export to Thingiverse” button makes it easy for them to share their design and print files they have created with the software here.

Well, the Tinkercad developers didn’t leave the games part of their past experience out of the equation — they have started rolling games elements into Tinkercad as a tutorial series designed to help user dive into using their tool quickly and easily. I have taken a couple of them and enjoyed them — and I love the beautiful Thing-O-Matic-printed buttons that is featured in their current Quest set. (They hope to start adding new quests fairly regularly, as these quests generate the feedback they need to tune this element of Tinkercad. Make sure to dive in now and send feedback to help them move forward with the Quests project!)

So create or login to your Tinkercad account — and discover the new Quests tab on the top bar. Happy questing!

Tagged with , , , One comment
 

Things I learned redesigning a model

Open Source Disc Shooter

Open Source Disc Shooter

I started to design an open source disc shooter about six months back.  At that time I was using Google Sketchup to design things.  Since then I’ve been designing in OpenSCAD.  Here’s a few things I learned while starting over:

  1. Solid modelers FTW.  I find it more difficult to revise a Sketchup design than it is to redesign from scratch with a solid modeler.  When you move a line or surface in Sketchup, it can push/pull any lines or surfaces connected to it.  Since making a change to something in Sketchup means fixing all the things connected to that change, it’s often just easier to start over.1
  2. Sometimes starting over isn’t so bad.  One of the reasons I set this design aside was that I had hit a design block.  Starting over means that I now have a fresh perspective on the design.  Since then I’ve also been inspired by mraiser’s 27-to-1 reduction gearset and it’s snap-together assembly to design the mechanism with assembly of this device in mind.  Another more recent inspiration is Tony’s mars rover for many of the same reasons.
  3. Over design and scale back later.  My initial designs had pieces that were 1.5mm thick.  Now I’ve redesigned the parts mostly with 2-3mm thicknesses.  Just so you know, making a change like this is really really simple in OpenSCAD.  Just change the thickness variable, and the design instantly incorporates the new thicknesses.   Once I get the basic design totally working, I’ll be able to scale back the thickness of parts later.  It will be a lot easier to decide which parts to alter once I have a working prototype.
  4. Printing in clear PLA isn’t always such a good idea.  Yes, it’s biodegradable.  Yes, it doesn’t warp on large flat pieces.  And, yes, it really does smell like candy as it melts.  However, finding small clear parts on tan carpet can be a challenge.  I think I’ll print in nuclear green for the next batch of discs.  I had honestly never previously given much thought to the color of plastic I was using in a prototype.
  5. Design from the inside out.  In this revision, I began with designing the firing pin that slides forward and worked my way outwards.  My original attempt was centered around trying to make a printable version of an existing toy.  Since then I’ve tried to design from what I perceive to be the most critical parts and work my way out. 2
  6. Design with clearances in mind.  My previous attempt did not fit well together at all.  This time, since I was designing from the inside-out, I made sure that each piece could fit with the others.  Also, since the prior versions were so thin, they didn’t have much room for adding clearances later.
  1. Don’t get me wrong, I really like Sketchup a lot, but the free version of the program models surfaces, not solids.  This means you could create some amazing looking models that are not really solids at all. []
  2. In this, I take my inspiration from chats with Syvwlch. []
Tagged with , , , , , 2 comments
 

OpenSCAD Intermediates: Fixing Design Problems

parametric Cable Catcher x4 by punkerdood

parametric Cable Catcher x4 by punkerdood

In this OpenSCAD tutorial series so far we’ve covered the basics of the OpenSCAD interface, how to make 2D forms, how to make some basic 3D forms, how to position those forms in 3D space, the different ways to combine forms, how to create mashups of one or more existing STL’s and OpenSCAD forms, how to use modules to reuse your code to make your life easier, and how to extrude flat 2D forms into 3D forms1  Although I described the last four tutorials as “intermediate” levels, that’s really only because you learned the basics so quickly from the first few tutorials. With just the basics you can literally design anything you can imagine. The “intermediate” lessons will let you do a little more and make your life a lot easier.

Before we get started, the image is from punkerdood’s OpenSCAD tutorial homework. I’d like to include a picture of your homework next time. So, please practice making something in OpenSCAD, upload it to Thingiverse with an open license, and tag it with “openscadtutorial.”

  • As with any 3D modeling program, you can sometimes get lost or disoriented in OpenSCAD.  These things happen.  Perhaps you accidentally zoomed out too far or in too close and you don’t know know what your point of view is in relation to the object you’re trying to create.  Maybe you created a little object of some kind and can’t see where it is being rendered in the preview screen.  Today’s tutorial is all about how to overcome those problems and get back to designing awesome things.
  • Let’s start with a very simple module and see what happens as we manipulate it with these different methods.
    1. module funkybox()
    2. {
    3. cube(40);
    4. sphere(15);
    5. }
    6. box();
    7. translate([0,0,100]) box();
  • “*” or Disable command
    • The Disable command, “*”, does pretty much as it promises.  Just add that little asterisk before an object, and it will be disabled.  You just won’t see it when previewing (F5) or rendering (F6) an object.  This command will disable an entire subtree.  Really all this means is that it will disable everything right up to the first semicolon.
    • If you add the asterisk at line 3 above, you won’t see the cube.
      1. * cube(40);
    • If you add it before line 4 above, you won’t see the sphere.  If you add it before line 6, you won’t see either.
    • If you can’t find an object you’ve designed, it’s easy to locate it by temporarily disabling other objects until you see where it is.
  • “!” or Root command
    • The Root command, “!”, forces OpenSCAD to ignore everything except the subtree following the root command.
    • If you add the asterisk at line 3 above, you’ll only see the cube as if it were not in a module.
      1. ! cube(40);
    • If you add it before line 4 above, you’ll only see the sphere, as if it were not in a module.  If you add it before line 6, you’ll only see the one instance of the “funkybox();”.
    • This is a good way to isolate just one feature out of an entire OpenSCAD file and focus on it.
  • “%” or Background command
    • The Background command, “%”, draws the subtree that follows it in transparent gray.
    • If you add the percent sign before line 4 above, you’ll still see both instances of the cube, but both will also be a transparent gray.
      1. % cube(40);
    • If you add it before line 4 above, you’ll see both instances of the sphere as transparent.  If you add it before line 6, you’ll see one instance of the “funkybox();” as entirely transparent and the other as normal.
    • This is really useful if you need to manipulate objects within other objects or need to see where two things really intersect.
  • “#” or Debug command
    • The Debug command, “#”, draws the subtree that follows it in a pinkish color.
    • If you add the pound sign before line 4 above, you’ll see both instances of the cube in pink.
      1. # cube(40);
    • If you add it before line 4 above, you’ll see both instances of the sphere as pink.  If you add it before line 6, you’ll see one instance of the “funkybox();” as pink and the other as normal.
    • This is useful if you need to identify just one object from within a lot of similar looking objects.

Homework assignment

Now that you’ve learned how to fix design problems in OpenSCAD, how about showing everyone what you can do?  Please leave a comment below about how you’ve been able to fix a problem using one of the techniques above or by using your own method.  While you’re at it, how about designing something cool and uploading your OpenSCAD file and the STL to Thingiverse?  As always, to make me extra proud be sure and tag it with “openscadtutorial.” As if basking in my affection wasn’t enough, I’ll pick one someone’s OpenSCAD homework and use their designs as part of the next tutorial.

Bonus Section 1: The Tutorials So Far

 

Bonus Section 2: Other sources

If you like reading ahead or want more information about OpenSCAD, I’ve found these websites to be very helpful.

  1. Official OpenSCAD website
  2. OpenSCAD User’s Manual
  3. OpenSCAD beginner’s tutorial
  4. OpenSCAD tutorial roundup on the Thingiverse blog
  5. Inkscape to OpenSCAD DXF tutorial
  6. Two New OpenSCAD Polygon Tools
  7. How to create a printable sign or logo (Inkscape and OpenSCAD)
  8. OpenSCAD screw libraries by syvwlch and aubenc
  9. Inkscape for OpenSCAD users

Bonus Section 3: What’s next???

The topic of the next tutorial is up to you. What would you like to learn next? Is there something you’d like to learn how to make? Is there something more you’d like to learn about some of the topics we’ve covered?

  1. If you’re wondering why it’s been a while since the last tutorial – it’s because I’m writing these things as I learn OpenSCAD myself.  If you catch up to this tutorial, you’ve caught up with me too! []
Tagged with , , , , , 2 comments
 

MakerBot MicroTip: Using the Support Features in Skeinforge’s Raft Tool

Lately, I’ve been experimenting with Skeinforge 35′s Support preferences (located in the Raft tool) to print objects that either have nasty overhangs (so would be likely to drop loops) or do not offer an easy flat sides to print from. In the past, these tools worked, but lead to uneven results. But with the latest toolheads offering stepper driven extrusion and really precise temperature management, bridging and printing with support structure gets better every day.

One consequence of the mechanical and software engineering updates to the Thing-O-Matic printer: with each new round of releases it is worth the effort to experiment with tuning Skeinforge settings in the Raft tool so that you can see how your MakerBot responds to the new possibilities.

Here are the models I use for support testing:

  • Wizzard by guru (the hat, sleeves, and arms are excellent support tests)
  • a 40% scale, upside down Stanford Bunny (printing inverted will make it obvious if your settings are skewing your model)

I also have a really challenging support test (featured above): animator Raedia Albinson‘s abstract sculpture “SisterRaeSpiral3.” I can’t make this STL available (though she is considering sharing it with Thingiverse) but suffice it to say that this is a cluster of nested spiral tendrils with no flat base. Pretty much the most brutal support test I have found — so I keep threatening the R&D team to send it to them as a test print.1

The Support settings are found within Skeinforge and can be accessed by clicking “Generate Gcode,” choosing a profile from the list, and then hitting the “Edit” button to open up the settings windows.

First Tip: Your settings in the Raft:Interface section will have a tremendous effect on your support material! So that Interface Infill Density (ratio) value determines how dense your support material will be (even though it isn’t in the support material section).

Second Tip: Can you use Support Material in combination with ReplicatorG 25′s Print-O-Matic features? Why, yes you can! Print-O-Matic overwrites some of the values in your profile, but not all of them. So you will be able to get the support material settings you like in your profile, and use a combination of activating “Raft” and picking a “Use support material” setting to use the Skeinforge:Raft settings you have added into your profile.

Here’s a great place to start for settings!

  • Interface infill density (ratio): 0.4 (0.3-0.7)’
  • Interface Layer Thickness over Layer Thickness: 1.2 ( also  0.7)
  • Support Cross Hatch: No.
  • Support Flow Rate over Operating Flow Rate (ratio): 0.7 (0.4-0.7)
  • Support Gap over Perimeter Extrusion Width (ratio): 0.005
  • Support Material Choice: Everywhere
  • Support Minimum Angle (degrees): 35.0
  1. And they keep saying “Bring it on!” []
Tagged with 8 comments
 

Two New OpenSCAD Polygon Tools

OpenScad Polygon Generator by PieterBos

OpenScad Polygon Generator by PieterBos

In a recent OpenSCAD tutorial I described the basic process for creating 2D polygons in OpenSCAD.  However, drawing polygons in OpenSCAD can be very problematic.  Unless every triangle is described in the same “winding order,” some of the triangles in the polygon will be “flipped” causing OpenSCAD to freak out, rather than render them properly.  Rather than designing using OpenSCAD polygons, I tend to either (a) design in Inkscape, export to DXF, and extrude the DXF in OpenSCAD or (b) build up the desired polygon out of boxes and circles.

However, these methods just might be a thing of the past.  Just this week two Thingiverse users have each released a new way to easily create OpenSCAD polygons without all the potential pitfalls from manually writing them.

Simarilius created an Inkscape to Openscad Export extension which will allow you to export an Inkscape shape directly as a OpenSCAD code.  This would be a huge shortcut on the first method I suggested above, since you won’t have to deal with an intermediary file format1 and potential translation problems that could occur.

The second OpenSCAD tool is the OpenSCAD Polygon Generator by PieterBos.  This program provides a nice graphical user interface for designing an object.  Once you’re happy with your designs, you can export them directly as OpenSCAD code.  PieterBos even put together a nice video tutorial to go along with his contribution.

YouTube Preview Image

Both of these tools will go a really long way to creating an easier route to developing more complex forms and making OpenSCAD more accessible.  I can’t wait to see what people design using these tools!

inx and python extension to convert selected path to Openscad format.
This thing brought to you by Thingiverse.com
Well this is an proof of concept so to speak. Not really a thing ;-). What i do here is generate scad files. I was playing with that thought for a while now. Because its a bit strange. I use one programming language (action-script 3.0 and flex in my case) to generate the other. In this case for the polygon method within openscad witch is powerfull but hard to read. So a made the visual helper for generation polygon call with a bit of extrusionWeird but it works what do you think mad or mad science ;) The small air app does not have any undo functionality and you can only draw on a grid, it was just to test something maybe i will add stuff to it ? should i ?youtube.com/watch?v=0oSW9zlKsZ8 Update 14 Jun 2011: Thanks for the great response but a bit of warning is in place the fxp source code is, well.. how do is say it.... very sloppy ;-) , just so you know build it 2 or 3 hours or so ( hack hack ) Update 13 Aug 2011: Still working on it but not ready for its first release :-( Some hints - Layers (one layer is one openscad module) each layer its own color - Adding and Deleting of Points and of course Moving points Splitting of segments - Curves (Maybe) - Save files (some json or xml) so you can save your work - Web based and AIR app - Etc Etc ;-)
This thing brought to you by Thingiverse.com
  1. In this case the DXF []
Tagged with , , , , , One comment
 

3D Printing with Kinect

 

80 mm tall scan, printed with a Thing-O-Matic

I’ve been working with 3d scanning for over two years now, building my own 3d scanners and writing code to work with commercial scanners like the Kinect. When I started my artist residency at MakerBot, I knew I had to combine 3d scanning and 3d printing. One of the first ideas we had was to set up a 3d photo booth at MakerBot to scan visitors. So I wrote an app called KinectToStl which first launched at the MakerBot NY user group. I modified it a bit based on feedback from that event, and it’s since been fired up for the 3rd Ward Make-A-Thon and Maker Faire Bay Area 2011. Other artists and hackers are exploring the app, like 4nchor5 la6.

I’ve been maintaining a GitHub repository of all the code I write while at MakerBot, and the source is available for download there. If you don’t want to deal with compiling it, there’s also an OSX app available. The project has a few external dependencies that make it slightly difficult to compile right now, primarily because openFrameworks is nearing a release and hasn’t stabilized yet. The source would be most useful for someone interested in recreating this in Processing or another environment.

Once you’ve downloaded the app, plug in your Kinect and start the app, you’ll see three tabs and four sliders.

 

Screenshot from KinectToStl

The first tab is where the relevant options are:

  • zCutoff controls how far away your cutoff plane is, in centimeters. Anything farther than this will disappear into the “background” (flat area).
  • fovWidth and fovHeight control the field of view (or angle of view) multiplier in each axis. This acts like a “zoom” function, and lets you zoom into the center of the scan.
  • stlSize controls the width of the STL file, in millimeters. I generally stick between 60 and 80 mm.
  • useRandomExport is an experimental export option that only works when fovWidth and fovHeight are set to 1. It will attempt to do a more natural triangulation of the model.

Once you’ve framed the subject and have your settings right, click on “exportStl”. This will save an STL file to the /data folder next to the .app. They’re named like screenshots, “Kinect Export 2011-05-25 at 18.21.13.stl” These files are ready to be 3D printed. They’re scaled properly, and sitting flat on the bed. Because they have a high triangle count, they can take anywhere from 10-20 minutes to run through Skeinforge.

The second tab (click in the the second rectangle) is for lighting options if you’re having trouble seeing the live preview. The third tab is for more advanced options. I’ll mention a few:

  • temporalBlur is what causes the 3d model to fade over time, and helps with the accuracy of the scan. It’s like the “exposure time” setting on a camera: shorter exposure is noisier, longer is more sensitive to motion but less noisy.
  • smoothingAmount controls the level of blurring on the model. This can make a visually more appealing or better skeined model at the expense of loss of detail.
  • backOffset controls the size of the backing plane. If you want more layers of backing, turn this up.

I’ve found that the best parameters for printing these models are with 3-4 shells and almost 0 infill. They’ll print quickly like this, and should be fairly structurally sound.

I also recommend playing with the “OSX Kinect Application” posted by CidVilas to Thingiverse, it has a lot more options and a prettier interface.

If you’re interested in scanning an object in a more complete way, I recommend taking multiple STL exports from KinectToStl and doing boolean joins on them after cutting off the backing plane with an intersection operator. If someone tries this out, I’d love to see the results!

All the scans we (myself and MakerBot) have been taking with this app are being posted to the 3dphotobooth Thingiverse account. So if you’ve been to any of the recent events mentioned above, check it out!

Tagged with , , , , , 7 comments