python script for blender: select every nth vertex of a mesh
i learnt python today. love it. much like blender in quirkiness factor. wrote this simple script to do just what it say it do:
#!BPY
“”"
Name: ‘Select Every Nth Vert’
Blender: 244
Group: ‘Mesh’
Tooltip: ‘Selects every nth vertex of active mesh’
“”"
#12/21/07 dustractor@gmail.com
import Blender
from Blender.BGL import *
from Blender.Draw import *
from Blender.Window import *
from Blender.Mesh import *
import BPyMessages
import bpy
# Events
EVENT_NOEVENT = 1
EVENT_DRAW = 2
EVENT_EXIT = 3
global ator
global initator
initator=2
######################################################
# GUI drawing
######################################################
def draw():
global ator, initator
global EVENT_NOEVENT,EVENT_DRAW,EVENT_EXIT
########## Titles
glClear(GL_COLOR_BUFFER_BIT)
glRasterPos2d(8, 103)
Text(“selection iterator”)
######### Parameters GUI Buttons
glRasterPos2d(8, 83)
Text(“Parameters:”)
ator = Number(“ator: “, EVENT_NOEVENT, 10, 55, 210, 18,
initator, 2, 99, “Number to iterate by “);
######### Draw and Exit Buttons
Button(“Draw”,EVENT_DRAW , 10, 10, 80, 18)
Button(“Exit”,EVENT_EXIT , 140, 10, 80, 18)
def event(evt, val):
if (evt == QKEY and not val):
Exit()
def bevent(evt):
global ator,initator
global EVENT_NOEVENT,EVENT_DRAW,EVENT_EXIT
######### Manages GUI events
if (evt == EVENT_EXIT):
Exit()
elif (evt== EVENT_DRAW):
initator=ator.val
theIteration()
Register(draw, event, bevent)
######################################################
# Main Body
######################################################
def theIteration():
global ator
iter=0
t = Blender.sys.time()
sce = bpy.data.scenes.active
ob_act = sce.objects.active
if not ob_act or ob_act.type != ‘Mesh’:
BPyMessages.Error_NoMeshActive()
return
is_editmode = Blender.Window.EditMode()
if is_editmode:
Blender.Window.EditMode(0)
Blender.Window.WaitCursor(1)
theMesh = ob_act.getData(mesh=1)
for v in theMesh.verts:
iterator=iter%ator.val
iter+=1
if iterator==1:
v.sel=1
if iterator==0:
v.sel=0
if is_editmode:
Blender.Window.EditMode(1)
print ‘My Script finished in %.2f seconds’ % (Blender.sys.time()-t)
Blender.Window.WaitCursor(0)
Redraw()


The weblayout is totally wrong
The indentation of Python has vanished
The quotes and dubbelqotes behave wrong, if copied (in FF) and pasted into an editor.
After .. it works great!
Very nice! (to learn)
thanks i didnt login almost all of 08 or 09 but its nice to know somebody got some use out of that.