## 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