loading

Purpose:
Build a printable version of the Trautman Hook, an out-of production prosthetic device. 

Overview:
This is derived from work by the  the Open Prosthetic Project. Here is the description from their webpage:

The Open Prosthetics Project is producing useful innovations in the field of prosthetics and freely sharing the designs. This project is an open source collaboration between users, designers and funders with the goal of making our creations available for anyone to use and build upon. Our hope is to use this and our complementary sites to create a core group of “lead users,” and to speed up and amplify the impact of their innovations in the industry.

http://openprosthetics.org/

This instructable will start with some information on their design, then we will make modifications to create a version that can be built using low cost 3D printing technology. 

Hopefully, we will end up with a robust working model that can be easily reproduced.  I probably won't get there with just this instructable, but I hope that this will be useful to others with the same goal.

I should note that I don't represent any of these groups.  I also make alot of mistakes.

Attributions:
This is entirely built on the work of the open source community, including:

OpenProsthetics http://openprosthetics.org/
Makerbot       http://www.makerbot.com/
RepRap        http://reprap.org/
Thingiverse   http://www.thingiverse.com/
OpenSCAD    http://openscad.org/
Blender          http://www.blender.org/
Skeinforge     http://blog.makerbot.com/2009/11/03/skeinforge-0006/
Replicator G  http://replicat.org/


 


 
Remove these adsRemove these ads by Signing Up

Step 1: Collect resources

  There has already been alot of work done by the Open Prosthetics group.  It is documented here.  http://openprosthetics.org/concepts/55/the-trautman-hook.  

Open Prosthetics as already done design and prototyping work.  I am just building off their work in a way that seems compatable with the MakerBot 3D printing equipment.

Bre Prettis at Makerbot pointed me towards this project, he posted STL files here: http://www.thingiverse.com/thing:2114

