Archive for the ‘Research and Development’ Category

3D Printing Animation!

3D printed zoetrope

3D printed zoetrope

Each of these twelve sections was created with a 3D printer and then put together to show a figure walking.  Old school zoetropes had a thin wall all around the edge with slits through which you can observe the action.  As the zoetrope was rotated, the small glimpses through the holes in the wall would create the illusion of animation.  Newer zoetropes tend to use synchronized strobe lights so that the light comes on for a brief moment exactly when each segment reaches the point in the rotation where the prior segment was when the light was last on.  While still a work in progress the artist, Sam Ellis, has updated his website to show some more pictures and details.  He’s even promised to share the code for his work!

While we’ve seen animation using 3D printing before, this is probably the best example of something we could all be doing with our MakerBots right now.  Here’s what I’m hoping for – a stop motion video or zoetrope with a Gangsta.

Tagged with , , , , , 2 comments
 

MakerBotting is Cheap!

What is the real cost of MakerBotting? Nick Starno, MakerBot Engineer decided to find out. He did some SCIENCE and made this handy chart so you can plan things out. You’ll notice that the electricity cost is at $.15 in this equation. That is a little bit more than we pay for it here in NYC, but we thought we’d adjust up in case your electricity is more. You’ll notice that the timing of the centimeter cubes is all the same, even though there are different infill settings. That’s because “cool” was turned on, which makes small layers take 15 seconds so they get a chance to cool. Even with solid infill, it needed to be slowed down to make each layer take 15 seconds and so they are all the same time! In the settings, these each have 1 shell so each model has two perimeters. The time noted here did not include warmup time. Using the new Print-O-Matic functionality in ReplicatorG, this was printed with a .4mm nozzle and a .3mm layer height and 30mm/sec feedrate.

We are proud of our plastic. We get the best plastic possible with great tolerances and we make it as cheap as we can! If you’ve done your own experiments in regards to power usage and costs. Drop us a note in the comments!

Tagged with 6 comments
 

12 Ways to Fight Warping and Curling

Curling

Curling

As printed plastic parts cool the different areas of the object can cool at different rates. 1  Depending upon the parts being printed, this effect can lead to warping and curling.  Although PLA has a much lower shrinkage factor than ABS, both can warp and curl, potentially ruining a print.  There are some very common ways to deal with this potential problem, the most notable being a heated build platform.  However, sometimes that might not be enough.

  1. Use a heated build platform.  A heated build platform helps keep the lowest levels of a print warm as the higher layers are printed.  This allows the overall print to cool more evenly.  A heated build platform, sometimes abbreviated as HBP, helps tremendously with just about any ABS print and large PLA prints.
  2. Print with a raft.  Rafts are a printing option in ReplicatorG and Skeinforge.  They’re basically a large flat lattice work of printed material underneath the lower-most layer of your printed object.  They’ll also help reduce warping and curling by allowing your printed object to adhere better to your flat build surface.  Other variations on this are to print with a larger raft and/or a thicker raft comprised of more layers.
  3. Calibrate your starting Z height.  A good first layer makes all the difference.  If your starting Z axis height is too high, the extruded filament won’t be able to make a good bond with the platform.  If you think your Z axis starting height is too high, try lowering it by 0.05mm increments until you find a good first layer.
  4. Get the right build surface.  Some people have experimented with different surfaces such as steel, titanium, glass, different kinds of plastic, different kinds of tape, and foam board.  However, I find both ABS and PLA seem to stick really well to hot or warm Kapton tape.
  5. Clean your build surface.  ABS and PLA stick better to a clean build surface.  Keep it clean of dust, pieces of old prints, and any other debris.
  6. Print slower.  Printing slower allows finer detail, better adhesion to the build surface and lower layers, and gives the printed part more time to cool evenly.
  7. Print cooler.  Printing at a lower temperature isn’t always an option.  Ideally, you should be printing at the lowest temperature required for extrusion and that allows good interlayer adhesion.  However, trying lower temperatures isn’t for the faint of heart.  Printing at a too low a temperature could cause harm to your extruder motor or extruder.
  8. Eliminate drafts or enclose your robot.  Forrest Higgs found that having his 3D printer too close to an open window caused very uneven heating across his build surface.  This in turn caused the side of his prints closest to the window to curl.  Since keeping the window closed wasn’t an option for him, he compensated for the window drafts by adding a heat lamp.  Cupcake and Thing-O-Matic owners might have an easier time of eliminating drafts by simply enclosing two or three of the sides of their robots.  It will also have a fortunate side effect of helping to control fumes.
  9. Design with mouse ears.  Zach Smith’s solution was to add little discs to corners of an object to help those corners stick to the platform.  These essentially serve as “mini-rafts” to give those corners more surface area and better adhesion without having to print an entire raft.
  10. Design with aprons to hold down corners.  Forrest Higgs suggested adding “aprons” around an object to be printed, while that object was being printed on a raft.  These low thick pieces of plastic help keep the raft flat and help prevent any curling or warping from affecting the desired printed object itself.
  11. Design with surrounding thermal walls.  While Forrest Higgs’ apron approach provides a mechanical advantage of essentially holding down corners with a chunk of plastic, Nophead has added thin surrounding walls to his designs to act as baffles to keep warm air around the printed object as it moves around.  He’s postulated that a very thin surrounding wall could have the same beneficial effect as printing inside an enclosed build chamber.  Interestingly, it seems that Nophead suggests that designing objects with more rounded corners might also help avoid curling and warping at those corners.
  12. Reduce infill.  When printing a model you can chose to print it hollow, completely solid, or some percentage between zero and 100.  However, as Nophead points out even the plastic inside a model exerts a force on the entire printed object as it cools.  It stands to reason that the more plastic you have, the more those pieces of plastic will pull against themselves and the build surface as they cool.  By reducing infill there will a reduced amount of internal tension as the object cools.  Reducing these internal forces by printing with a lower infill ratio can help reduce curling and warping as well.
  13. EDIT:  Sand the Kapton.  Charles Pax has suggested that sanding a Kapton tape build surface will increase the surface area, making it easier for the molten plastic to stick.
  14. EDIT:  ABS surface.  Some have suggested essentially painting the build surface with liquid ABS.2  This is has the same effect of laying down a big flat raft.

