1
$\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$
0
$\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$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.