updated 21 september 2012 for blender 2.6.
Hoping to figure this thing out in more detail, here's a snippet that seems to work. It also gives most basic insight into how to translate a Vector using Euler (transform?)
Hoping to figure this thing out in more detail, here's a snippet that seems to work. It also gives most basic insight into how to translate a Vector using Euler (transform?)
import bpy from mathutils import Vector, Euler myTrans = Vector((0.0,0.0,.5)) myEuler = Euler((0.0, 0.3, 0.0),'XYZ') for i in range(14): myVec = Vector((0.0, 0.3, 0.0)) bpy.ops.mesh.extrude_region_move(TRANSFORM_OT_translate={"value":myTrans}) bpy.ops.transform.rotate(value=(0.3,), axis=myVec) myTrans.rotate(myEuler)
- Add a new circle
- select the edges
- run the script.
Here is a slight modification, it produces a spiral
import bpy from mathutils import Vector, Euler myTrans = Vector((0.0,0.0,.5)) myEuler = Euler((0.2, 0.3, 0.0),'XYZ') for i in range(34): myVec = Vector((0.2, 0.3, 0.0)) bpy.ops.mesh.extrude_region_move(TRANSFORM_OT_translate={"value":myTrans}) bpy.ops.transform.rotate(value=(0.35,), axis=myVec) myTrans.rotate(myEuler)
while, the one below produces a more spring like coil.
import bpy from mathutils import Vector, Euler translation = Vector((0.0, 0.0, .5)) for i in range(134): t_dict = {"value": translation} bpy.ops.mesh.extrude_region_move(TRANSFORM_OT_translate=t_dict) bpy.ops.transform.rotate(value=(0.358,), axis=Vector((0.2, 0.3, 0.0))) translation.rotate(Euler((0.2, 0.3, 0.0),'XYZ'))i applied some subsurf to it later.