1
$\begingroup$

I am looking for an addon/script that packs multiple objects together to take as little scene space as possible, this is for 3D Printing services that charge per bounding box of all objects in a file (objects arranged as neatly as possible without too much empty space in between).

The feature is present in an expensive 3D Printing software called Magics.

$\endgroup$
2
$\begingroup$

I think there's not (yet) such addon, the only 3d printing related one (included by not enabled by default) has not this feature, but I guess it also depends on some printer spec, like the printing area shape, maybe other things, like the printer type (a powder sintering printer can print things in a very different way than a fdm printer, eg).

The only thing you can do now in Blender, if it helps you, is to use the UV map "pack island" tool to simulate the best layout from the objects you have in the scene, maybe.

If you can find out what is the shape for each object that has to fit (it could depend a alot on the objects shapes), you can create a plane for each object shaped like its limits.

Then merge those separate planes together, in a single object and then UV unwrap them. The UV/image has a "pack islands" that can optimize the UV maps on the texture space.

Here I did it with some basic shapes, just to get you the idea:

enter image description here

I just used the largest horizontal face for each separate mesh. I know it could not be realistic, is just to give you the idea.

If you can consider the texture space as your printer printing bed (ie: only square print beds), the UV can be optimized to fill it (you can also scale them).

then the "pack islands" could help you to find the best way to pack them in that space. eg going from

enter image description here

to

enter image description here

then, of course you have to replicate that layout in the 3d view to get the same suggested placement. If this helps you you can also export the uw layout as .svg and then import tht svg into blender, to help you as a reference (eg: snapping)

enter image description here

enter image description here

$\endgroup$
  • $\begingroup$ This is essentially 2D packing what you presented, quite useful indeed. Unfortunately not in my case. My model is a large scale model of a property, to be printed on an SLS machine, I had to split it into parts so it fits on the printer's bed. I've worked on a couple projects like this one and packing objects is always quite tedious but necessary to save money (the service i use charges per bounding box, all 36 of my objects are packed in one STL). some of the objects are L shaped or at an angle so the 2d technique doesn't quite work with them. $\endgroup$ – Wojtek Grabczak Nov 27 '15 at 15:29
  • $\begingroup$ I suspected that... is it this kind of thing en.wikipedia.org/wiki/Bin_packing_problem ? If yes, it seems to be a NP-complex class of problem... $\endgroup$ – m.ardito Nov 27 '15 at 15:42
  • $\begingroup$ but probably more complex, as shape has to be taken into account, like cimar.mae.ufl.edu/CIMAR/pages/thesis/Pasha_A_CISE.pdf or researchgate.net/publication/… $\endgroup$ – m.ardito Nov 27 '15 at 15:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.