If you’ve got some suggestions, tips, or tricks that you use to fight warping and curling, please leave a comment below!

  1. Photo courtesy of backpackphotography []
  2. ABS dissolved in acetone or ABS glue []
Tagged with , , , , , , , , , , , , , , , , , 5 comments
 

Going slow

Slow down, you move to fast.  You've got to make the moment last.

Slow down, you move to fast. You've got to make the moment last.

Over the weekend I was experimenting with really really fast feedrates for my Thing-O-Matic. 1  What I discovered was that if I start even a complex object off very slowly, I could run the Thing-O-Matic pretty darn fast. 2  The tricky bit was getting that first layer to print slowly enough.3

After some poking and prodding in Skeinforge, I found the settings here:

  • Raft -> Object First Layer -> Object First Layer Feed Rate Infill Multiplier (ratio)
  • Raft -> Object First Layer -> Object First Layer Feed Rate Perimeter Multiplier (ratio)
  • Raft -> Object First Layer -> Object First Layer Flow Rate Multiplier (ratio)

I set each of these settings to the same value.  However, my target range was between 10 and 15mm/s.  So, I look the Feedrate from the Speed settings, and discovered that I would have to reduce my Feedrate to 30% of it’s normal speed in order to get within that range.  Thus, I entered 0.3 in each of the above settings.

The result was an almost agonizingly slow first layer – but a print that adhered well to the heated build platform, did not deform as the infill was applied, and provided an excellent base layer for the rest of the print. 4

  1. Feedrate is the speed of the X and Y axes.  Flowrate is the speed at which the plastic comes out of the nozzle. []
  2. More on the speed stuff in a later post. []
  3. Photo courtesy of Jakob E. []
  4. If you’re curious, I was printing the 27-to-1 gear toy []
Tagged with , , , , , , , , , , 11 comments
 

3D Printer Key Duplication with nrp

Duplicating Disc Detainer Keys by nrp

Duplicating Disc Detainer Keys by nrp

Thingiverse user nrp has been working on using his 3D RepRap printer in some pretty amazing ways.  He’s already put his 3D printer to use along with a Kinect to print by use of hand gestures.  Since then he’s been working on duplicating house keys and the more secure disc detainer keys pictured above.  Nrp’s website, and the comments that go along with his detailed posts, provide a wealth of information about his project along with lots of interesting links about computer enhanced key generation.

This project and the way nrp uses his printer remind me of the very cool Nickel for Scale project by Amy Hurst and MakerBot’s own Marty McGuire.  How cool would it be to never have to go get keys made again?  I don’t think it’s too much to dream that one day you might be able to put a key down next to a nickel, take a picture or short video, and have your MakerBot crunch out a few duplicates.

