Hello,<br>While developing a script (<a href="http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/3D_interaction/Enhanced_3D_Cursor">http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/3D_interaction/Enhanced_3D_Cursor</a>), I found out that I have to emulate some Blender functionality via indirect means. To make things simpler for script developers, I propose the following extensions to the Blender Python API:<br>
<br>* Make unified access to both predefined and custom TransformOrientations:<br>** Scene.orientations should return a collection containing both predefined and custom transform orientations.<br>** Predefined ones are read-only (cannot be removed or modified), but otherwise their name and matrix can be accessed.<br>
** No two orientations should have same name (if there is a conflict, one of the orientations should be automatically renamed, just like other ID blocks do).<br><br>* Introduce a method for creating custom tranform orientations without having to call bpy.ops.transform.create_orientation()<br>
** For example: Scene.orientations.new(name, [matrix])<br><br>* Introduce a method for getting location of current pivot (or, better, any kind of pivot):<br>** SpaceView3D.pivot_point_location([pivot_type]) -- returns the location of the specified pivot point in global coordinates; if pivot_type is not specified, active pivot point is returned.<br>
<br>* Add a drawing callback that gets called after rendering of common 3D objects, but before rendering X-Ray objects.<br>** E.g. 'PRE_XRAY'<br><br>* Add a property definition for storing references to ID blocks (Objects, Materials, etc.):<br>
** E.g. bpy.props.IDBlockProperty(type="", name="", description="", options={'ANIMATABLE'}, update=None)<br><br>dairin0d<br>