Welcome! Log In Create A New Profile

Advanced

Automatically Plating STLs within a specified area

Posted by hughht5 
Automatically Plating STLs within a specified area
March 08, 2013 06:11AM
Hi,

Printing a single object is simple enough, but now that my printer is giving consistently solid prints I'm more and more printing full plates with 10-15 STL objects laid out on the print bed.

My question is as follows:
Is there any software / anyone working on a piece of software that will take a list of 100 STL files in a print queue and attempt to place as many as possible of them within a print area of defined size (my bed is 140x140x120 on my printrbot and 200mm diameter on my rostock).

If not does anyone know what scripting language to use to do this so I can work on it myself.


hugh
Re: Automatically Plating STLs within a specified area
March 08, 2013 06:35AM
OpenSCAD (if it can read the STL files).


Bob Morrison
Wörth am Rhein, Germany
"Luke, use the source!"
BLOG - PHOTOS - Thingiverse
Re: Automatically Plating STLs within a specified area
March 08, 2013 06:40AM
I didn't realise OpenSCAD supported basic logic - if,for...

Can you point me to a ready written script? If not I'll start programming it tonight.
Re: Automatically Plating STLs within a specified area
March 08, 2013 07:30AM
Printing Plate Wizard by Starno


Bob Morrison
Wörth am Rhein, Germany
"Luke, use the source!"
BLOG - PHOTOS - Thingiverse
Re: Automatically Plating STLs within a specified area
March 08, 2013 07:33AM
Brilliant!!! I will have a look at that tonight and see if I can include it into botqueue.com - This would seriously speed up my printing.
Re: Automatically Plating STLs within a specified area
March 08, 2013 07:34AM
You could use AWK (or any other scripting language) to create this file based on the STL files contained in a directory.


Bob Morrison
Wörth am Rhein, Germany
"Luke, use the source!"
BLOG - PHOTOS - Thingiverse
Re: Automatically Plating STLs within a specified area
March 08, 2013 01:32PM
As far as software to automatically optimize the platter space for as many parts as possible, I think there may be a patent on that, if true you won't see that feature in software we use yet.
Re: Automatically Plating STLs within a specified area
March 08, 2013 06:30PM
Haha!! there is no way that is patentable!

Either way I'm going to write my own but its a case of a simple bin packing problem. I just wasn't sure if anyone had done it and if not what software to start with.

Could you please point me to the patent in question?
Re: Automatically Plating STLs within a specified area
March 08, 2013 07:50PM
in openscad does anyone know how to do the following:
import(a.stl);
import(b.stl);
if(intersection(a,b)){
translate(a,10,0,0);
}

its the if intersection check i cant get right?
Re: Automatically Plating STLs within a specified area
March 08, 2013 08:47PM
There is no intersection() function in opencsad. There is a module which makes an object that is the intersection of two as in : -

intersection() {
    import(a.stl); 
    import(b.stl);
}

But you can't use a module in an expression.


[www.hydraraptor.blogspot.com]
Re: Automatically Plating STLs within a specified area
March 08, 2013 08:48PM
The Intersection function is a CSG operation, it gives you the object formed by the overlapping portions of all the objects you feed it. There doesn't seem to be a way to ask if two objects are intersecting. OpenSCAD may not be the right tool for this job.
Re: Automatically Plating STLs within a specified area
March 08, 2013 08:48PM
Is there another way? sad smiley
Re: Automatically Plating STLs within a specified area
March 08, 2013 08:51PM
If you know python, you might be able to use plater.py, part of printrun, as a starting point for the tool you want to create. It can already import, auto-arrange and export a plate of stls, but I don't know how optimal its arrangements are or how much it would take to create something to output a near optimal set of plates from a large set of stls.
Re: Automatically Plating STLs within a specified area
March 08, 2013 08:53PM
To be honest although a near optimum solution would be great I'd be happy with a basic one to start with. I will have a look at plater.py but I'm a java developer so I guess we'll see. I'll post my results tomorrow night (it's 2am here in england).
Thanks for all the help guys.
Sorry, only registered users may post in this forum.

Click here to login