Tuesday, October 27, 2009

 

RepRap Extruder Design with OpenSCAD



RepRap Extruder Design with OpenSCAD

After falling in love with the new Mendel design I want to try out the PLA Adrian sent us (thanks!) so we need a new extruder which I want to build with parts available here at Metalab. We use different DC Motors for the extruder with a different mount than the steppers in the ingenious Mendel extruder design which I used as an inspiration. I only changed the way the insulator part is mounted since I like our T-slot mount very much. It is very stable and I don't want to glue the insulator like in the Mendel design since I'd like to be able to take it apart. The motor mount will be parametrized so that you can adapt it to different motors by just changing one value.

As you can see in the screenshot I model the extruder in OpenSCAD openscad.org. OpenSCAD is a very cool open source parametric solid 3D CAD modeller available under linux, mac and windows. If you like programming and 3D printing you should have a look at OpenSCAD since it is more like writing code than juggling triangles and vertices like in Blender or AoI. It's Solidworks for programmers :)

the designs of the extruder so far can be found here: http://reprap.svn.sourceforge.net/viewvc/reprap/trunk/users/metalab/models/scad/printed_lasercut_extruder/

wizard23
http://reprap.soup.io

Comments:
hello

what other parametric free/libre software do you recommend?

there is a deb package fron openscad?
 
i have debian amd64, i like give a try to openscad :)
 
I think the SCAD idea is growing on me. I can see some interesting uses for designs that can have various options but still keep one set of source code.

Like your parametric motor mounts

It opens the way to a manageably larger number of variants.

I wonder is there is any mileage in breading new solutions using genetic algorithms ?????
 
No GUI, apparently. 9_9
 
I cant imagine, how can you easily bevel, chamfer or round the edges of your object. Is there an easy programic way?

Lets say, I want to round the top face with a 3mm circle/cylinder.

If you look at nophead's designs, almost all his objects' edge are rounded. Look at this image for example:
http://2.bp.blogspot.com/_QYCIPYPZ-pc/SSHcatVcSRI/AAAAAAAACI4/UOoV1_ORT2c/s400/meter_key_bottom.JPG
 
Edge rounding (beveling) sounds like a good operator to add to OpenSCAD, alternatively add a bevel parameter to the primitives.

Implementing beveling using CSG operations is a pain. There is an example of this in the OpenSCAD examples (example006).
 
Looks like PovRay oriented to CAD.
 
There's a page on the wiki devoted to lists of this sort of software. It's here: http://objects.reprap.org/wiki/Useful_Software_Packages
 
actually adrian I wanted to post this to the builders blog...but i misclicked in the blogger interface
 
chamfer and rounding edges is a good point. There is a example of a dice with rounded edges in the openscad examples. it's not too easy to scale up though. Selecting a specific edge for parametric modelling turns out to be nontrivial...
 
Hmm thats awkward.

Fillets, chamfers and rounded edges are fairly important for 3d solids.

Particularly as curved corners etc are inherently stronger than sharp 90 deg bends.
 
Yes and they are less likely to curl up from the base / raft.
 
Wings 3D is also a good piece of software worth mentioning in the wiki. It's easy to use and contains many of the usual CAD functions.
 
I will discuss the possibilities to add some automatic edge chamfering/beveling with the author.
 
Marius

It may be worth discussing adding in radius/fillets to inside corners too.

Chamfers are OK and quite useful, radius is arguably used more often in mechanical design though.
 
Looks useful, but for people like me who grew up with buttons, we need GUIs. I still find it hard to believe that there's still no engineering based, user-friendly open-source package out there - winner will take all.

This is a non-useful comment I know, but I think RepRap ain't complete without one. I know there's AOI, but my mum can't use that.

Is there any way we (says the non-coder ;-) can get proactive about this? Start a project towards this? Approach existing packages for tweaks?
 
Take a look at Wings 3D. I started fooling with it last week and it looks promising. I think the main thing it lacks are some proper tutorials for people wanting to use it to do Reprap sorts of things rather than any intrinsic shortcoming in the GUI or capabilities of the app.

As it stands now, the tutorials are all about how to make cactus and things like hands. That's not very useful if you want to design parts for something like Mendel.
 
Has anyone looked at FreeCAD yet?
http://free-cad.sourceforge.net
 
Wings3D is used by the Kicad program (schematic & pcb making software) to make the 3D shapes of the components.

I know at least one tutorial for this, but it's in portuguese:
http://www.reniemarquet.cjb.net/kicad/tutor3d2kicad.pdf
 
Had a play with scad and thought about it a little.

Radius-ing and fillets can be constructed from the usual CSG operations and primitives, but it is a touch long winded.

For an external edge you need to create the inverse of the radius-ed edge and then subtract or difference it from the original object.

For an internal radius-ed fillet you need to create the fillet and add it on or union it.

To construct a radius fillet or inverse radius for a square straight edge where the coordinates of the edge are known or can be calculated:-

As a 2d exercise on paper, Square of sides radius by radius, minus (difference) circle of radius, where the centre of circle has been moved to the appropriate corner of Square.

Doable if you only needed it infrequently a pain if you need to apply it to a lot of edges though.

Applying this to a non linear & square edge is going to be something else though.

I think to be really usable it needs some form of easy to apply primitive. Although I accept that it is probably going to be non trivial.

I wonder if scad supports function types with parameters as opposed to just objects or modules.
 
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]