Hi I'm having some problems with my script/s when trying to run it through another file. actually even on it's own with a single button to launch it causes the same issue. Basically it creates an IK spline with helpers using the IK Spline Control modifier and the problem si when running as a function causes the helpers to all be set to [0,0,0]. Thsi confuses me as when evaluating teh script on it's own everything works perfectly. here is the script that is the problem.. any additional pointers would be welcomed.
-------------------------------------------------------------------------------------------------------
--START Bone Creation Section with parenting
-------------------------------------------------------------------------------------------------------
hipBone = BoneSys.createBone [0,125,160] [0,75,160] [-90,0,0]
hipBone.name = "Hips"
hipBone.width = 4.0
hipBone.height = 4.0
hipBone.taper = 45
hipBone.sidefins = false
hipBone.frontfin = true
hipBoneNub = BoneSys.createBone [0,75,160] [0,71,160] [-90,0,0]
hipBoneNub.name = "Hips_Nub"
hipBoneNub.width = 4.0
hipBoneNub.height = 4.0
hipBoneNub.taper = 45
hipBoneNub.sidefins = false
hipBoneNub.frontfin = false
spineBone1 = BoneSys.createBone [0,75,160] [0,25,160] [-90,0,0]
spineBone1.name = "Spine01"
spineBone1.width = 4.0
spineBone1.height = 4.0
spineBone1.taper = 45
spineBone1.sidefins = false
spineBone1.frontfin = true
spineBone1Nub = BoneSys.createBone [0,25,160] [0,21,160] [-90,0,0]
spineBone1Nub.name = "Spine01_Nub"
spineBone1Nub.width = 4.0
spineBone1Nub.height = 4.0
spineBone1Nub.taper = 45
spineBone1Nub.sidefins = false
spineBone1Nub.frontfin = false
spineBone2 = BoneSys.createBone [0,25,160] [0,-25,160] [-90,0,0]
spineBone2.name = "Spine02"
spineBone2.width = 4.0
spineBone2.height = 4.0
spineBone2.taper = 45
spineBone2.sidefins = false
spineBone2.frontfin = true
spineBone2Nub = BoneSys.createBone [0,-25,160] [0,-29,160] [-90,0,0]
spineBone2Nub.name = "Spine02_Nub"
spineBone2Nub.width = 4.0
spineBone2Nub.height = 4.0
spineBone2Nub.taper = 45
spineBone2Nub.sidefins = false
spineBone2Nub.frontfin = false
spineBone3 = BoneSys.createBone [0,-25,160] [0,-75,160] [-90,0,0]
spineBone3.name = "Spine03"
spineBone3.width = 4.0
spineBone3.height = 4.0
spineBone3.taper = 45
spineBone3.sidefins = false
spineBone3.frontfin = true
spineBone3Nub = BoneSys.createBone [0,-75,160] [0,-79,160] [-90,0,0]
spineBone3Nub.name = "Spine03_Nub"
spineBone3Nub.width = 4.0
spineBone3Nub.height = 4.0
spineBone3Nub.taper = 45
spineBone3Nub.sidefins = false
spineBone3Nub.frontfin = false
spineBone4 = BoneSys.createBone [0,-75,160] [0,-125,160] [-90,0,0]
spineBone4.name = "Spine04"
spineBone4.width = 4.0
spineBone4.height = 4.0
spineBone4.taper = 45
spineBone4.sidefins = false
spineBone4.frontfin = true
spineBone4Nub = BoneSys.createBone [0,-125,160] [0,-129,160] [-90,0,0]
spineBone4Nub.name = "Spine04_Nub"
spineBone4Nub.width = 4.0
spineBone4Nub.height = 4.0
spineBone4Nub.taper = 45
spineBone4Nub.sidefins = false
spineBone4Nub.frontfin = false
hipBoneNub.parent = hipBone
spineBone1Nub.parent = spineBone1
spineBone2Nub.parent = spineBone2
spineBone3Nub.parent = spineBone3
spineBone4Nub.parent = spineBone4
-------------------------------------------------------------------------------------------------------
--END Bone Creation Section with parenting
-------------------------------------------------------------------------------------------------------
--START Spline drawing and Helper creation Functions and Point Helper naming.
-------------------------------------------------------------------------------------------------------
function drawLine pointA pointB pointC pointD =
(
ss = SplineShape pos:pointA
addNewSpline ss
addKnot ss 1 #smooth #curve PointA
addKnot ss 1 #smooth #curve PointB
addknot ss 1 #smooth #curve PointC
addknot ss 1 #smooth #curve PointD
updateShape ss
ss
)
ikSpline = drawLine [0,125,160] [0,40,160] [0,-40,160] [0,-125,160]
ikSpline.name = "IK_Spline"
addmodifier ikSpline (Spline_IK_Control())
ikSpline.Spline_IK_Control.createhelper 4
ikSpline.Spline_IK_Control.linkTypes = 2
arrayIKSpline = ikSpline.Spline_IK_Control.helper_list
ikNodeSpline = drawLine [0,125,200] [0,40,200] [0,-40,200] [0,-125,200]
ikNodeSpline.name = "Upnode_Spline"
addmodifier ikNodeSpline (Spline_IK_Control())
ikNodeSpline.Spline_IK_Control.createhelper 4
ikNodeSpline.Spline_IK_Control.linkTypes = 2
arrayIKNodeSpline = ikNodeSpline.Spline_IK_Control.helper_list
function createHelpers position =
(
ch1 = circle radius: 15 pos: position
ch2 = circle radius: 15 pos: position
ch2.rotation.x_rotation = 90
ch3 = circle radius: 15 pos: position
ch3.rotation.x_rotation = 90
ch3.rotation.z_rotation = 90
convertToSplineShape ch1
convertToSplineShape ch2
convertToSplineShape ch3
addAndweld ch1 ch2 0.0
addAndweld ch1 ch3 0.0
updateshape ch1
ch1
)
ctrlSpine1 = createHelpers [0,125,240]
ctrlSpine1.name = "Ctrl_Spine1"
ctrlSpine2 = createHelpers [0,40,240]
ctrlSpine2.name = "Ctrl_Spine2"
ctrlSpine3 = createHelpers [0,-40,240]
ctrlSpine3.name = "Ctrl_Spine3"
ctrlSpine4 = createHelpers [0,-125,240]
ctrlSpine4.name = "Ctrl_Spine4"
BonePos1 = point name: "node_Bone_Pos1" size: 10
Bonepos2 = point name: "node_Bone_Pos2" size: 10
BonePos3 = point name: "node_Bone_Pos3" size: 10
BonePos4 = point name: "node_Bone_Pos4" size: 10
BonePos5 = point name: "node_Bone_Pos5" size: 10
BonePos6 = point name: "node_Bone_Pos6" size: 10
arrayIKSpline[1].name = "IK_Spline_Vertex1"
arrayIKSpline[2].name = "IK_Spline_Vertex2"
arrayIKSpline[3].name = "IK_Spline_Vertex3"
arrayIKSpline[4].name = "IK_Spline_Vertex4"
arrayIKNodeSpline[1].name = "Upnode_Spline_Vertex1"
arrayIKNodeSpline[1].parent = arrayIKSpline[1]
arrayIKNodeSpline[2].name = "Upnode_Spline_Vertex2"
arrayIKNodeSpline[2].parent = arrayIKSpline[2]
arrayIKNodeSpline[3].name = "Upnode_Spline_Vertex3"
arrayIKNodeSpline[3].parent = arrayIKSpline[3]
arrayIKNodeSpline[4].name = "Upnode_Spline_Vertex4"
arrayIKNodeSpline[4].parent = arrayIKSpline[4]
-------------------------------------------------------------------------------------------------------
--END Spline drawing and Helper creation Functions
-------------------------------------------------------------------------------------------------------
--START Position and Orientation Constraints for Spline Knots
-------------------------------------------------------------------------------------------------------
pc = Position_Constraint()
arrayIKSpline[1].pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget ctrlSpine1 100
arrayIKSpline[1].pos.controller.relative = true
oc = Orientation_Constraint()
arrayIKSpline[1].rotation.controller = oc
rotationConstraintInterface = oc.constraints
rotationConstraintInterface.appendtarget ctrlSpine1 100
pc = Position_Constraint()
arrayIKSpline[2].pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget ctrlSpine2 100
arrayIKSpline[2].pos.controller.relative = true
oc = Orientation_Constraint()
arrayIKSpline[2].rotation.controller = oc
rotationConstraintInterface = oc.constraints
rotationConstraintInterface.appendtarget ctrlSpine2 100
pc = Position_Constraint()
arrayIKSpline[3].pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget ctrlSpine3 100
arrayIKSpline[3].pos.controller.relative = true
oc = Orientation_Constraint()
arrayIKSpline[3].rotation.controller = oc
rotationConstraintInterface = oc.constraints
rotationConstraintInterface.appendtarget ctrlSpine3 100
pc = Position_Constraint()
arrayIKSpline[4].pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget ctrlSpine4 100
arrayIKSpline[4].pos.controller.relative = true
oc = Orientation_Constraint()
arrayIKSpline[4].rotation.controller = oc
rotationConstraintInterface = oc.constraints
rotationConstraintInterface.appendtarget ctrlSpine4 100
-------------------------------------------------------------------------------------------------------
--END Position Constraints for Spline Knots
-------------------------------------------------------------------------------------------------------
--START Path Constraints for Bone position Points
-------------------------------------------------------------------------------------------------------
pathc = Path_Constraint()
BonePos1.pos.controller = pathc
pathc.path = ikSpline
pathc.percent = 0
pathc = Path_Constraint()
BonePos2.pos.controller = pathc
pathc.path = ikSpline
pathc.percent = 20
pathc = Path_Constraint()
BonePos3.pos.controller = pathc
pathc.path = ikSpline
pathc.percent = 40
pathc = Path_Constraint()
BonePos4.pos.controller = pathc
pathc.path = ikSpline
pathc.percent = 60
pathc = Path_Constraint()
BonePos5.pos.controller = pathc
pathc.path = ikSpline
pathc.percent = 80
pathc = Path_Constraint()
BonePos6.pos.controller = pathc
pathc.path = ikSpline
pathc.percent = 100
deletekeys BonePos1
deletekeys BonePos2
deletekeys BonePos3
deletekeys BonePos4
deletekeys BonePos5
deletekeys BonePos6
-------------------------------------------------------------------------------------------------------
--END Path Constraints for Bone position Points
-------------------------------------------------------------------------------------------------------
--START Bone Position and Look At Constraints.
-------------------------------------------------------------------------------------------------------
pc = Position_Constraint()
hipBone.pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget BonePos1 100
lc = LookAT_Constraint()
hipbone.rotation.controller = lc
rotationconstraintInterface = lc.constraints
rotationconstraintInterface.appendtarget BonePos2 100
hipBone.rotation.controller.viewline_length_abs = off
pc = Position_Constraint()
hipBoneNub.pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget BonePos2 100
pc = Position_Constraint()
spineBone1.pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget BonePos2 100
lc = LookAT_Constraint()
spineBone1.rotation.controller = lc
rotationconstraintInterface = lc.constraints
rotationconstraintInterface.appendtarget BonePos3 100
spineBone1.rotation.controller.viewline_length_abs = off
pc = Position_Constraint()
spineBone1Nub.pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget BonePos3 100
pc = Position_Constraint()
spineBone2.pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget BonePos3 100
lc = LookAT_Constraint()
spineBone2.rotation.controller = lc
rotationconstraintInterface = lc.constraints
rotationconstraintInterface.appendtarget BonePos4 100
spineBone2.rotation.controller.viewline_length_abs = off
pc = Position_Constraint()
spineBone2Nub.pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget BonePos4 100
pc = Position_Constraint()
spineBone3.pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget BonePos4 100
lc = LookAT_Constraint()
spineBone3.rotation.controller = lc
rotationconstraintInterface = lc.constraints
rotationconstraintInterface.appendtarget BonePos5 100
spineBone3.rotation.controller.viewline_length_abs = off
pc = Position_Constraint()
spineBone3Nub.pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget BonePos5 100
hhh
pc = Position_Constraint()
spineBone4.pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget BonePos5 100
lc = LookAT_Constraint()
spineBone4.rotation.controller = lc
rotationconstraintInterface = lc.constraints
rotationconstraintInterface.appendtarget BonePos6 100
spineBone4.rotation.controller.viewline_length_abs = off
pc = Position_Constraint()
spineBone4Nub.pos.controller = pc
positionConstraintInterface = pc.constraints
positionConstraintInterface.appendtarget BonePos6 100
-------------------------------------------------------------------------------------------------------
--END Bone Position and Look At Constraints.
-------------------------------------------------------------------------------------------------------
--START Upnode Placement, Path Constraints and Bone Setup
-------------------------------------------------------------------------------------------------------
upnodePos1 = point name: "upnode_Pos1" size: 10
upnodepos2 = point name: "upnode_Pos2" size: 10
upnodePos3 = point name: "upnode_Pos3" size: 10
upnodePos4 = point name: "upnode_Pos4" size: 10
upnodePos5 = point name: "upnode_Pos5" size: 10
pathc = Path_Constraint()
upnodePos1.pos.controller = pathc
pathc.path = ikNodeSpline
pathc.percent = 10
pathc = Path_Constraint()
upnodePos2.pos.controller = pathc
pathc.path = ikNodeSpline
pathc.percent = 30
pathc = Path_Constraint()
upnodePos3.pos.controller = pathc
pathc.path = ikNodeSpline
pathc.percent = 50
pathc = Path_Constraint()
upnodePos4.pos.controller = pathc
pathc.path = ikNodeSpline
pathc.percent = 70
pathc = Path_Constraint()
upnodePos5.pos.controller = pathc
pathc.path = ikNodeSpline
pathc.percent = 90
deletekeys upnodePos1
deletekeys upnodePos2
deletekeys upnodePos3
deletekeys upnodePos4
deletekeys upnodePos5
hipBone.rotation.controller.upnode_world = off
hipBone.rotation.controller.pickUpNode = upnodePos1
hipBone.rotation.controller.upnode_ctrl = 0
hipBone.rotation.controller.StoUP_axis = 1
spineBone1.rotation.controller.upnode_world = off
spineBone1.rotation.controller.pickUpNode = upnodePos2
spineBone1.rotation.controller.upnode_ctrl = 0
spineBone1.rotation.controller.StoUP_axis = 1
spineBone2.rotation.controller.upnode_world = off
spineBone2.rotation.controller.pickUpNode = upnodePos3
spineBone2.rotation.controller.upnode_ctrl = 0
spineBone2.rotation.controller.StoUP_axis = 1
spineBone3.rotation.controller.upnode_world = off
spineBone3.rotation.controller.pickUpNode = upnodePos4
spineBone3.rotation.controller.upnode_ctrl = 0
spineBone3.rotation.controller.StoUP_axis = 1
spineBone4.rotation.controller.upnode_world = off
spineBone4.rotation.controller.pickUpNode = upnodePos5
spineBone4.rotation.controller.upnode_ctrl = 0
spineBone4.rotation.controller.StoUP_axis = 1
-------------------------------------------------------------------------------------------------------
--END Upnode Placement, Path Constraints and Bone Setup
-------------------------------------------------------------------------------------------------------
Thanks in advance