I'm looking at an export script and I see where it extracts the various 3d properties from an object named "me" like these 3 lines:

me = bpy.context.object.data #EDIT: This is what "me" is, I think
me_verts = me.vertices[:]
materials = me.materials[:]
faceuv = len(me.uv_textures) > 0

Which it goes on to format and write to a file. Where can I find a list of all the things I can access like this? I found the python API but I haven't found this specifically.


1 Answer 1

  • The export and import scripts are indeed an excellent form of documentation.
  • There is a massive amount of documentation. This includes a quickstart and API overview. More importantly it has a good search box (warning: avoid including parenthesis when searching functions).
  • Interactively you can use the python console to investigate which properties are available on a given reference. It has a ctrl+space auto-complete (auto reveal).

in the console for instance

>>> obj = bpy.context.object   # the current active object
>>> obj = bpy.data.objects['Cube']   # object specified by name
>>> obj.

if you type obj. and hit ctrl+space you'll see all the attributes of the object at that level. This list is long, and you can scroll the sidebar

enter image description here

As you state me = obj.data, the me named variable is just a convention, it could be called whatever, but it's handy to stick to the convention.

obj.data.<ctrl+space> looks like

enter image description here

If you want to see information about the mesh you might do

# get coordinates of 1st vertex (index=0)
>>> obj.data.vertices[0].co   

# indices that make up the first polygon in the mesh
>>> obj.data.polygons[0].vertices[:]  

enter image description here

Note that the ctrl+space feature will show all attributes starting with the letter v if you do obj.data.v<ctrl+space> like this:

enter image description here

This becomes useful once you get a mental picture of the API, it can speed up navigation big time.

  • $\begingroup$ The ctrl-space thing was immensely helpful, having the exact names will make finding documentation so much easier. $\endgroup$
    – gunfulker
    Apr 29, 2015 at 18:04

You must log in to answer this question.

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