Availble resources include:
Previus work (drawings, photos) -     http://openprosthetics.org/concepts/55/the-trautman-hook
    (they have also posted their design files, but I can't seem to open them)
STL files   - http://www.thingiverse.com/thing:2114
Patents    - http://www.google.com/patents?  id=Asx5AAAAEBAJ&printsec=drawing&zoom=4#v=onepage&q&f=false

Step 2: Equipment and Software

Picture of Equipment and Software

Physical:
Makerbot      http://www.makerbot.com/


Software:
OpenSCAD    http://openscad.org/
Blender          http://www.blender.org/
Skeinforge     http://blog.makerbot.com/2009/11/03/skeinforge-0006/
Replicator G  http://replicat.org/

Step 3: Top finger - in OpenSCAD

Picture of Top finger - in OpenSCAD
Now it is time to start designing -     
 You could work from several points.
-Build a physical model from pictures
-try to print STL files as they are
-Modify the STL files to make them printable
-Modify the CAD files to make them printable
-Build a new CAD file

I chose to build the design using OpenSCAD.  This program allows you to write code for physical objects.  It is growing in popularity and is used heavily on thingiverse.com

OpenSCAD is documented here - http://openscad.org/
With a wiki here - http://en.wikibooks.org/wiki/OpenSCAD_User_Manual

I'm working with primative solids that will be manupulated with tranformations and CSG modeling.

The basic steps are:
     -define a simple obect (primative solid) and put it somewhere (transform)
    -define another obect and then add, subtract or overalap it with the other object

Doing this you can build anything you want
 
Open SCAD hints:
  • Build part using primatives, tranformations, and combinations
  • Compile to view part with solids and cuts shown(F5)
  • Comple and Render to show the final part (F6)
  •   Export as STL after rendering 
         Note: Don't press F4


////////////// Open SCAD code  ///////////////////

 

/*

Make each piece as a seperate module, then join them all together.

Units are in mills - scalled at the end

*/

 

 

//ARC

 

module arc(){

difference(){

cylinder(h=200, r=1400);

cylinder(h=200, r=1200);

translate( [-1500,-1400,0]){

cube(size = [3000,2050,200], center =false);}

translate([-1400,600,0]){

cube(size=[800,200,200], center= false);}

}

}

 

 

//FingerTip

 

module tip(){

rotate([90,0,0])

translate([875,0,-800]){

intersection(){

cube(size=[700,700,150]);

cylinder(h=150,r=700);

}

}

}

 

//Joint

 

module joint(){

translate([-800,1000,0]){

difference(){

cylinder(h=200, r=180);

cylinder(h=200, r=90);

}

}

translate([-1050,805,0]){

cylinder(h=200, r=100);

}

}

 

//draw the whole thing

 

scale([0.0254,0.0254,0.0254]){ //this scale seems correct in blender

 

union(){

arc();

tip();

joint();

}

}
 

Step 4: Use blender - check size and clean up

The process of taking a part from a design to a print are here:  http://wiki.makerbot.com/how-to-print  As far as I can tell, this is the best place to start.

What I have here are pretty much notes to myself.

**
Next I opened the STL in Blender.

I've had some trouble telling what scale I am in using openSCAD.  So I imported the STL we just generated along with an STL of a know size.  I used a 3cm snowflake from thingiverse(attribution).

My first scale was way, way off.  The finger was so big blender seemed to be having trouble displaying it.

Luckily in openSCAD rescalling is easy.  [descripion ]

Next - Makerbot recomends deleting multiple vertices
                                       Tab-> A-> mesh ->delete multiple vertices        [check]

Now we can export another cleaned up version of the STL.
 

Step 5: Use Skeingforge to make G-code

Picture of Use Skeingforge to make G-code

Skeingeforge slices up the SLA and produces the path that the extruder will follow.  This software has many settings.  I am lucky that the default has been working well. 

Again the real info is here: http://wiki.makerbot.com/how-to-print#toc9

Here are some images.

Step 6: Setup and Print using ReplicatorG

Picture of Setup and Print using ReplicatorG
To drive the machine we will use ReplicatorG.  This will take the Gcode generated from the STL file, which was output from openSCAD code, and acutually tell teh machine what to do. 

Read more and get it here:  http://replicat.org/

Setup machine
     center platform
     position nozzle
     preheat nozzle
     test extrude
    


Import Gcode into replicatorG
Build!!

Again - I am just folliwing the steps here:  http://wiki.makerbot.com/how-to-print

Step 7: Take a look at what you have

Picture of Take a look at what you have
DSCF4632.JPG
DSCF4630.JPG
Now we have gone from some info on the internet to a physical part on the workbench. 

If you think about it it, this is a bit mind blowing. 

If you look at the actuall part, you will see room for improvement.

So, what are the problems?
     - I lost the hole, it is filled in thicker then any other part of the peice.
     -I have know idea if this will fit with the other pieces, as they don't exist yet.

Should we fix stuff now or move ahead?
    - I'm going to plow ahead, then go back and fix everthing at once (or give up and go to bed).
    - The whole can be drilled out for now, there must be something off in the software chain.
    - Once we make the other pieces we can see what fits and what doesnt.



Step 8: The other parts: Bottom Hook

Picture of The other parts:  Bottom Hook
DSCF4642.JPG
ScreenShot1002-1.jpg
ScreenShot2-1.jpg
DSCF4625.JPG
DSCF4640.JPG


Now, got back to openSCAD and code up the next part.  Alot of what I have done in this version is based on measuring a 2D print out adn then guessing.  I'm sure there is a better way to do this, but here we are. 

You can import multiple STLs into Blender put them together to see if they fit.  This is a good way to check for major errors, such that one part is 100x's to big.  But I personally can't really tell if there are little prolblems.  I find that I am very good at pretending they will fit together. 

Once the rendering looks like it might work.  Follow same steps as before, to build the part:
  •    openSCAD -> export STL
  •     Blender -> open STL  -> clean -> export STL
  •     Skeinforg -> open clean STL -> export G-code
  •     ReplicatorG -> import G-code -> setup -> build!



//////// openSCAD  CODE  ////////////////////

 

/*

Make each piece as a seperate module, then join them all together.

Units are in mills - scalled at the end

*/

 

 

//ARC

//started with finger_top

//translate and flip the arc

//translate and flip the joint, modify to approximate the picture

 

module arc(){

 

translate([0,1450,200]){ //shift

rotate([180,0,0]){ //rotate

difference(){ //same as finger_top

cylinder(h=200, r=1400);

cylinder(h=200, r=1200);

translate( [-1500,-1400,0]){

cube(size = [3000,2050,200], center =false);}

translate([-1500,600,0]){

cube(size=[800,475,200], center= false);}

}

}

}

}

 

 

//FingerTip

 

module tip(){

rotate([90,0,0])

translate([875,0,-800]){

intersection(){

cube(size=[700,700,150]);

cylinder(h=150,r=700);

}

}

}

 

//Joint

 

 

module joint(){

union(){

/* translate([0,1450,200]){ //shift

rotate([180,0,0]){ //rotate

translate([-800,1000,0]){

cylinder(h=200, r=180);}

}

}

*/

translate([-1175,275,0]){ //reinforce pivot

cube(size=[560,320,200]);}

}

translate([-1550,125,0]){ //tail

rotate([0,0,20])

cube(size=[650,200,200]);}

}

 

 

module hole(){

translate([-880,650,0]){

cylinder(h=250,r=175);}

}

 

 

// draw the solids

 

module solid(){

union(){

arc();

tip();

joint();

}

}

//draw the whole thing and scale

 

scale([0.025,0.025,0.025]){ //scale to 0.0254 when done drafting

//scale([1,1,1]){

 

difference(){

solid();

hole();

}

 

 

}

 

 

 

 

 

 

Step 9: The other parts: Anchor

Picture of The other parts:  Anchor
ScreenShot1009-1.jpg
ScreenShot1010.jpg
ScreenShot1005-1.jpg
DSCF4662.JPG
DSCF4663.JPG

This Anchor piece is where it all comes together.  All the parts will need to interact with the anchor.  There is no way I am going to get this right the first time.  So I did what I could and printed it up.


///////////////////         openSCAD    ////////////////////////
/* ANCHOR

 

*/

 

scale([0.025,0.025,0.025]){

 

union(){

 

//rounded end with hole

 

translate([1000,0,0]){

difference(){

cylinder(h=190, r=160);

cylinder(h=190,r=80);

}

}

 

//big piece

 

translate([0,0,0]){

cube(size = [900,300,190], center=false);

}

 

//rect upright

 

translate([800,80,0]){

rotate(4,0,0){

cube(size = [250,450,190], center=false);

}

}

 

//shark fin

 

difference(){

translate([0,0,0]){

cube(size=[550,400,190],center=false);

}

translate([550,425,0]){

cylinder(h=190,r=125);

}

}

translate([300,400,0]){

cylinder(h=190,r=125);

}

 

//thicker base to the left

 

translate([-150,0,0]){

cube(size=[250,400,300],center=false);

}

 

//threaded portion (place holder)

translate([-500,0,0]){

cube(size=[500,300,190],center=false);

}

}

 

}

Step 10: Side Brackets

Picture of Side Brackets
ScreenShot1006.jpg
DSCF4665.JPG

Ideally the side brackets would be printed up as part of the bottom finger.  But this looks like it will require a filler material (or something).  You can print one bracket, but then everything else will be floating in space in bad ways.

The bracket without the bottom finger is a pretty simple part.  So I gave it a go.  We will have to figure out how to attach the peices later.


//////////////////////////// open SCAD Code /////////////////////////////////
//side bracket

 

 

scale([0.025,0.025,0.025]){

 

difference(){

 

intersection(){

cube(size = [725,1300,200], center = false);

translate([1000,0,0]){

cylinder(h=200, r = 1400);

}

}

 

translate([350,300,0]){

cylinder(h=200,r=60);

}

translate([500,1100,0]){

cylinder(h=200,r=60);

}

 

 

}

}

 

Step 11: All the parts


Now we have a nice pile of plastic parts.

I took a bunch of pictures to show how everthing almost fits together. 

Now we have a first draft of the assembly.  This took me two evenings and a morning to do,  Thsi is my first design done like this so that time includes installing all the software and reading some instructions.     Thanks to the Open Source community, this cost almost nothing.

The next step, is to get the part to actually work!!




Step 12: THE FILES - T-hook_X01.zip

Here are all the files I have generated for version X01 

This includes:
 

  • OpenSCAD source -                *.scad
  • OpenSCAD STL ouput -          *.stl
  • Blender STL output                  *_cleaned_x01.stl
  • Skeiforge Gcode ouput           *_export.gcade

Step 13: Make it work then update the code and try again!


This instructable might end here.  But here are the next few steps that are needed.
  1. Make it work - drill holes, file, glue, whatever
  2. Re-design - rework the code based on what we have learned
  3. Try it again!  - Print everthing out and see if it works
Points that will need attention:
  1. Will these be strong enough for any practical use?  - maybe HDPE is a better material then ABS?
  2. Thread - how to get a thread on the base of the anchor
  3. How to attach the side brackets?
  4. Optimize printing - can the whole thing be printed at once?
  5. Size - does the whole thing need to be bigger?
  6. Alternatives - instead of working from an existing design that might not be printable, build up a similair assembly using parts known to be printable



kelseymh5 years ago
As I look at this, it seems more of a proof-of-principle rather than a fully functional T-hook.  The material used by most 3D printers wouldn't be strong enough to deploy on a Trautman, I think.  Am I right about this, or is there something I've missed?
marc.cryan (author)  kelseymh5 years ago
it seems more of a proof-of-principle rather than a fully functional T-hook

You are correct. As of 4-11-10 I do not have a functional device.  This instructable is focused on the design process using open source software and low-cost open source hardware.

RepRap and Makerbot use a filimanet of melted plastic to build up parts.  This makes a pretty good part, but I haven't tested the stength myself.

If I get more done, I will add it to this instructable.

-Marc

Could this be used to make a mold instead?  Perhaps then cast something more durable? I know a lot of people have experimented with casting aluminum, right?
Could the sufficient strength be achieved if a 3D-printed honeycomb core was wrapped with glass fiber mats and brushed with some resin? It would probably be easier to manufacture a single copy this way instead of making a complete mold for casting.
marc.cryan (author)  bullschmidt5 years ago
Could this be used to make a mold instead? 

Probably  - but the real goal is a direct-to-manufacture part.   Something that can be designed, printed, and used in about an hour.

I have little experience with prosthetics, so I can't really say if this would be useful, but it seems worth a try.

-Marc
Interesting question!  How does cast aluminum compare in strength to a machined part?
Asking the wrong guy!  I just connected the two without knowing much about either! 
Okay, thanks.  I still think it is a tremendous project!  There are 3D printers that use sintered metal (I saw a cool one at the Maker Faire a couple of years ago), so this technique is potentially practical for deployed prostheses.
dscott43 years ago
I would love to see it added to the 3D print group I have just started

http://www.instructables.com/group/3Dprint/

Thanks
lemonie5 years ago
You might want to say how this is designed to be used, it's not immediately obvious.

L
marc.cryan (author)  lemonie5 years ago
Agreed - I am not really sure myself.  I have been working from only images and files.  What I've made so far is not functional.

Here is an image of a similair device in use: 
http://www.thingiverse.com/image:11886

-Marc
I think it's probably important to the project to learn how the device is to be used, and reference other models in production. You wouldn't want to succeed only to find people telling you there's something better on the market. Why is this design out of production?

L
kelseymh5 years ago
Sweet!  I have added your I'ble to the OPP and AT groups.