2
$\begingroup$

I'm not new to Blender but I am new to the scripting aspect, so this isn't something I can throw together yet.. But I need this functionality to speed up my workflow. I would like to ask if the process outlined below is possible to script.

loop through all objects and do the following to each:

  1. In edit mode, select a single edge at the end of the "cylinder" (doesn't matter which side) edge to select
  2. Select edge rings edge rings
  3. Checker de-select checker deselect
  4. Select Edge Loops enter image description here
  5. Delete Edge Loops

I think the first part is probably the hardest.. it needs to "find" and select an edge in the end loop. I would like to learn scripting so I plan to build off of this one here. Help in building this script would be greatly appreciated!

$\endgroup$

1 Answer 1

1
$\begingroup$

Here is what I came up with:

bpy.ops.object.mode_set(mode = 'EDIT') 
bpy.ops.mesh.select_mode(type="VERT")
bpy.ops.mesh.select_all(action = 'DESELECT')
bpy.ops.object.mode_set(mode = 'OBJECT')
obj.data.vertices[0].select = True
obj.data.vertices[1].select = True
bpy.ops.object.mode_set(mode = 'EDIT')
bpy.ops.mesh.select_mode(type="EDGE")

#bpy.ops.mesh.edgering_select
bpy.ops.mesh.loop_multi_select(ring=True)

bpy.ops.mesh.select_nth(nth=1, skip=1)

bpy.ops.mesh.loop_multi_select(ring=False)

bpy.ops.mesh.delete_edgeloop()

It isnt very clean or "Pythonic" so any suggestions would still be appreciated!

$\endgroup$

You must log in to answer this question.

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