Wednesday 26 October 2011

HotEnd and OpenSCAD

I have had a little play with a few different bits of software that seem to be used by the RepRap community, but mostly only as much as loading, clicking a few buttons and closing. Now I feel it is time to get to know them more.

The first application I am going to play with is OpenSCAD as I need to have a good way to model parts.  I have been using HeeksCNC to do some modelling and generating G-code for use with my mill, but it crashes quite a lot.  The first thing I did was read about what OpenSCAD is, and as it happens I have always quite liked Boolean  modelling,  in 3dstudio  I use it quite heavily to make shapes, but I always felt a bit like I was cheating so nice that it is now the way to work.  The idea of just scripting seemed a little odd, but I do quite a lot of programming at work so not any real concern, I do think that a lot of people might find it un-nerving to have to script an object rather than just drag primitives around.

Here is a screen shot of OpenSCAD, nice basic look, the rendering can take quite some time depending on how complex the part is.

OpenSCAD


To get a my first taste of OpenSCAD I thought I would design my hotend idea in it.  This is similar to the JHead, the heated element is one piece, with no support peek block.  I also have kind of umm made a mistake, ages ago I got a couple chunks of Peek, a block, and a rod, the rod is only 10mm in diameter so this kind of governs the design I am using. I think it is also going to cause a slight issue when it comes to mounting the hotend onto the coldend? of the extruder.  If need be I am thinking I will make an aluminium mounting block,

Here is a view from OpenSCAD,

This is the ouline of the Hotend I am intending to make (CGAL Grid Only).
and the script used,

difference()
{
union()
{
translate(v=[3,3,0])cylinder(h =3, r1 = 5, r2 =1, center =false);
translate(v=[-4,-10,-15])scale(v = [1.4,2, 1.5]) { cube(size =10, center = false); }
}
  translate(v=[3,3,-15])cylinder(h =11, r = 4, center =false);
translate(v=[-5,-5,-5])rotate(a = 90, v = [0, 1,0]) {cylinder(h =16, r =3, center =false);}
translate(v=[3,11,-2])rotate(a = 90, v = [1, 0,0]) {cylinder(h =6, r =.5, center =false); }
translate(v=[3,11,-12])rotate(a = 90, v = [1, 0,0]) {cylinder(h =6, r =1, center =false); }

translate(v=[3,3,-4])cylinder(h =9, r = .2, center =false);
translate(v=[3,3,-15.5])cylinder(h =17, r = 1.5, center =false);
translate(v=[-8,-10,-15])scale(v = [2,.7, .5]) { cube(size =10, center = false); }
}
 

My first impression, I have only crashed the application once, I can’t remember how, but generally It seems quite stable. As its scripting it would be very nice if it had some kind of IntelliSense'esk help. That would make a big difference when you first start to use it, with that said there is not that much to learn, so maybe not needed and of course a graphical way to construct objects would be very nice, but having the script does make changing things you have already done very easy.
 

I guess as it is open source, I can have a look at what would be involved to do this, maybe.
 

One of the tasked I will have to do is wright a very simple numpty getting started guide for my work college, but first I will play with a few more programs, currently I think I am already in favour of OpenSCAD over HeeksCAD, but I have only made a very simple item, and there are loads of other CAD options out there.  Also it does seem that you would also want to use another program that can generate DXF files and or STL files with OpenSCAD.

No comments:

Post a Comment