Archive for January, 2011

New Robot Hospital – 4pm today!

Hey folks — it’s been awhile, what with the holidays and a lot of us going to CES, but we’re back!  We’ll be available for questions and we’ll have a few neat things to share.

So head out to our Ustream page at 4pm and we’ll hang out (and hopefully help out) via the aetherwebs.

Tagged with 2 comments
 

OpenSCAD Basics: 3D Forms

Parametric Drywall Anchor by jag

Parametric Drywall Anchor by jag

I’ve put together two tutorials to help you learn more about how to create 3D models with OpenSCAD. 1  I admit I haven’t actually shown you how to make anything “three-dee” with yet – but that changes today!  Today I’m going to show you how to make a sphere, a cylinder, and a cube.  If you’re still learning the OpenSCAD ropes, you might want to brush up on your 2D forms because the way we make 3D forms is actually quite similar.  (I’ve included links to the prior two tutorials at the end of this post).

  • Sphere.
    • Here’s how you create a sphere with a radius of 5mm.
      1. “sphere(5);”
    • Want a sphere with a radius of 6mm?  No problem!2
      1. “sphere(6);”
    • As with the command to draw a circle, it’s a good habit to define the sphere by including a reference to the radius itself.  Here’s how you do that:
      1. “sphere(r = 5);”
    • This will draw a sphere identical to the first example.  Defining the sphere in this way helps us quickly understand at a glance what’s being described.  Either way works, but you’ll find that actually mentioning the “r = 5″ will be very helpful down the road.
  • Cylinder.
    • A cylinder is almost as easy as the sphere.  For the cylinder you’re going to need to specify the radii and the height of the cylinder.  Let’s give this a whirl:
      1. “cylinder(20,5,5);”
    • That use of the cylinder command basically tells OpenSCAD to create a cylinder that’s 20mm tall with a 5mm radius circle at either end.
    • What do you think would happen if the radius values for the cylinder didn’t match?  Try both of these and find out:
      1. “cylinder(20,5,10);”
        • That should create a cylinder with a 5mm radius bottom and a 10mm radius top.
      2. “cylinder(20,10,5);”
        • That should create a cylinder with a 10mm radius bottom and a 5mm radius top.
    • What if we made one of those radii a zero?  Try:
      1. “cylinder(20,5,0);”
        • This should create a cone with the base at the “origin” point and the tip of the cone pointing upwards.
      2. “cylinder(20,5,0);”
        • This should create a cone with the tip at the “origin” point and the base of the cone pointing upwards.
    • If you’re like me, you’re not much for wanting to memorize arbitrary commands.  Remembering that the first number in the cylinder command means the height, the second number means the radius of the bottom circle, and the third number is the radius of the top circle isn’t exactly intuitive.  So, just as with the sphere above we can include a little description of what we’re doing inside the actual command:
      1. “cylinder(h = 20, r1 = 10, r2 = 5);”
    • If you use the cylinder command in this way, you’ll always know at a glance that the first value is the height, the second value is the first radius, and the third value is the second radius.
  • Cube.
    • Here’s how you create a cube with each side of 5mm.
      1. “cube(5);”
    • Want a cube with each side at 6mm?  You guessed it!
      1. “cube(6);”
    • You can also turn the cube into a rectangular box by replacing the number with a bracketed trioof numbers.   One number will be the length, the second the depth, and the third number will be the height.  Another way to think about it is that the first number is the X axis, the second number is the Y axis, and the third number is the Z axis.  I’ve got a really easy way to help me remember – those three numbers are in
      1. “cube([4,8,16]);”
    • If you need a rectangular box with different dimensions, all you need to do is change those three numbers.  Easy!

With just these few basic 3D forms at your disposal, you should be able to assemble almost anything.  Your homework is to practice those forms above – we’ll learn how to assemble parts soon.

Bonus Section 1:  The Prior Tutorials

OpenSCAD Tutorial Series
  1. OpenSCAD Basics: The Setup
  2. OpenSCAD Basics: 2D Forms
  3. OpenSCAD Basics: 3D Forms
  4. OpenSCAD Basics: Manipulating Forms
  5. OpenSCAD Intermediates: Combining Forms
  6. OpenSCAD Intermediates: Mashups
  7. OpenSCAD Intermediates: Modularity
  8. OpenSCAD Intermediates: Extruding 2D Objects
  9. OpenSCAD Intermediates: Fixing Design Problems

 

Bonus Section 2:  You…  You tricked me!