Full writeup on my blog at: eclecti.cc/hardware/physical-keygen-duplicating-house-keys-on-a-3d-printer It occurred to me recently that I had printed almost nothing actually useful on my RepRap 3D printer, aside from parts to improve on or build more RepRaps. I am rectifying that with this project. The goal here is to generate working house keys by inputing the key code of the lock into a parametric OpenSCAD model. Instead of having to explain to my landlord how I ended up with a wedge of plastic jammed in my front door, I ordered a box of (well) used locks and latches from eBay to experiment on. Luckily, the lot includes both Kwikset KW1 and Schlage SC1 locks, which are the two most commonly found in the US. I created an SC1 model to start with, but I’ll probably make a KW1 soon. EDIT: I uploaded a KW1 model as well. Designing the key model was actually pretty straightforward. I measured a key with a ruler and calipers and created an approximate model of it that is reasonably easy to print. I then got pin depth specifications and parametrically differenced them out of the model. To generate new keys, you can just edit the last line of the file and enter in the key code for your key. If the code isn’t written on the key, you can measure the height of each bit and compare to the numbers in the Root Depth column on the aforementioned pin depth site. Perhaps more nefariously, you could implement something like SNEAKEY to generate key codes without physically measuring the key.
This thing brought to you by Thingiverse.com
Writeup containing actual links at eclecti.cc/hardware/physical-keygen-now-for-disc-detainer-locks The Physical Keygen post got some interesting reactions, but there was a common claim among many of them that it was just a gimmick because there are more practical ways of getting past basic Schlage and Kwikset pin tumbler locks. I agree with that, and I’ll also admit that a fair number of my projects are gimmicks, or as a stretch, art. Schuyler Towne of Open Locksport saw past the gimmick (or art) and into the possibility of printing keys for more interesting locks. He stopped by recently with a collection of said locks, and over the period of a few hours we found that keys for disc detainer locks were printable and created a nearly working ABUS Plus key. He left me a cutaway lock, and over the next week, I refined the model to the point of working straight off of the printer. Despite being a higher security lock than the SC1 or KW1 pin tumblers I was working with before, the key is much easier to print accurately. The OpenSCAD model is linked below, and like the last files, you simply edit the last line to match the code for your key. The ABUS Plus and other disc detainer locks are much more common in Europe than the US, but we do have a pretty ubiquitous example around here. After the Bic Pen debacle in 2004, Kryptonite switched their bicycle U-locks from tubular to disc detainer. I designed a model off of the key from the Kryptonite Evolution I have, but as of yet, I have not successfully opened the lock with it. The key is smaller and thinner than the ABUS Plus, causing it to flex too much to effectively turn the last few discs. I’ve posted the file anyway, in case someone has stronger plastic or an idea to strengthen the model. EDIT: The Kryptonite key works. I tightened my X and Y belts and printed it a bit slower. Apparently some of the blobbing on the corners before was catching on disks.
This thing brought to you by Thingiverse.com
Tagged with , , , , , , , Leave a comment
 

Thoughts on Slicing: Lessons from DivX

Frankenstein Code

Frankenstein Code

So, this is a long walk, but I’ll bring you back to model slicing tech and Skeinforge.1

A very long time ago I tried to compress The Matrix from my DVD copy to the size of a CD using a DivX video codec.  Back when I did this there were two different modes for DivX – one for slow video and one for fast moving video.  Slow video was compressed in a qualitatively different way from fast video.  With slow moving video each frame could use more of the prior frame for reference – since not much was changing.  It is also important that each frame in slow moving video be sharper.  With fast moving video the codec would need to account for drastic changes in scenery from frame to frame, but it could allow for slightly blurrier definitions since sharper frames wouldn’t be that noticeable amidst lost of movement.  Some movies with lots of talking2 could be reasonably encoded with just the slow-DivX codec, while other movies with tons of action could be encoded with just the fast-DivX codec.3

However, for the truly optimal compressed video experience, you wanted to take the entire DVD and break it into it’s component scenes, sort them as “fast” or “slow,” encode them all separately, and then stitch them all back together. 4  The result was an excellent blend of the two types of compression for a movie that looked better than if it had been encoded with either type alone.  While video compression has come a long way since then, with codecs that automatically detect scene motion and frame changes to apply the best codec to that portion of the video, this history lesson is not without merit.

Okay, back to 3D printing theory.

Let’s suppose you had a model that needed different fill ratios, fill patterns, shells at different layers.  If you slice the model more than once using the same layer thickness, you could conceivably stitch together different GCodes with different properties and settings.  Or, if you kept careful track of layer thicknesses, you could even combine different layer heights.  For instance, you could print three really detailed sections at 0.2mm layers and then two other courser layers at 0.3mm per layer – as long as you took great care to splice the layers back and forth at intervals of 0.6mm.

