Archive for the ‘Design Tips’ Category

Joinery – Not just for lasercutters any more

Joinery - Not just for lasercutters any more

Joinery - Not just for lasercutters any more

The Make Blog recent posted about CNC panel joinery techniques.  However, there’s no reason these really amazing assembly techniques should be relegated to just CNC cutting machines.  Any of these techniques could be easily applied to 3D printing to create objects that can be assembled without any tools or hardware.  Some of my favorite things to 3D print of all time are multi-part pieces that can be hand assembled.  There’s the dinosaur, the spider, the 27-to-1 gear ratio crank, and Tony Buser’s Toy Robot Toolkit.

Of course, having a 3D printer at your disposal means you don’t need to use joinery to create a 90 degree angle or a corner like those pictured above.  Even so, there’s no reason why one couldn’t use those same techniques to connect larger, more complex, 3D parts.  I would love to see an OpenSCAD library of joinery – little cutouts and tabs that could just be dropped into a design to make it snap-slide-slot together.

Tagged with , , , , , , , , Leave a comment
 

Notepad++, the ONLY way to OpenSCAD

Worthless Dice by blarbles

Worthless Dice by blarbles

Now, don’t get me wrong – I love me my OpenSCAD.  While it’s an amazing and powerful tool for 3D modeling, the text editor is not as full featured as one would want.  Thankfully, Thingiverse citizen justblair has put together a short tutorial on how to use the text editor of your choice with OpenSCAD for the best of both worlds – a full featured text editor and an awesome 3D modeling program.

Justblair recommends my personal pick for a text editor, the free, open source, and very feature rich Notepad++.  (I prefer the PortableApps.com version). 1  The process basically involves changing a few settings so that OpenSCAD will immediately re-compile the current objects from a file being edited, whenever that file is saved.

The process is really easy and very worthwhile.  Being able to find/replace and perform regex searches make designing in OpenSCAD so much easier.

This guide is for Windows Users. I am growing to love OpenSCAD as a creative tool for 3D design but I do find that it's text editor lacks many of the basic features that I appreciate when writing code... Namely: Auto-Completion Syntax Highlighting Collapsible Outline levels Line Numbering Automatic Tabbing Search and Replace Block Tabbing using the tab key. I was pleased to discover however that you don't need to put up with the standard text editor. There is a feature that allows you to conveniently use the text editor of your choice with OpenSCAD. My editor of choice is Notepad++ a fast well featured open source text editor. You can download it from notepad-plus-plus.org/ Notepad++ supports many different programming languages but not unfortunately OpenSCAD. It does however have the facility that allows you to create your own language file which I have included here. This is definitely a work in progress as I have had to make a few compromises due to the limitations of Notepad++'s language editor. I dare say other more experienced coders opinions will differ as to how best to syntax code the OpenSCAD language. I am currently working on adding auto-complete functionality to notepad++ as we speak. I have included a working though not complete file called openscad_removethisbitandcopy.xml. Currently most if not all functions will auto-complete, what is going to take me longer is adding call-tips to all the functions which would be nice though is not critical. **** Edits ***** 13/5/2012 Added extension type to openscad.xml so that Notepad++ will now automatically detect language when .scad files are opened. Thankyou CrazyJaw, saved me some time there.
This thing brought to you by Thingiverse.com
  1. See a pattern? []
Tagged with , , , , Leave a comment
 

OpenSCAD Intermediates: How to Make Organic Shapes

Memory Card Enclosure by rvanchie

Memory Card Enclosure by rvanchie

In this OpenSCAD tutorial series 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, how to extrude flat 2D forms into 3D forms, and how to fix design problems.  Although I described a few of the last tutorials as “intermediate” levels, that’s really only because you learned the basics so quickly from the first few tutorials.

Today I’d like to show you how easy it is to make some neat organic looking forms with OpenSCAD.  The secret behind doing so are two functions, “hull” and “minkowski.”  Let’s learn a little bit about what each of these functions do and try out some code.  More, after the break!

Read the rest of this entry »

Tagged with , , , , , , , , , , , , 2 comments
 

Autodesk wants you to know how to print your 123d models on your MakerBot!

YouTube Preview Image

Autodesk 123d is one of many freely-available apps that new MakerBot users might consider learning.  And unlike some other programs we love, it looks like Autodesk wants it to be easy to print your models on a MakerBot.  In fact, they want it so much that they’ve just posted the above video on their youtube channel.

It’s a bit long (over 9 minutes) but put it on your list for when you’re woodshedding your 3d-modeling chops.  While it’s specifically aimed at the Thing-O-Matic, most of what they’re saying should transfer to the Replicator.  Just model for a larger build area!