I believe in under promising and over delivering. 3  Although I promised you that you’d learn how to make a sphere, cylinder and cube, I kinda tricked you. 4  By teaching you the basics of the sphere, cylinder, and cube I also taught you how to make a tapered cylinder, cone, and rectangular box.  That’s quite a lot of shapes.

Bonus Section3:  Hey, what about polygons???

A keen observer will note that these shapes are very similar to the 2D shapes from the prior tutorial.  The sphere and cylinder commands seem to be extensions of the circle command and the cube command appears to be an extension of the square command.  So, why isn’t there a 3D polygon command that corresponds to the 2D polygon command?  Well, there is.  And, I’m here to tell you it’s a huge monster pain.  If people are interested in learning more about OpenSCAD, I’ll write a tutorial that covers the “polyhedron” command. 5  For now, I’ll leave you with this warning and teaser – if you thought the polygon command was difficult, I think the polyhedron command is more than exponentially more difficult than the polygon command.

Humble Request

I’d really like to know what you guys think.  Do you find these tutorials helpful?  Are they too basic?  Do you think I’m trying to cover too much or too quickly?  If you like these OpenSCAD tutorials, please leave a comment, take my poll, or otherwise express your opinion.  Heck, if you don’t like these tutorials – please let me know why!  Lastly, is there some other program or skill you’d like to learn?  If there’s enough interest, I’ll create a tutorial!

  1. Photo of Parametric Drywall Anchor courtesy of jag []
  2. Look familiar? []
  3. I suppose that’s a nice way of saying that I lied.  :)   []
  4. As any good teacher will. []
  5. That’s the 3D command corollary to the 2D polygon command. []
Tagged with , , , 20 comments
 

Open 3DP Hacking Printers… One Printer at a Time!

The gang over at Open3DP rule. It’s so cool to hear about the billion different ways that they are pushing 3d printing forward. Here’s a story about bringing a printer back from the edge.

We got a call the other day from a friend — “Hey, we just cut a deal to get a low mileage powder printer! Will you come over and give us a hand to get it running? ”

“Sure thing! How about 7-ish?”

I really don’t know how they moved a 350 lb (~158 kg) printer down a full story of stairs.

It wasn’t the worst machine that I’ve ever seen and it wasn’t the best. It just needed some love (which is wonderful because it’s new owner has robot love). After 5-7 hours of attention, we had a printer that was starting to print (it had issues but it was starting to print). Many owners of RP/AM equipment don’t seem to understand that each machine has a personality just like cars. People often name their cars as a way of acknowledging this personality concept. RP/AM equipment is very much the same. I’ve overheard Bre say that his MakerBot prints best when Daft Punk is playing.

After a few more hours, we got our first test cubes printing! We had a lengthy discussion of why we (at Open3DP) always print test bars and why it is important to put some test bars in every build. If you are printing something important, you can check the test bar in the same build as a way of checking quality without risking the important part (after all the important part is buried under in the powder bed). After printing some more test cubes, I hear

“Can we print something really cool?” ” What is the coolest thing we can print?”

“May I suggest a Moai?”

“What about a skull?”

“To Thingiverse..” (Skull by Bothacker)

“You’re going to wait until it’s done right?”

“What do you think?”

Thanks for the shoutout. It’s absolutely true that my machines all print better when daft punk is playing. First thing I do if I encounter a glitch on a bot is pump the daft punk and reboot and the problems tend to go away. Daft Punk has some serious anti gremlin properties.

via Powder Madness (it’s spreading).

Tagged with One comment
 

Tons of new kits available on the MakerBot Store!


This is a pretty momentous day that we’ve been working towards- the unleashing of all the BotCave Store products into the MakerBot Store! It’s a kitbuilders paradise, with lots of great kits from our friends and collaborators in the Open Hardware world! Plus the MakerBot x Baggu BotBags are up too! Carry your bot in style!

EggBots, Brain Machines, Adafruit and Sparkfun products, and Jimmie P Rodgers LOL Sheilds- we’ve added them to our Accessories section and they are ready for order. So many great projects to try out!

Here’s a list of some items we have in stock!

Adafruit
The Infamous TV-B-GONE kit
Adafruit Motor/Stepper/Servo Shield for Arduino Kit v1.0
Adafruit Drawdio Kit
Adafruit Wave Shield

Evil Mad Science
Evil Mad Scientist Meggy Jr RGB Standard Kit
Evil Mad Scientist Diavolino
Evil Mad Scientist Bulb Dial Kit
Evil Mad Scientist Deluxe LED Menorah Kit

Jimmie P Rodgers Kits
Open Heart Kit
LOL Shield Red
LOL Shield Green
LOL Shield White
LOL Shield Blue

