1
2
3
4
5
6
7
8
9
10
11
12
13from pyfbsdk import *
14
15def IsConnectedTo(to, toConnect):
16 for i in range(to.GetSrcCount()):
17 if to.GetSrc(i) == toConnect:
18 return True
19 return False
20
21
22def AssignRigidBodyToSelectedModels(rigidBody):
23
24 lModelList = FBModelList()
26
27 if len( lModelList ) == 0:
28 FBMessageBox(
"Message",
"Nothing selected",
"OK",
None,
None )
29 else:
30 modifiedmodels = []
31 for model in lModelList:
32
33 if not IsConnectedTo(model, rigidBody):
34 model.ConnectSrc(rigidBody)
35 modifiedmodels.append(model)
36
37 lMessage = "Models modified:"
38 lMessage += ''.join( map( lambda pModel: "\n" + pModel.Name, modifiedmodels ))
40
41
42
43for p
in FBSystem().Scene.PhysicalProperties:
44 if p.ClassName() == "KxL_RigidBodyProperty":
45
46 AssignRigidBodyToSelectedModels(p)
47 break
Provides access to the underlying system, and the MotionBuilder scene.
Definition: pyfbsdk_generated.h:18771
FBGetSelectedModels(FBModelList pList, FBModel pParent=None, bool pSelected=True, bool pSortBySelectOrder=False)
Find all models that are selected (if pSelected is true) Searches recursively from a root model for m...
int FBMessageBox(str pBoxTitle, str pMessage, str pButton1Str, str pButton2Str=None, str pButton3Str=None, int pDefaultButton=0, int pScrolledMessage=0)
Dialog popup box.