123d is a bit different from other modeling programs, and might be a bit counter-intuitive if you’re used to one of the others.  However, their youtube channel has a number of tutorials and there are some neat things about the project (like an iPad app and a photo-to-model program.)

If you’re looking to pick up some 3d modeling skills while you’re waiting for your Replicator, this is one of many great programs to learn!

Tagged with , , , 3 comments
 

Dinobots (or Makersaurus?): getting skulls to print right

One of the most interesting challenges faced in 3D printing is creating facsimiles of real-world objects, things that have not been designed according to design rules that make them easier to print. Animal skulls, and in particular dinosaur skulls, are a great example: full of complex organic shapes, extreme overhangs and bridges, and thin shells. I’ve been learning a lot about printing these, and thought I could share what I have learned.

Three reptilian skulls

I was inspired by the dinosaur skull posted on Thingiverse and set out to look for more. The Digimorph project at the University of Texas has some dinosaurs, but the STL files are not posted.  However, Artect, a company that makes 3D scanners, has posted a very nice high-resolution STL file of a Tarbosaurus skull, on their 3D model download page. It’s the first model listed on the page.  I sliced it in Netfabb, and have posted the sliced files on Thingiverse.

Keep reading for some tips on how to print this object, and other complex organic shapes!

Read the rest of this entry »

Tagged with Leave a comment
 

MakerBot + Sugru = Heart

YouTube Preview Image

Annelise made an awesome  video that showcases fun things she’s done with sugru in the last few days- we can’t wait to see what our users come up with!

Tagged with , , 10 comments
 

OpenSCAD Gears Pro-Tip or The Importance of Flossing

Parametric Involute Bevel and Spur Gears by GregFrost

Parametric Involute Bevel and Spur Gears by GregFrost

Today I was trying to design something with one large and one small gear making use of Cbiffle’s awesome Spur Gear Fitter Script and Greg Frost’s Parametric Involute Bevel and Spur Gears script.  Unfortunately, whenever I tried to create a large and a small gear, I always ended up with the small gear having no teeth! 12

Cbiffle’s script is really useful if you don’t want to get too deep into the math of making gears, but do want gears with a certain gear ratio that will mesh well.  It basically takes care of all of the math you would normally need to get good fitting gears from Greg Frost’s script.

I asked Syvwlch for advice about my toothless gear problem.  He suggested there was a bug in the Spur Gears Script that would cause gear teeth to disappear in certain circumstances.  His way of getting around this problem was to use a non-integer for the number of teeth!  I tried 9.99 teeth (which failed) and then 10.001 which worked!

This OpenSCAD script provides modules for both Spur and Bevel Gears. It has some major enhancements over my original gear script thingiverse.com/thing:3534. It uses some of the spur gear nomenclature code from TheOtherRob github.com/TheOtherRob/MCAD with my own code for generating the involute teeth. The bevel gear is also my own work. Thanks also to elmom for some enhancements to my original gear script thingiverse.com/thing:3547. Enhancements include the Bevel gear module, backlash settings, parameterised number of facets for the involute curve and whole of tooth generation to avoid some of the issues the original script had when mirroring a half tooth. The STLs provided are not intended for direct use, but instead show examples of what can be done with the parametric script. Parametric Involute Spur Gears take the following parameters:number_of_teethcircular_pitch or diametral_pitch: controls the size of the teeth (and hence the size of the gear).pressure_angle: controls the shape of the teeth.clearance: The gap between the root between teeth and the teeth point on a meshing gear.gear_thickness: the thickness of the gear plate.rim_thickness: the thickness of the gear at the rim (including the teeth).rim_width: radial distance from the root of the teeth to the inside of the rim.hub_thickness: the thickness of the section around the bore.hub_diameterbore_diameter: size of the hole in the middlecircles: the number of circular holes to cut in the gear plate.backlash: the space between this the back of this gears teeth and the front of its meshing gear\'s teeth when the gear is correctly spaced from it.twist: for making helical gears.involute_facets: the number of facets in one side of the involute tooth shape. If this is omitted it will be 1/4 of $fn. If $fn is not set, it will be 5. Parametric Involute Profile Bevel (Conical) Gears take the following parameters:number_of_teethcone_distance: The distance from the pitch apex to the outside pitch diameter.face_width: The length of the teeth.outside_circular_pitch: The circular pitch at the outside pitch diameter.pressure_angle: Defines the shape of the teeth.clearance: Gap between the tip of the teeth on one gear and the root of the teeth on another meshing gear.bore_diameter: The size of the hole in the middle.gear_thickness: The thickness of the gear for bevel_gear_back_cone finish (see below). backlash: Makes the tooth width smaller to make a gap between teeth of correctly spaced gears to allow for manufacturing tolerances.involute_facets: As for spur gears.finish: Specify either bevel_gear_flat(0) or bevel_gear_back_cone(1). If you don't specify this parameter you will get a flat gear for pitch angles less than 45 degrees and a back cone gear for pitch angles greater than 45 degrees. The example shows both with the small gear being the flat one. Update: v5.0 Implements backlash for bevel gears (This was not working in v4.0).
This thing brought to you by Thingiverse.com
I've been working with Greg Frost's gear generator. Getting the gears to mesh requires some math, or trial and error. As a programmer, I don't like doing either one more than once. :-) This script lets you specify the axle spacing and gear ratio and get the circular_pitch parameter. It simplifies fitting gears together.
This thing brought to you by Thingiverse.com