I don’t have the programming chops to create a visualization program for GCode, but I could conceive of a very very cool system that would allow you to mix-and-match these settings.  It could look like this:

  • You would slice a model in whatever different ways you want.
  • The visualization program would line up your various GCode models next to one another.
  • If the layer heights were different, it would highlight alternating blocks of layers that were thick enough to be evenly divisible by all GCode models.
  • If the layer heights were all the same, it wouldn’t highlight any regions.
  • You could then click on regions or sections for each GCode model (probably using a series of vertical sliders) to select portions of each GCode model.
  • In the background would be a composite model that was comprised of the combined layers.  Ideally there would be an indicator showing completion progress for the model.
  • You hit a button and the program simply spliced together the different layers from different GCodes and outputs a single Franken-GCode.
  • Print!

What do you think?

  1. Photo courtesy of Devlin Thompson []
  2. Say, any movie by Woody Allen []
  3. Say, any Marvel comic book movie. []
  4. Yes, I really did this. []
Tagged with , , , , , , , , 7 comments
 

Untangling Skeinforge: Shells

Remember magic shell?

Remember magic shell?

I had the opportunity to talk to Nick Starno of MakerBot yesterday regarding something we are both passionate about – getting the best Skeinforge settings to print sweet awesome things. 1  Nick believes that the “extra shells” setting is the most underlooked and underappreciated settings in all of Skeinforge2

Assuming a typical Skeinforge setup, the extruder will first draw the outline of a layer in a part before filling any of it in with more plastic.  That outside trace is the “first shell.”  The “extra shells” setting will add additional interior traces of the outline of the layer for each additional specified.  This picture should explain it better:

2 extra shells, 0 extra shells

2 extra shells, 0 extra shells

Pretend the lines are the paths of the extruder as it lays down plastic.  The figure on the left has the extruder drawing the outline, then draws two extra shells, and then fills the center of the object with plastic.  The figure on the right has the extruder drawing the outline and then filling the object with plastic.3

The “extra shells” setting is probably just as important to part strength and structural integrity as plastic “infill” or the amount of plastic printed inside the object.  It is probably pretty intuitive that an object that is 100% filled with plastic is going to be stronger than an object with 0% filled with plastic.  But what if you don’t need the strongest part possible?  What if you just need an object that is purely decorative, doesn’t need to be strong at all, that just needs to be only just strong enough for a particular application, or prints quickly?

It depends.  Generally speaking, a higher infill ratio will lead to a stronger and sturdier object that will use more plastic and time to print.  Whereas, a lower infill ratio will lead to a lighter, less sturdy object that uses less plastic and time to print.  When I don’t need a part that is super-strong, I typically print with about a 20% fill ratio.  I find this makes for parts that are very strong and durable while still being quick to print without using a ton of plastic.

However, infill isn’t the only concern.  Laying down extra shells can result in an object that is strong on the outside, while still being sparse on the inside.  However, more shells isn’t always better!

  • Thin Parts. When you have extra shells on a thin part, a current bug in Skeinforge will cause your thin parts to be hollow.  Basically what’s happening is Skeinforge looks at the thin section of your object, figures that it cannot fit the required number of extra shells in there, and then skips the shells and the infill. 4  So, if you’ve got a small or thin part or a part that has small or thin features, you will want to turn extra shells down to 0.
  • High Infill. When you have a high infill ratio with insufficient extra shells, the shrinkage that occurs inside the part with the high infill as the plastic cools causes a lot of stress in the printed part.  If the number of extra shells is too low, that stress from too-high of an infill could cause larger volume objects to crack.  Nick has noticed that this effect seem to be worse with smaller diameter nozzles and small layer heights.  I suspect this is a bigger problem for ABS than it is for PLA since PLA has almost no shrinkage, but I haven’t done enough testing to confirm this.

What Skeinforge setting would you like to learn more about?  Leave a comment and let me know!

  1. Photo courtesy of *Micky []
  2. You can find the “extra shells” settings in Skeinforge here:

    • Fill -> Extra Shells on Alternating Solid Layer (layers)
    • Fill -> Extra Shells on Base (layers)
    • Fill -> Extra Shells on Sparse Layer (layers)

    []

  3. Oh, and those sweet sweet awesome drawzwing skillz?  All mine, baby! []
  4. Say, for instance, you have a 5mm thick wall and your extruder is laying down 0.5mm wide strands of plastic.  The most extra shells you could fit in there would be 4.  With zero shells, the 5mm thick wall would be composed of a 0.5mm outer perimeter with whatever infill.  With 1 extra shell, you would have the 0.5mm thick perimeter and one 0.5mm shell, with the rest being infill.  With 4 extra shells, you would have a 0.5mm perimeter and four 0.5mm shells, leaving no room for infill.  If you had extra shells at 5 or higher, this bug in Skeinforge would determine that it could not fit in all the shells required, and then just not add shells or infill. []
