script running issue...
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