Option Explicit
'// COPYRIGHT DASSAULT SYSTEMES  2000
'******************************************************************************
' Purpose:       This CATScript demonstrates how to create an ArrangementPathway
'                and change it's visualization to "Solid" mode, define a
'                round section data and apply a constant bend radius of 10 mm.
' Assumptions:   This assumes that a macro is being executed interactively.
' Author     :                              
' Languages  :   VBScript
' CATIA Level:   V5R6
' Locale     :   English
'******************************************************************************


Sub CATMain()
   
   ' On Error Resume Next

   '----------------------------------------------
   'Create a new product document
   Dim objProdDoc        As ProductDocument
   Dim objRootProd       As Product
   Set objProdDoc      = CATIA.Documents.Add("Product")
   Set objRootProd     = objProdDoc.Product

   '----------------------------------------------
   'Retrieving Root Product's Relative Axis and Position Information
   Dim objMove           As Move
   Set objMove      = objRootProd.Move

   '----------------------------------------------
   ' Get ArrangementProduct
   Dim objArrProd        As ArrangementProduct
   Set objArrProd   = objRootProd.GetTechnologicalObject("ArrangementProduct")


   '----------------------------------------------
   ' Create ArrangementPathway under the Root Product
   Dim dblPathwayPoints(75)      As Double
   Dim dblMathDirection(3)       As Double
   Dim objArrPathway             As ArrangementPathway

   dblPathwayPoints(0)   =  300.0
   dblPathwayPoints(1)   =  100.0
   dblPathwayPoints(2)   =  0.0

   dblPathwayPoints(3)   =  441.42
   dblPathwayPoints(4)   =  158.58
   dblPathwayPoints(5)   =  1.25

   dblPathwayPoints(6)   =  500.0
   dblPathwayPoints(7)   =  300.0
   dblPathwayPoints(8)   =  2.5

   dblPathwayPoints(9)   =  441.42
   dblPathwayPoints(10)  =  441.42
   dblPathwayPoints(11)  =  3.75

   dblPathwayPoints(12)   =  300.0
   dblPathwayPoints(13)  =  500.0
   dblPathwayPoints(14)  =  5.0

   dblPathwayPoints(15)  =   158.58
   dblPathwayPoints(16)  =  441.42
   dblPathwayPoints(17)  =  6.25

   dblPathwayPoints(18)  =  100.0
   dblPathwayPoints(19)  =  300.0
   dblPathwayPoints(20)  =  7.5 

   dblPathwayPoints(21)  =  158.58
   dblPathwayPoints(22)  =  158.58
   dblPathwayPoints(23)  =  8.75

   dblPathwayPoints(24)  =  300.0
   dblPathwayPoints(25)  =  100.0
   dblPathwayPoints(26)  =  10

   dblPathwayPoints(27)   =  441.42
   dblPathwayPoints(28)   =  158.58
   dblPathwayPoints(29)   =  11.25

   dblPathwayPoints(30)   =  500.0
   dblPathwayPoints(31)   =  300.0
   dblPathwayPoints(32)   =  12.5

   dblPathwayPoints(33)   =  441.42
   dblPathwayPoints(34)  =  441.42
   dblPathwayPoints(35)  =  13.75

   dblPathwayPoints(36)   =  300.0
   dblPathwayPoints(37)  =  500.0
   dblPathwayPoints(38)  =  15.0

   dblPathwayPoints(39)  =   158.58
   dblPathwayPoints(40)  =  441.42
   dblPathwayPoints(41)  =  16.25

   dblPathwayPoints(42)  =  100.0
   dblPathwayPoints(43)  =  300.0
   dblPathwayPoints(44)  =  17.5  

   dblPathwayPoints(45)  =  158.58
   dblPathwayPoints(46)  =  158.58
   dblPathwayPoints(47)  =  18.75

   dblPathwayPoints(48)  =  300.0
   dblPathwayPoints(49)  =  100.0
   dblPathwayPoints(50)  =  20

   dblPathwayPoints(51)   =  441.42
   dblPathwayPoints(52)   =  158.58
   dblPathwayPoints(53)   =  21.25

   dblPathwayPoints(54)   =  500.0
   dblPathwayPoints(55)   =  300.0
   dblPathwayPoints(56)   =  22.5

   dblPathwayPoints(57)   =  441.42
   dblPathwayPoints(58)  =  441.42
   dblPathwayPoints(59)  =  23.75

   dblPathwayPoints(60)   =  300.0
   dblPathwayPoints(61)  =  500.0
   dblPathwayPoints(62)  =  25.0

   dblPathwayPoints(63)  =   158.58
   dblPathwayPoints(64)  =  441.42
   dblPathwayPoints(65)  =  26.25

   dblPathwayPoints(66)  =  100.0
   dblPathwayPoints(67)  =  300.0
   dblPathwayPoints(68)  =  27.5 

   dblPathwayPoints(69)  =  158.58
   dblPathwayPoints(70)  =  158.58
   dblPathwayPoints(71)  =  28.75

   dblPathwayPoints(72)  =  300.0
   dblPathwayPoints(73)  =  100.0
   dblPathwayPoints(74)  =  30

   dblMathDirection(0) = 1.0
   dblMathDirection(1) = 0.0
   dblMathDirection(2) = 0.0

   Set objArrPathway             = objArrProd.ArrangementPathways.AddPathway(objMove,dblPathwayPoints, dblMathDirection)

   '----------------------------------------------
   ' Change Properties of ArrangementPathway
   objArrPathway.SectionType     = CatArrangementRouteSectionRound
   objArrPathway.SectionDiameter = 10.0
   objArrPathway.VisuMode        = CatArrangementRouteVisuModeSolid

   '----------------------------------------------
   ' Define Bend Radius of Nodes
   Dim intK As Integer   
   For intK = 1 To objArrPathway.ArrangementNodes.Count
     objArrPathway.ArrangementNodes.Item(intK).BendRadius = 10.0
   Next

End Sub