http://store.makerbot.com/stepstruder-mk7-complete.html

  1. And, thus, the importance of flossing! []
  2. I included the flossing reference because it was amusing.  But, really flossing isn’t relevant if you’ve got a MK6 or MK7 extruder. []
Tagged with , , , , , , , , , 3 comments
 

Designing for Parametrics in OpenSCAD

Part Catch Basket for Thing-O-Matic by dustinandrews

Part Catch Basket for Thing-O-Matic by dustinandrews

Designing 3D objects in OpenSCAD can be very quick and simple. 1  You can create some really amazing designs by just combining cubes and cylinders in a variety of ways.  However, making a design “parametric” isn’t always intuitive.  As an FYI, a parametric design in OpenSCAD is a design that accepts parameters.

There are a lot of OpenSCAD designs on Thingiverse where the author admits their design isn’t very “parametric.”  With a little effort and a few tips, it is possible to incorporate the power of OpenSCAD parameters into your own designs.  Since I learned some of these lessons when designing an OpenSCAD pirate ship, I’ll refer back to it for examples.

  1. Parameters first.  It is so much easier to make your designs parametric from the start.  Going back and making a design parametric can be as easy as find-and-replacing, but typically it is much more work than that.  If there’s any chance you might want to have a parametric version of your designs later – just design that way from the beginning.
  2. Prioritize.  Decide on the most important parameters first.  Most designs only have a few parameters that are really important.  For example, the two most critical features of the pirate ship were the ship’s scale, as in size, and the thickness of parts.  Once these two were known, most of the other features of the design needed to be modified to fit them.
  3. Dependents.  Try to make as many of the features of your designs dependent upon the initial parameters as possible.  The easiest way to do this is to design as much as possible in terms of the original parameters.  I like to do this by setting dependent objects as fractions of the original parameters.  In the example of the pirate ship, I made the largest sail on each of the masts equal to 1/2 the size of the masts themselves.  The other sails were even smaller fractions.  By making these features defined in relation to one another by fractions, they will always end up in the same appropriate locations with respect to one another.  Thus, the three sails on each mast should always line up together.  Throughout the design, I tended to design things in terms of 1/2, 1/4, 1/8, 1/16, 1/32, and 1/64.  These fractions are easier for me to manage than decimals.
  4. Mix it up.  While you’re designing, change some of the major parameters.  If your model suddenly goes haywire, you know you made a mistake somewhere – either by including a feature that doesn’t rely on your parameters or by a feature that is changed by your parameters in unexpected ways.
  5. Modularize.  Start by designing just one aspect of your idea at a time as a module.  Doing so will let you define whole regions of your designs in relation to one another.  For example, one of the modules I wrote for the pirate ship was for a single sail.  I wrote another module that would put together three sales of decreasing sizes and another module that added the large triangular sail and mast itself.  Yet another module collected all three sails.  Once the three sails could be created by a single module, I could move all of the sails around as a single piece.
  6. Cheat.  One of the parameters for the cylinder function is “$fn”.  This basically dictates how many facets the circumference of your cylinder will have.  A cylinder with 8 facets will look like an octagon and a cylinder with 128 facets would probably look almost perfectly circular.  I cheated by making triangles by creating cylinders with “$fn=3″ or just three facets.  There are a lot of shape libraries for OpenSCAD, but this was a quick and simple way to get an equilateral triangle.  Each of the sails is actually a cylinder, turned on its side, with just three facets along the circumference.

What other suggestions do you have for someone who wants to make their designs parametric?

  1. Thanks to dustinandrews for tagging their Part Catch Basket for Thing-O-Matic as with “openscadtutorial” on Thingiverse! []
Tagged with , , , , 2 comments
 

