I would like to have all the geometry of a scene merged in one mesh. It should include curves, fonts, group instances, particles, with applied modifiers, etc... obj.to_mesh doesn't work for group instances for example.

  • $\begingroup$ Is this a question about scripting? you mention obj.to_mesh but don't include scripting in your tags. $\endgroup$ – ideasman42 Mar 13 '14 at 12:38
  • $\begingroup$ Yes it was actually about scripting, but your answer on how to do it in viewport is also interesting for other people I guess. I add the Python tag $\endgroup$ – matali Mar 13 '14 at 13:13
  • $\begingroup$ in that case I think there are better ways to do this then, also interested why you would need to do this? $\endgroup$ – ideasman42 Mar 13 '14 at 13:33
  • $\begingroup$ The modifier stack has some limitation regarding order. I'm trying to shrinkwrap a mesh on another mesh that has an animated boolean and particles. Problem is the shrinkwrap applies after the boolean and gives strange/messy results as there is nothing to shrinkwrap on (2 modifier stacks, so...). Also particles disappear instantly too being spawned or not but in no way disappearing slowly like the rest. I guess the modifier Stack has to be changed to allow user to choose the order in which modifiers apply. In the meantime I didn't found another way (memory and time consuming but it works) $\endgroup$ – matali Mar 13 '14 at 14:05
  • $\begingroup$ better than a long test, the file (without particles as my PC crash if I try to add one system to the displaced mesh): pasteall.org/blend/27520 $\endgroup$ – matali Mar 13 '14 at 14:18

First make all duplis real, then convert all to mesh and join.

  • Object -> Apply -> Make Duplicates Real
  • Object -> Convert to -> Mesh (This applies mesh modifiers too)
  • Select the base object to join into (Shift+RMB)
  • Object -> Join

Shorthand: Ctrl+Shift+A -> Alt+C, M -> Shift+RMB -> Ctrl+J.

Note, You might want to first un-hide all objects, view all layers and make any linked data local too, thats if you want to apply to the entire scene and not just what you see.

  • $\begingroup$ Works well, thanks for the Shorthand, like that :) @ideasman42 After usage of the method in real case, here are some remarks: Make duplicate real must sometime be done twice (dupligroups of objects with particles for example). Duplicates with lots of instances (1 000 000 of small spheres for example) won't convert in acceptable timeframe. Maybe add a warning (it may freeze the computer/crash Blender) in the answer until Blender get's better support of many objects. $\endgroup$ – matali Mar 13 '14 at 13:10

Select all objects with A,A then press CtrlJ to join into one mesh.


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.