Sparkfun
Sparkfun Inventor’s Kit for Arduino
Sparkfun Multimeter Kit
Sparkfun Metro-Gnome
Sparkfun ClockIt
Sparkfun Simon Game Kit
Sparkfun Triple Output High Power RGB LED
Sparkfun VoiceBox Shield for Arduino
Sparkfun Audio Amplifier Kit – STA540

SpikenzieLabs
SpikenzieLabs Drum Kit – AI

Wayne and Layne
Arduino Video Game Shield Kit

Tagged with Leave a comment
 

OpenSCAD Basics: 2D Forms

Thin Profile Whistle by TeamTeamUSA

Thin Profile Whistle by TeamTeamUSA

Yesterday I gave you some basic information to get started with OpenSCAD1  Today you’re actually going to get to use some of what you learned yesterday.  Admittedly, most of what you’ll be doing is typing things and hitting F5, but don’t kid yourself – that’s progress!

Let’s concentrate on walking before we run.  While the whole point of a 3D modeling program like OpenSCAD is to create 3D forms, learning to make 2D forms will help you get the hang of the OpenSCAD interface and lay the basis for understanding how the language works.  There are three 2D forms that can be created with OpenSCAD, squares, circles, and polygons.

One quick note before we get started.  Each command in OpenSCAD needs to end with a semicolon.  Okay, I think you’re ready to try to make some shapes!  You can follow along at home by copying the text within the quotes and then hitting F5 to get OpenSCAD to draw the shape for you.

  • Circle.
    • Here’s how you create a circle with a radius of 5mm.
      1. “circle(5);”
    • Want a circle with a radius of 6mm?  No problem!
      1. “circle(6);”
    • In either case, it’s good form to actually define the circle by including a reference to the radius itself.  Here’s how you do that:
      1. “circle(r = 5);”
    • That will draw a circle identical to the first example.  Defining the circle in this way helps us quickly understand at a glance what’s being described – and will come in handy a little later.
  • Square.
    • Here’s how you create a square with each side of 5mm.
      1. “square(5);”
    • Want a square with each side at 6mm?  You guessed it!
      1. “square(6);”
    • You can also turn the square into a rectangle by replacing the number with a bracketed pair of numbers.  One number will be the length and the other number the depth.
      1. “square([4,8]);”
    • If you need a rectangle with different dimensions, all you need to do is change those two numbers.  Easy!
  • Polygon.
    • A polygon is basically just a shape that can lie flat in a plane.  They’re made up of a bunch of points and lines connecting those points.  So, it’s only natural that creating a polygon in OpenSCAD requires doing two things – defining a bunch of points and then defining the lines between those points.
    • Points.
      • When we talk about “points” we’re really talking about coordinates on the XY plane.  If you think back to high school geometry you’ll remember coordinates were usually written like this “(2,5)”.  It’s not very different for OpenSCAD, except that each point is written as:
        1. “[2,5]“
      • Before we actually try to draw a square in OpenSCAD, let’s think about how we would describe a square with each side equal to 5mm.  If we’re drawing the square so that one corner is at the “origin” then we already know one of the coordinates – “[0,0]“.  From there we need three more points to help us describe this square.  Going clockwise from the origin, these points would be “[5,0], [5,5], [0,5]“.  Therefore, the full set of all the points needed to describe our square in a clockwise fashion would be “[0,0],[5,0],[5,5],[0,5]“.
      • Thus, in order to define all the points necessary to draw a polygon, we would say:
        1. “[0,0],[5,0],[5,5],[0,5]“
    • Paths.
      • Now anyone who has ever tried to draw by connecting the dots knows that just having a bunch of points doesn’t matter much unless you actually connect those dots in the correct order.  Defining the order, or path, of the points is a lot simpler than you think.  You just specify the rank order of the various points.  OpenSCAD will draw a line from the first point to the second, second to third, et cetera until it gets to the last point – which it will connect to the first point.
      • There’s only one little trick to defining the path – and that is the first number considered is “0″ and not “1.”
      • Just as with the points above, we’re going to use brackets to set the paths apart.  If we described the points in order, then we can specify the path to be the exact same order.  Like so:
        1. “[0,1,2,3]“
    • Polygon.
      • The polygon command will look familiar now that you know how to make a circle, square, and rectangle.  It is,
        1. “polygon([points],[paths]);”
      • All we’re doing with this command is telling OpenSCAD what we want it to do (draw a polygon), the points it needs to think about (points), and then the order or path in which it needs to connect those points (path).  As always, we’re going to end that statement with the semicolon.
      • Let’s substitute in the points and paths from above to draw our square:
        1. “polygon( [ [0,0],[5,0],[5,5],[0,5] ] , [ [0,1,2,3] ]);”
        • (Go ahead and drop that into OpenSCAD and hit F5 to see what happens.)
      • There are a few important things to take note of in the above.  First, there is a bracket around all of the points and another bracket around the digits describing the path.  We’re separating those two brackets (the ones for the points and the ones for the path) by a humble comma.
    • Just as with a connect the dots picture, if you have a sufficiently large list of coordinates and a description of the path between those coordinates you can make any flat shape you desire.