Tagged with , , , , , , 3 comments
 

Applying Kapton Tape Without Bubbles

Zaggo's method for aligning and applying Kapton tape without bubbles

Zaggo's method for aligning and applying Kapton tape without bubbles

Veteran MakerBot Cupcake operator Zaggo recently documented and published his method for aligning and applying Kapton tape to a smooth surface without bubbles.  Anyone who has tried to put tape onto anything has probably had some trouble getting the tape to align properly and, if it’s being affixed to a smooth surface, removing any bubbles from under the tape.  Once the tape is down it’s either difficult to remove, introduces more bubbles and wrinkles when you lift it, or it can cause more bubbles, wrinkles, and misalignments when you lay it down again.

Zaggo has helpfully created a video (with awesome music!) to demonstrate his process.  If you’ve got one of the new Aluminum Build Surfaces for the Thing-O-Matic, you’re definitely going to want to check out this tutorial.

YouTube Preview Image

In case you’ve got YouTube blocked, his process basically involves cutting the Kapton to size, applying soapy water liberally to his glass surface, putting the Kapton and onto the wet soapy glass.  The soapy water will keep the Kapton from sticking, so you can easily move it around and align it.  Then he used a scraper (or squeege?) to squeeze out the water and any bubbles.  Once it dries, it should be stuck on perfectly.

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

How to manually edit your Skeinforge profiles in Windows

Slicing with style

Slicing with style

Gian Pablo’s excellent tutorial on how to manually edit Skeinforge profiles on Mac OS X got me thinking that manually editing Skeinforge profiles isn’t exactly intuitive for just about any operating system. 1  For instance, Windows Vista will store Skeinforge settings in one of two locations.  These profiles are located either in a sub-folder where you have ReplicatorG installed or a sub-folder of your user profile.

  1. Location of Skeinforge Settings in ReplicatorG
    • replicatorg-0024\skein_engines\skeinforge-35\skeinforge_application\prefs
  2. Location of Skeinforge Settings under User Profile
    • C:\Users\USERNAME\.replicatorg\sf_35_profiles

The settings folder within the ReplicatorG sub-folder should contain a series of sub-folders with the stock profiles:

  • SF35-cupcake-ABP
  • SF35-cupcake-HBP
  • SF35-Thingomatic-ABP
  • SF35-Thingomatic-ABP-Stepstruder
  • SF35-Thingomatic-ABP-Stepstruder-1.75
  • SF35-Thingomatic-HBP
  • SF35-Thingomatic-HBP-Stepstruder
  • SF35-Thingomatic-HBP-Stepstruder-1.75
  • SF35-Thingomatic-non-heated

It seems that when you create a new Skeinforge profile within ReplicatorG the new settings profile will be stored under your User Profile.  The profiles themselves are basically a collection of text documents laid out in the exact order you would see them in when viewing Skeinforge.  Changing the settings manually is merely a matter of opening one of those text documents in a text editor and changing the relevant values.

  1. Photo courtesy of pj_vanf []
Tagged with , , 4 comments
 

Untangling Skeinforge: Infill

Infill - half empty or half full?

Infill - half empty or half full?

I had the opportunity to talk to Nick Starno of MakerBot yesterday about something we are both passionate about – getting the best Skeinforge settings to print sweet awesome things.  ((Photo courtesy of micmol))  One of settings we discussed was “infill.” 1  While this may be review for some, I’m hoping to do a few more posts that will build on this topic. 2

25% infill, 75% infill

25% infill, 75% infill

It is probably pretty intuitive that an object that is 100% filled with plastic is going to be stronger than an object with 0% filled with plastic.  But, what if you don’t need the strongest part possible?  What if you just need an object that is purely decorative and doesn’t need to be strong at all, an object that just needs to be only just strong enough for a particular application, or an object that will print very quickly?

Generally speaking, a higher infill ratio will lead to a stronger and sturdier object that will use more plastic and time to print.  Whereas, a lower infill ratio will lead to a lighter, less sturdy object that uses less plastic and time to print.  When I don’t need a part that is super-strong, I typically print with about a 20-25% fill ratio.  I find this makes for parts that are very strong and durable while still being quick to print without using a ton of plastic. 3

What infill ratio do you use for strong lightweight quick-printing objects?

    • Fill -> Infill Solidity (ratio)

    []

  1. So hang in there! []
  2. However, infill isn’t the only consideration for strong lightweight printed object.  Next time: extra shells! []
Tagged with , , , , 4 comments