## ChainBone

Object Hierarchy | Related C++ Class: ChainBone

### Inheritance

###

SIObject

ProjectItem

SceneItem

X3DObject

ChainElement

ChainBone

### Introduced

v1.5

### Description

The ChainBone object is part of a skeleton chain.

### Methods

Add2DChain | Add3DChain | AddAnnotation | AddCamera
AddCameraRig | AddChild | AddControl | AddCustomOp
AddCustomProperty | AddFxTree | AddGeometry | AddICEAttribute
AddLattice | AddLight | AddLightRig | AddMaterial
AddModel | AddNull | AddNurbsCurve | AddNurbsCurveList
AddNurbsCurveList2 | AddNurbsSurface | AddNurbsSurfaceMesh | AddNurbsSurfaceMesh2
AddPolygonMesh | AddPrimitive | AddProperty | AddScriptedOp
AddScriptedOpFromFile | AnimatedParameters2 | ApplyEnvelope | BelongsTo
EvaluateAt | FindChild | FindChild2 | FindChildren
FindChildren2 | GetActivePrimitive2 | GetActivePrimitive3 | GetBoundingBox
GetICEAttributeFromName | GetLocalPropertyFromName | GetLocalPropertyFromName2 | GetModels2
GetPropertyFromName | GetPropertyFromName2 | GetStaticKinematicState | HasStaticKinematicState
IsA | IsAnimated2 | IsClassOf | IsEqualTo
IsKindOf | IsLocked | IsNodeAnimated | IsSelected
LockOwners | NodeAnimatedParameters | RemoveChild | RemoveFromParent
RemoveICEAttribute | SetAsSelected | SetCapabilityFlag | SetLock
SetMaterial | ShapeAnimatedClusters | TaggedParameters | UnSetLock

### Properties

ActivePrimitive | Application | BranchFlag | Capabilities
Categories | Children | Effector | Envelopes
EvaluationID | Families | FullName | Help
HierarchicalEvaluationID | ICEAttributes | Index | Joint
Kinematics | LocalProperties | LocalRotation | LocalScaling
LocalTranslation | LockLevel | LockMasters | LockType
Material | Materials | Model | Models
Name | NestedObjects | ObjectID | Origin
OriginPath | Owners | PPGLayout | Parameters
Parent | Parent3DObject | Primitives | Properties
Root | Selected | Type |

### Examples

#### VBScript Example

    'VBScript example

    'effector for first bone

    set oEff1 = XSIMath.CreateVector3()

    oEff1.x = 3

    oEff1.y = 3

    oEff1.z = 3

    'effector for second bone

    set oEff2 = XSIMath.CreateVector3()

    oEff2.x = 6

    oEff2.y = 0

    oEff2.z = 0

    'construct skeleton

    set oRoot = ActiveProject.ActiveScene.Root

    set oChain = oRoot.Add3dChain()

    set oBone1 = oChain.AddBone(oEff1)

    set oBone2 = oChain.AddBone(oEff2)

    'get the root

    set oChRoot = oChain.Root

    oChRoot.AddBone Array(10, 0, 0)

    LogMessage oChRoot.Name

    LogMessage typename(oChRoot)

    for each oBone in oChRoot.Bones

    	LogMessage "Name of bone: " & oBone.Name & "	class: " & typename(oBone)

    next

### See Also

ChainRoot ChainEffector ChainRoot.AddBone