5
$\begingroup$

Is there an option in blender to export (or list out) certain properties of all (selected) objects?

My case is: I have modelled a furniture using real size, metric measurements. Now I want to hand a list of sheet sizes over (x-y-z dimensions of objects in blender) to the carpenter so he would be able to cut the correct sheets for me.

I am looking for an option to do all inside blender, if that isn't possible, an option of some kind of export would be acceptable.

$\endgroup$
1

1 Answer 1

10
$\begingroup$

It's pretty easy with if you know a little Python.

# import the necessary modules we need
# in our case, blender's python API and python's os module
import bpy, os

# get the current selection
selection = bpy.context.selected_objects

# initialize a blank result variable
result = ""

# iterate through the selected objects
for sel in selection:
    # get the current object's dimensions
    dims = sel.dimensions
    # write the selected object's name and dimensions to a string
    result += "%s - %.03fm x %.03fm x %.03fm\n" % (sel.name, dims.x, dims.y, dims.z)

# get path to render output (usually /tmp\)
tempFolder = os.path.abspath (bpy.context.scene.render.filepath)
# make a filename
filename = os.path.join (tempFolder, "newfile.txt")
# confirm path exists
os.makedirs(os.path.dirname(filename), exist_ok=True)
# open a file to write to
file = open(filename, "w")
# write the data to file
file.write(result)
# close the file
file.close()

Copy and paste the above into Blender's Text editor and press Run Script (Alt+P). It will save the data (object name and dimensions) into your tmp folder.

$\endgroup$
4
  • $\begingroup$ Thanks Keith, I have just tried to run the script and it says "Python script fail. Look in the console for now.." $\endgroup$
    – ultiMathei
    Commented Nov 8, 2015 at 16:54
  • $\begingroup$ great script, but may be unit scale is missing of the scene. $\endgroup$
    – tschmit007
    Commented Nov 16, 2020 at 11:27
  • $\begingroup$ This did exactly what I wanted it to do, except I replaced selection = bpy.context.selected_objects with selection = scene.data.objects and used a Find and Replace All function in my text editor on the output file to replace the punctuation with commas to make it valid CSV, and imported into Libreoffice Calc. $\endgroup$
    – David Fogg
    Commented Dec 6, 2020 at 20:47
  • $\begingroup$ how about in inches? :) $\endgroup$ Commented Jan 28, 2022 at 3:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .