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.
2 Answers
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$– mataliMar 13, 2014 at 13:10
Select all objects with A,A then press CtrlJ to join into one mesh.
obj.to_mesh
but don't include scripting in your tags. $\endgroup$