Okay, homework time.  Your homework is to try a few of the examples above.  With each one of those examples, change a few numbers, fiddle with it, see if you can make something else.  Nothing bad is going to happen if you get something wrong.  :)   And, well, my homework for tonight is to learn some more stuff about OpenSCAD so I can write a tutorial for you tomorrow.

OpenSCAD Tutorial Series
  1. OpenSCAD Basics: The Setup
  2. OpenSCAD Basics: 2D Forms
  3. OpenSCAD Basics: 3D Forms
  4. OpenSCAD Basics: Manipulating Forms
  5. OpenSCAD Intermediates: Combining Forms
  6. OpenSCAD Intermediates: Mashups
  7. OpenSCAD Intermediates: Modularity
  8. OpenSCAD Intermediates: Extruding 2D Objects
  9. OpenSCAD Intermediates: Fixing Design Problems
  1. Photo of parametric thin profile whistle courtesy of TeamTeamUSA []
Tagged with , , , , , , 4 comments
 

Electrical Adventures with Colorbroken

Cold Cathode Cupcake Lighting by Colorbroken

Cold Cathode Cupcake Lighting by Colorbroken

Thingiverse citizen Colorbroken posted his Cold Cathode Cupcake Lighting yesterday.  What I really love about this Thing is not so much what he got right, but how he describes his experiments and all the things that went wrong.  This just goes to show that burning flesh and hair is not always a bad thing. 1  The best mistakes are the ones you share so that others can learn.

What’s the best MakerBot mistake you’ve learned from?

  1. Another example of when burning flesh and hair is a good thing:  When you’re fighting off the zombie apocalypse. []
Tagged with , , 4 comments
 

OpenSCAD Basics: The Setup

Pill box insert for Altoids tins by Scanlime

Pill box insert for Altoids tins by Scanlime

Disclosure: I’m just now learning OpenSCAD, so this is an adventure for me too. 1 2  The OpenSCAD online manual is good, but it’s dense reading.  This is my attempt to help you dive into OpenSCAD in the shortest time possible.3

Why OpenSCAD?  Once you’ve gotten into OpenSCAD, it will let you do some pretty amazing things with your designs.  I find it easier to draw spheres and get exact measurements than with my other design program of choice, Sketchup.  One of the more powerful features of OpenSCAD is the ability to include variables that allow the object to be quickly customized without having to know any code or having to tinker with the design.

  1. Introduction. OpenSCAD is a free open source 3D design program.  Unlike Blender or Sketchup or many other 3D drawing programs, OpenSCAD doesn’t have a way to directly manipulate objects with the mouse.  It’s much more like using the OpenSCAD language to describe the things you want to appear and then watching it appear.  Don’t worry if you’re not a programmer – you’ll be able to pick this stuff up in no time.
  2. Program. Installing OpenSCAD is pretty easy.  Just choose the version that’s appropriate for your platform4 and install in its own directory.  There wasn’t any kind of auto-installer for Windows.  It was also very easy to start running.  Just click the OpenSCAD icon and I was in the program.
  3. Interface. The display is pretty stark.  The left pane is for typing instructions.  The top right pane is where the program will render the image you’ve described.  The bottom right pane is where you’ll see status and information about the current object.
  4. Settings. The only setting I changed from the default is to “Show Axes.”  You don’t have to do this, but I find that it helps orient me as I’m working on something.  You can get to this setting by, “View->Show Axes” or hitting Ctrl-2 to toggle the setting.
  5. Usage.Besides writing down instructions in the left pane, there’s not much to really do in OpenSCAD.
    1. Rotate.  Just left click and hold, then move the mouse around.  You’ll get the hang of it.
    2. Move. Sometimes you need to move  part around.  Right click and hold, then move the mouse.
    3. View.  Just typing stuff won’t make anything appear in OpenSCAD.  Once you’ve got something written, going to “Design->Compile” or clicking the F5 button will make it appear in the top right pane.
    4. Comment. It’s a good idea to leave little notes in the description so that you can keep track of what you’re doing.  Putting “//” at the beginning of a line will let you type in whatever notes you want without having OpenSCAD thinking it’s supposed to be trying to figure that part out.
    5. Export STL. You can export to several different formats, but the one I use is STL since that’s what I print with.  Just “Design->Export as STL…” and export the file wherever you want.

