Wednesday, July 28, 2010

Some thoughts and observations about having a Reprap machine in the design cycle

In which your narrator reflects on the rather radical difference between what he perceived the design process would be pre and post the advent of practical Reprap printers.

Do you want to read more?

From 2005 till November of last year, I spent most of my free time trying to build a Reprap printer. It was good fun and I learned a lot of things. Mostly, I learned how not to be intimidated by technology that I was not familiar with. For me, this was an extremely valuable lesson.

When my day job began to require more and more of my attention towards the middle of last year, my development of Tommelise 2.0, my own repstrap project began to suffer. Finally, at the end of October I sat down and did an unpleasant assessment of my situation. I could continue to work on Tommelise, or I could simply buy one of the Reprap-derived kits that were beginning to emerge from small enterprises started up by other core team members. I estimated that it would take something like another 6-8 months to get Tommelise 2.0 printing properly. I subsequently ordered one of Ian Adkins' Rapman 3 printers.

Rapman 3 is a re-engineered clone of the first generation Darwin design. I bought it rather than the somewhat cheaper Makerbot primarily because it had a substantial print volume but also because an associate, Batist Leman, had been blogging his experience with the model. Batist was very impressed with the Rapman and communicated that very well through his video clips of it in operation.

Prior to November, I was designing and making parts with the object of making a Reprap machine. Afterwards, I was designing and making parts WITH a Reprap machine. The distinction can be easily lost on those who have not used a Reprap machine.

What I have discovered in the eight months since is that the availability of a Reprap machine makes a massive change in one's design practices.

Prior to November I lusted after a professional 3D CAD package. Features like dimensioning and reliable boolean operations cluttered my thinking. The problem was that I was thinking like an engineer, viz, I wanted to make careful designs in 3D and then have print them out on an accurate 3D printer. I no longer feel that way.

With the advent of Art of Illusion (AoI) 2.8.1, I stopped lusting after "professional" CAD packages even though by that time I already owned several. My design cycle now looks like this.

  • (re)design (a) part(s)
  • print the part(s)
  • manually and visually see how the parts work together
  • repeat the process until satisfied
Precise dimensions became not very important while things fitting together properly did.  The linkage between these two factors was not as strong as one might first suppose.

With a Reprap printer it became a simple matter to run through a dozen design cycles to get a parts ensemble to work in a matter that suited me. I currently design with the Reprap printer as part of the design cycle rather than using it as a final step after design cycles are finished.

At the beginning of this year Skeinforge, which I had been using previously, went through a rough spot.  This encouraged me to invest in the upcoming Netfabb software prior to its release.  As the Skeinforge rough patch continued and the folks at Netfabb's release dates began to slip, I finally became frustrated and then angry.  I wasn't able to do the design work I wanted.

In frustration, I unearthed my old Slice and Dice code from the Tommelise project and began to bring it up to date.  Having used both Skeinforge and the nascent Netfabb offering to process STL files into print instructions I evolved a very different approach to processing solids files than what either of these two products offered. 

Both Skeinforge and Netfabb basically take your STL and give you print instructions.  They do it very quickly and efficiently.  Unfortunately, if you have a dodgy design file they can produce some very crazy print files.  Ones ability to respond to crazy print files is, perforce, limited.  With both Skeinforge and Netfabb, the majority of craziness is generated when ones STL files are flawed.  The need for perfect STL files had fueled my previous lusting after "professional" 3D CAD packages.

I responded with Slice and Dice by internalising Mandelbrot's maxim that noise is always going to be there and it will be unpredictable.  Instead of striving for perfection, Slice and Dice concentrated on giving me options to deal with imperfect design files.  I began by keeping each slice of a design file as an image that I could bring into simple image handling tools like Windows Paint and manipulate.  Paint let me patch and alter flawed slices to suit myself.  I no longer needed a "professional" 3D CAD system.  AoI was just fine for my purposes.

From there, I discovered that if you use 2-3 print roads to define a print's perimeter you wind up with a strong part even without infill.  I began working to improve my control of perimeter print roads and soon found that I could make parts not unlike those in old fashioned plastic model airplane kits which used injection-moulded parts that you glued together.  Infill became unnecessary in all but the most extreme cases.  Hollow parts were tremendously quicker to print and not nearly so prone to warping. as "solid" parts.  I don't use a heated bed and doubt that I will anytime soon.

Conventional Reprap thinking views a 3D printer as being able to print, more or less, any 3D object.  Development has concentrated on infill and support materials to achieve these ends.  Both are wasteful of printer time and materials, in my opinion.  I try to design parts which keep in mind the strength and weaknesses of my printer.

As you can see with this telepresence 'bot finger, I think I am getting pretty good results.


HairMare said...

wow! seeing the part from your last post in the finger model was, well *mindblowing*.

Unknown said...

Nice work forrest!
I like the finger. It looks like it should work well.

I've gone through a similar revelation in my day job as a software engineer - it's similar to the difference between an academic exercise, and an 'engineer' - use whatever works to get the job done.
The real world is imperfect: pan for failure and you'll never be disapointed :-)

jbayless said...

In case you "need a hand" to help with designing the robot hand (ha...), here's a good paper. (Search on google scholar and it's the first result).

Design, fabrication and preliminary results of a novel anthropomorphic hand for humanoid robotics: RCH-1

Anyway - I think that infill serves an important role in a lot of parts, and it will always be better to have the option to print it. I can certainly picture cases where infill is necessary, either from a structural rigidity sense (as in the case of reprap parts where higher stiffness is desirable) or just to support the geometry of the part. But it's definitely good to be able to make do without.

雨鄭v枝 said...