How to Make a Printing Plate

Printing plates for Mr. Maker by ErikJDurwoodII

Printing plates for Mr. Maker by ErikJDurwoodII

Yesterday I spent some time organizing the parts in the MakerBot mascot entry “Mr. Maker” by ErikJDurwoodII into printing plates.  Afterward, Erik asked how I did this.  While I had posted some tips on creating printing plates earlier, I didn’t really give a decent step-by-step guide.  I like using OpenSCAD to orient the parts, but I’m sure there are other ways.  Here’s my process:

  1. Orient.  Make sure all STL parts are centered and flat on the build surface.
    1. The easiest way to ensure this is to open the STL in ReplicatorG, click “Move” in the bottom right corner, then “Center” in the right panel.  Matt demonstrates how to do this in MakerBot TV episode one @ 2:56.
  2. Sort.  Sort all STL’s by the number of times each part needs to be printed.  I like to put them into folders labeled “1″, “2″, “3″, etc.
  3. Make a Plate.  I use a simple OpenSCAD command to create a transparent representation of the build area.  I like to use an 80×80 mm square so that I can be sure everything is going to fit.  Here’s the command I used:
    1. % cube([80,80,0.01],true);
  4. Practice Moving/Spinning.  Using just the OpenSCAD translate and rotate commands, you’ll be able to move, spin, and place any part.
  5. Plan for Multiples.  Looking at all of the parts that need to printed multiple times, see if you can place them together so that printing a single plate more than once will give you the proper number of parts.
  6. Biggest Parts.  The largest parts that can’t be included with other large parts will essentially determine the number of printing plates you need.  Place each large part onto it’s own plate.
  7. Medium Parts.  Once you have a general idea of the number of plates you need, as determined by the biggest pieces that can’t be combined with other parts, try to fit the medium pieces in and around other parts.  If you can’t fit them around the large pieces, you’ll need to create a plate of medium parts.
  8. Small Parts.  The smallest parts can be sprinkled in and around all the large and medium parts.
  9. Pro Tips:
    1. If you have a part that needs to be printed an odd number of times, consider putting a single occurrence of this same part into a plate that needs to be printed only once.
    2. Sometimes it helps to have extra parts, so printing an even number of a piece that you need an odd number of isn’t actually very wasteful.
    3. Consider mirror-flipping a part if it won’t fit.  Some parts won’t fit onto a plate unless they’re flipped, but are just as functional either way.
    4. Consider printing small parts multiple times if you can fit an extra instance onto a plate.  Small parts can rip off the build platform, get deformed, break, or get lost.  Printing an extra small part along with larger parts doesn’t add that much time or plastic and will probably save you a lot more time down the road.
    5. Save yourself some heartache and make sure you use a Stepper based extruder that will allow you print without a mess of strings between all the parts.
    6. Always include the individual STL’s for parts even if you’re uploading printing plates.  Sometimes people just need to print or reprint one little piece and it can be a real pain to carve one out of a printing plate.
  10. Rock Star Tips:
    1. Some parts such as complex gears or external pieces can better benefit from high resolution, slower printing, or different infill ratios than other simple or internal pieces.  Consider organizing the parts so that certain pieces that need similar resolution/speed/infill ratios are printed together.  Thanks to Bobbens for including this tip in his Mini servo gripper plate.
    2. How about creating the entire GCode setup for printing everything using an Automated Build Platform?
    3. If you’ve got a MK7 Dual Extruder setup with soluble support material, you could stack parts on top of one another.  This means you could turn a multipart print into one single long print task, print everything as one big chunk of plastic, drop the result in water, let the PVA dissolve, and pull out all of your parts.

Do you use production or printing plates?  What program do you use to make them?  What additional tips do you have?

Tagged with , , , , , , , One comment
 

How to Create a 3D Printable Map Puzzle Tutorial by Chapulina

South America map puzzle by chapulina

South America map puzzle by chapulina

This tutorial on how to create a 3D printable map puzzle by Chapulina is far too awesome to be relegated to a simple footnote.  Chapulina uses a combination of open source resources and programs to achieve this final result, including maps from Wikipedia, the vector drawing and image manipulation tools from Inkscape, and the DXF support of OpenSCAD to create these cool 3D printable puzzles.

Chapulina’s title of their blog post and tutorial was far more generic than simply “creating 3D printable map-puzzles,” as well it should have been.  This same exact methodology could be used to create a 3D printable1 puzzle out of any image.

What will you do with this new found knowledge?

online maps, inkscape,openscad dxf

  1. Or lasercuttable! []
Tagged with , , , , , , , , One comment