Skip to content

Instantly share code, notes, and snippets.

@csaez
Last active December 18, 2015 05:39
Show Gist options
  • Save csaez/5734399 to your computer and use it in GitHub Desktop.
Save csaez/5734399 to your computer and use it in GitHub Desktop.
from wishlib.si import si, sisel, SIWrapper
class Rig(SIWrapper):
def __init__(self, model):
super(Rig, self).__init__(model)
# add your own stuff here
pass
@property
def members(self):
if not hasattr(self, "_members"):
self._members = list()
return self._members
@classmethod
def new(cls, name):
model = si.ActiveSceneRoot.AddModel(None, name)
return cls(model)
@SIWrapper.auto_update
def add_member(self, member):
self.obj.AddChild(member)
self.members.append(member)
if not sisel.Count:
# create a new rig, standard stuff...
rig = Rig.new("AwesomeRig")
for name in ("l_leg", "r_leg", "l_arm", "r_arm", "spine", "head"):
module = si.ActiveSceneRoot.AddNull(name)
rig.add_member(module)
si.SelectObj(rig.obj)
else:
# get rig from selection, attributes are automagically initialized using
# serialized data.
rig = Rig(sisel(0))
for member in rig.members:
print "Name:", member.FullName, ", Type:", member.Type
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment