Language="VBSCRIPT"

Sub CATMain()

Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument


Dim product1 As Product
Set product1 = productDocument1.Product

Dim relations1 As Relations
Set relations1 = product1.Relations

Dim documents1 As Documents
Set documents1 = CATIA.Documents


'******** Behavior == VBScriptImplementation
' NO error 
On Error Resume Next

Dim CurSelection As Selection
set CurSelection = productDocument1.Selection

Dim VBScriptBeh As Behavior
set VBScriptBeh = CurSelection.FindObject("CATIABehaviorVBScript")

'msgbox " OK pour recuperer le behavior" 
'******** Start 


if VBScriptBeh Is Nothing then
    MsgBox "Not Started From A Behavior"
else
	VBScriptBeh.Start 


Dim partDocument1 As Document
Set partDocument1 = documents1.Item("Mirror_Part_1.CATPart")

Dim part1 As Part
Set part1 = partDocument1.Part

Dim parameters1 As Parameters
Set parameters1 = part1.Parameters


' create formulas in order to pilot geometry
' strange : the formula is created in the relationset associated to the product even if I have specified the relationset to the part 
Dim angle1 As Parameter
Set angle1 = parameters1.Item("Vertical_Angle")

Dim formula1 As Formula
Set formula1 = relations1.CreateFormula("Formula.1", "", angle1, "`ExternalMirror (Mirror_Part.1)\VerticalAngle`")

formula1.Rename "Vertical_Angle_Formula"


Dim angle2 As Parameter
Set angle2 = parameters1.Item("Horizontal_Angle")

Dim formula2 As Formula
Set formula2 = relations1.CreateFormula("Formula.2", "", angle2, "`ExternalMirror (Mirror_Part.1)\HorizontalAngle`")

formula2.Rename "Vertical_Angle_Formula"

' for the dimensions


Dim length1 As Parameter
Set length1 = parameters1.Item("Mirror_X")

Dim formula3 As Formula
Set formula3 = relations1.CreateFormula("Formula.3", "", length1, "`ExternalMirror (Mirror_Part.1)\XPosition`")

formula3.Rename "Mirror_X_Position_Formula"


Set length3= parameters1.Item("Mirror_Z")

Dim formula4 As Formula
Set formula4 = relations1.CreateFormula("Formula.4", "", length3, "`ExternalMirror (Mirror_Part.1)\ZPosition`")

formula4.Rename "Mirror_Z_Position_Formula"


Set length4= parameters1.Item("Mirror_Width")

Dim formula5 As Formula
Set formula5 = relations1.CreateFormula("Formula.5", "", length4, "`ExternalMirror (Mirror_Part.1)\Width`")

formula5.Rename "Mirror_Width_Formula"



Set length5= parameters1.Item("Mirror_Length")

Dim formula6 As Formula
Set formula6 = relations1.CreateFormula("Formula.5", "", length5, "`ExternalMirror (Mirror_Part.1)\Length` ")

formula6.Rename "Mirror_Length_Formula"


	VBScriptBeh.Done


end if 

End Sub
