--- a
+++ b/Tools/ModelUtilities/Mocap/OptimizeAnthropometricsOnOffV3.any
@@ -0,0 +1,306 @@
+
+
+#class_template OptimizeAnthropometricsOnOff (PelvisDepthOnOff, PelvisWidthOnOff, ThighLengthOnOff,ShankLengthOnOff,FootLengthOnOff,HeadHeightOnOff,TrunkHeightOnOff ,UpperArmLengthOnOff,LowerArmLengthOnOff ,HandLengthOnOff, KneeAxisOnOff,Model1, Model2, Model3 ){
+
+  
+  
+  
+  
+  AnyFolder &ref1= Main.TrialSpecificData.Anthropometrics;
+  ref1={
+    
+    
+    #if PelvisWidthOnOff!="On" 
+    AnyVar PelvisWidth = DesignVar(PelvisWidthIni);
+    #else 
+    #if Model3!=1
+    AnyVar PelvisWidth = (PelvisWidthIni); 
+    #else
+    AnyVar PelvisWidth = DesignVar(PelvisWidthIni);  
+    #endif
+    #endif
+    
+    #if PelvisDepthOnOff!="On" 
+    AnyVar PelvisDepth = DesignVar(PelvisDepthIni);
+    #else 
+    #if Model3!=1
+    AnyVar PelvisDepth = (PelvisDepthIni); 
+    #else
+    AnyVar PelvisDepth = DesignVar(PelvisDepthIni);  
+    #endif
+    #endif
+
+    #if ThighLengthOnOff !="On"
+    AnyVar ThighLength = DesignVar(ThighLengthIni);
+    #else
+    #if Model3!=1
+    AnyVar ThighLength =  (ThighLengthIni);
+    #else 
+    AnyVar ThighLength = DesignVar(ThighLengthIni);
+    #endif
+    #endif    
+
+    
+    #if ShankLengthOnOff !="On" 
+    AnyVar ShankLength =  DesignVar(ShankLengthIni);
+    #else 
+    #if Model3!=1
+    AnyVar ShankLength =  (ShankLengthIni);
+    #else 
+    AnyVar ShankLength =  DesignVar(ShankLengthIni);
+    #endif
+        #endif
+    
+    #if FootLengthOnOff !="On"
+    AnyVar FootLength =  DesignVar(FootLengthIni);
+    #else
+    #if Model3!=1
+    AnyVar FootLength =  (FootLengthIni);
+    #else    
+    AnyVar FootLength =  DesignVar(FootLengthIni);
+    #endif
+        #endif
+    
+    
+    #if HeadHeightOnOff !="On"
+    AnyVar HeadHeight =  DesignVar(HeadHeightIni );
+    #else
+    #if Model3!=1
+    AnyVar HeadHeight =  (HeadHeightIni );
+       #else 
+    AnyVar HeadHeight =  DesignVar(HeadHeightIni );
+    #endif
+        #endif
+    
+    #if TrunkHeightOnOff !="On"
+    AnyVar TrunkHeight =  DesignVar(TrunkHeightIni);
+    #else
+    #if Model3!=1
+    AnyVar TrunkHeight =  (TrunkHeightIni);
+       #else 
+    AnyVar TrunkHeight =  DesignVar(TrunkHeightIni);
+    #endif
+        #endif
+        
+    #if UpperArmLengthOnOff!="On"
+    AnyVar UpperArmLength =  DesignVar(UpperArmLengthIni);
+    #else
+    #if Model3!=1
+    AnyVar UpperArmLength =  (UpperArmLengthIni);
+       #else 
+    AnyVar UpperArmLength =  DesignVar(UpperArmLengthIni);
+    #endif
+        #endif
+        
+    #if LowerArmLengthOnOff !="On"
+    AnyVar LowerArmLength =  DesignVar(LowerArmLengthIni);
+    #else
+    #if Model3!=1
+    AnyVar LowerArmLength =  (LowerArmLengthIni);
+       #else 
+    AnyVar LowerArmLength =  DesignVar(LowerArmLengthIni);
+    #endif
+    #endif    
+    
+    
+    #if HandLengthOnOff !="On"
+    AnyVar HandLength =  DesignVar(HandLengthIni);
+    #else
+    #if Model3!=1
+    AnyVar HandLength =  (HandLengthIni);
+       #else 
+    AnyVar HandLength =  DesignVar(HandLengthIni);
+    #endif
+        #endif
+
+         #if KneeAxisOnOff !="On"
+    AnyVar KneeAxisLeft =  DesignVar(KneeAxisLeftIni);
+    AnyVar KneeAxisRight =  DesignVar(KneeAxisRightIni);
+    #else
+    #if Model3!=1
+    AnyVar KneeAxisLeft =  (KneeAxisLeftIni);
+    AnyVar KneeAxisRight =  (KneeAxisRightIni);
+       #else 
+    AnyVar KneeAxisLeft =  DesignVar(KneeAxisLeftIni);
+    AnyVar KneeAxisRight =  DesignVar(KneeAxisRightIni);
+    #endif
+        #endif
+
+  };
+  
+  
+  #if Model1 == 1
+  
+  
+
+  AnyFolder &ref2=  Main.Studies.ParameterIdentification ;
+  
+  ref2={
+    AnyFolder &Lengths= Main.TrialSpecificData.Anthropometrics;
+    
+    #if PelvisWidthOnOff=="On" 
+    AnyDesVar PelvisWidth = {
+      Val = Main.TrialSpecificData.Anthropometrics.PelvisWidth;
+    };
+    #endif
+    
+    #if PelvisDepthOnOff=="On" 
+    AnyDesVar PelvisDepth = {
+      Val = Main.TrialSpecificData.Anthropometrics.PelvisDepth;
+    };
+    #endif
+
+    
+    #if ThighLengthOnOff =="On"
+    AnyDesVar ThighLength = {
+      Val =Main.TrialSpecificData.Anthropometrics.ThighLength;
+    };
+    #endif    
+    
+    
+    #if ShankLengthOnOff =="On" 
+    AnyDesVar ShankLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.ShankLength;
+    };
+    #endif
+    
+    #if FootLengthOnOff =="On"
+    AnyDesVar FootLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.FootLength;
+    };
+    #endif
+    
+    
+    #if HeadHeightOnOff =="On"
+    AnyDesVar HeadHeight = {
+      Val = Main.TrialSpecificData.Anthropometrics.HeadHeight;
+    };
+    #endif
+    
+    #if TrunkHeightOnOff =="On"
+    AnyDesVar TrunkHeight = {
+      Val = Main.TrialSpecificData.Anthropometrics.TrunkHeight;
+    };
+    #endif
+    
+    #if UpperArmLengthOnOff=="On"
+    AnyDesVar UpperArmLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.UpperArmLength ;
+    };
+    #endif
+    
+    #if LowerArmLengthOnOff =="On"
+    AnyDesVar LowerArmLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.LowerArmLength ;
+    };
+    #endif
+    
+    #if HandLengthOnOff =="On"
+    AnyDesVar HandLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.HandLength ;
+    };
+    #endif
+    
+    #if KneeAxisOnOff =="On"
+    AnyDesVar KneeAxisLeft = {
+           Val = Main.Studies.HumanModel.BodyModel.Left.Leg.Seg.Thigh.KneeJoint.AxisRot.Val;
+    };
+    AnyDesVar KneeAxisRight = {
+           Val = Main.Studies.HumanModel.BodyModel.Right.Leg.Seg.Thigh.KneeJoint.AxisRot.Val;
+    };
+    #endif
+
+  };
+  
+  #endif 
+  
+  
+  
+  
+  #if Model2 == 1
+  
+  
+  AnyFolder &ref3=  Main.Studies.LoadParametersOptimizationResults ;
+  
+  ref3={
+    
+    AnyFolder &Lengths=Main.TrialSpecificData.Anthropometrics;
+    
+    #if PelvisWidthOnOff=="On"
+    AnyDesVar PelvisWidth = {
+      Val = Main.TrialSpecificData.Anthropometrics.PelvisWidth;
+    };
+    #endif
+    
+    #if PelvisDepthOnOff=="On" 
+    AnyDesVar PelvisDepth = {
+      Val = Main.TrialSpecificData.Anthropometrics.PelvisDepth;
+    };
+    #endif
+    
+    #if ThighLengthOnOff =="On"
+    AnyDesVar ThighLength = {
+      Val =Main.TrialSpecificData.Anthropometrics.ThighLength;
+    };
+    #endif    
+    
+    
+    #if ShankLengthOnOff =="On"
+    AnyDesVar ShankLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.ShankLength;
+    };
+    #endif
+    
+    #if FootLengthOnOff =="On"
+    AnyDesVar FootLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.FootLength;
+    };
+    #endif
+    
+    #if HeadHeightOnOff =="On"
+    AnyDesVar HeadHeight = {
+      Val = Main.TrialSpecificData.Anthropometrics.HeadHeight;
+    };
+    #endif
+    
+    #if TrunkHeightOnOff =="On"
+    AnyDesVar TrunkHeight = {
+      Val = Main.TrialSpecificData.Anthropometrics.TrunkHeight;
+    };
+    #endif
+    
+    #if UpperArmLengthOnOff=="On"
+    AnyDesVar UpperArmLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.UpperArmLength ;
+    };
+    #endif
+    
+    #if LowerArmLengthOnOff =="On"
+    AnyDesVar LowerArmLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.LowerArmLength ;
+    };
+    #endif
+    
+    #if KneeAxisOnOff =="On"
+    AnyDesVar KneeAxisLeft = {
+      Val = Main.Studies.HumanModel.BodyModel.Left.Leg.Seg.Thigh.KneeJoint.AxisRot.Val;
+    };
+    AnyDesVar KneeAxisRight = {
+      Val = Main.Studies.HumanModel.BodyModel.Right.Leg.Seg.Thigh.KneeJoint.AxisRot.Val;
+    };
+    #endif
+
+  };
+  
+  #endif 
+  
+  
+  
+  
+}; // End of InsertSegmentClass
+
+
+
+
+
+