What tips do you have for beginners5 getting into OpenSCAD?

OpenSCAD Tutorial Series
  1. OpenSCAD Basics: The Setup
  2. OpenSCAD Basics: 2D Forms
  3. OpenSCAD Basics: 3D Forms
  4. OpenSCAD Basics: Manipulating Forms
  5. OpenSCAD Intermediates: Combining Forms
  6. OpenSCAD Intermediates: Mashups
  7. OpenSCAD Intermediates: Modularity
  8. OpenSCAD Intermediates: Extruding 2D Objects
  9. OpenSCAD Intermediates: Fixing Design Problems

 

  1. Thanks to Tony Buser, Clothbot/Andrew Plumb, MaskedRetriever/Allan Ecker, Schmarty/Marty McGuire for patiently helping me out.  Anything that makes sense is due to their help.  Anything that doesn’t is my fault.  :)   Also: 9000 blog points can be yours for helping out. []
  2. Photo courtesy of Scanlime and his OpenSCAD pill box insert []
  3. Off topic: I’m a big fan of Doctor Who.  I was very tempted to entitle this post “Learn with me,” since I really am learning about OpenSCAD as I’m writing this series.  There’s a great bit in one of the Doctor Who episodes where a bad/good guy says, “Burn with me.”  </nerdramble> []
  4. I’m using the Windoze version. []
  5. Such as myself []
Tagged with , 11 comments
 

Paper/Kapton Automated Build Platform Conveyor Belt Replacement

Paper/Kapton ABP Conveyor Belt by AVataRR

Paper/Kapton ABP Conveyor Belt by AVataRR

New Thing-O-Matic owners will be pleased to know that your robot kits will be shipped with pre-formed pre-assembled conveyor belts.  For everyone else, the MakerBot store has these in stock.  I’ve got one installed in my Thing-O-Matic and it doesn’t snag or pull apart as my self-assembled one sometimes did.  Assembling the automated build platform conveyor belt from the die cut PET parallelogram and Kapton tape can be challenging, especially without a friend to help.

Thingiverse Citizen AVataRR just uploaded his method for creating a paper/Kapton ABP conveyor belt using regular A4 paper, a tracing of the die cut plastic belt, and Kapton tape.  For those of you without a die cut plastic belt on hand, you could always use Mraiser’s scan of the belt.  When asked in the comments about the risk of fire, he explained:

I think as long as the paper is kept away from naked flames or sparks, it should be right. The auto ignition temperature of paper is ~450 degrees C. The ABP only goes up to 110 degrees C and the plastruder hovers between ~220 to ~230 degrees C during printing.

Clearly, someone has read his Ray Bradbury.  Awesome work AVataRR!

Tagged with , , , , , , 9 comments
 

Rad MakerBot Illustration

Torsten Lyngaas sent us a note today saying that he had seen me talk at 26c3 about MakerBot and had found the electronic configuration confusing. He created these illustrations and then he sent them to me and now everyone can benefit from his work! We’ll be dropping these in the wiki ASAP! Thanks Torsten! Make sure to check out the IVC Wiki to see all his images!

Tagged with One comment
 

How much easier would high school physics have been with a 3D printer?

3D Printable Mousetrap Car Parts by Tesla893

3D Printable Mousetrap Car Parts by Tesla893

How awesome is this printable mousetrap car by tesla8931  In my high school physics class I had to design a mouse trap car and a balsa wood bridge.  The car that ran the farthest and the bridge that could hold the most weight won.  If you think about it, those challenges are really just design challenges – not construction tests.  Why should the quality of your ideas be constrained to the steadiness of your hand?  Imagine if the bridge test were instead “design the strongest bridge using only 1cc of plastic.”

And, there’s so many other ways to take this design.  You could install a mouse trap power engine into a Lamborghini, Mini Cooper, or other nifty car already on Thingiverse.  Better yet, someone could design a printable mouse trap to go with the mouse trap powered vehicle.  How cool would that be?  It could capture the mouse and take it outside for you all at once!

  1. It looks like this is the second mousetrap powered vehicle on Thingiverse after Dustynrobot’s car about four months ago, but the first printable one. []
Tagged with , , , , , , 2 comments