Option Explicit
'// COPYRIGHT DASSAULT SYSTEMES 2000
'******************************************************************************
' Purpose: This CATScript demonstrates how to create an ArrangementRun
' 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 ArrangementRun under the Root Product
Dim dblRunPoints(75) As Double
Dim dblMathDirection(3) As Double
Dim objArrRun As ArrangementRun
dblRunPoints(0) = 300.0
dblRunPoints(1) = 100.0
dblRunPoints(2) = 0.0
dblRunPoints(3) = 441.42
dblRunPoints(4) = 158.58
dblRunPoints(5) = 1.25
dblRunPoints(6) = 500.0
dblRunPoints(7) = 300.0
dblRunPoints(8) = 2.5
dblRunPoints(9) = 441.42
dblRunPoints(10) = 441.42
dblRunPoints(11) = 3.75
dblRunPoints(12) = 300.0
dblRunPoints(13) = 500.0
dblRunPoints(14) = 5.0
dblRunPoints(15) = 158.58
dblRunPoints(16) = 441.42
dblRunPoints(17) = 6.25
dblRunPoints(18) = 100.0
dblRunPoints(19) = 300.0
dblRunPoints(20) = 7.5
dblRunPoints(21) = 158.58
dblRunPoints(22) = 158.58
dblRunPoints(23) = 8.75
dblRunPoints(24) = 300.0
dblRunPoints(25) = 100.0
dblRunPoints(26) = 10
dblRunPoints(27) = 441.42
dblRunPoints(28) = 158.58
dblRunPoints(29) = 11.25
dblRunPoints(30) = 500.0
dblRunPoints(31) = 300.0
dblRunPoints(32) = 12.5
dblRunPoints(33) = 441.42
dblRunPoints(34) = 441.42
dblRunPoints(35) = 13.75
dblRunPoints(36) = 300.0
dblRunPoints(37) = 500.0
dblRunPoints(38) = 15.0
dblRunPoints(39) = 158.58
dblRunPoints(40) = 441.42
dblRunPoints(41) = 16.25
dblRunPoints(42) = 100.0
dblRunPoints(43) = 300.0
dblRunPoints(44) = 17.5
dblRunPoints(45) = 158.58
dblRunPoints(46) = 158.58
dblRunPoints(47) = 18.75
dblRunPoints(48) = 300.0
dblRunPoints(49) = 100.0
dblRunPoints(50) = 20
dblRunPoints(51) = 441.42
dblRunPoints(52) = 158.58
dblRunPoints(53) = 21.25
dblRunPoints(54) = 500.0
dblRunPoints(55) = 300.0
dblRunPoints(56) = 22.5
dblRunPoints(57) = 441.42
dblRunPoints(58) = 441.42
dblRunPoints(59) = 23.75
dblRunPoints(60) = 300.0
dblRunPoints(61) = 500.0
dblRunPoints(62) = 25.0
dblRunPoints(63) = 158.58
dblRunPoints(64) = 441.42
dblRunPoints(65) = 26.25
dblRunPoints(66) = 100.0
dblRunPoints(67) = 300.0
dblRunPoints(68) = 27.5
dblRunPoints(69) = 158.58
dblRunPoints(70) = 158.58
dblRunPoints(71) = 28.75
dblRunPoints(72) = 300.0
dblRunPoints(73) = 100.0
dblRunPoints(74) = 30
dblMathDirection(0) = 1.0
dblMathDirection(1) = 0.0
dblMathDirection(2) = 0.0
Set objArrRun = objArrProd.ArrangementRuns.AddRun(objMove,dblRunPoints, dblMathDirection)
'----------------------------------------------
' Change Properties of ArrangementRun
objArrRun.SectionType = CatArrangementRouteSectionRound
objArrRun.SectionDiameter = 10.0
objArrRun.VisuMode = CatArrangementRouteVisuModeSolid
'----------------------------------------------
' Define Bend Radius of Nodes
Dim intK As Integer
For intK = 1 To objArrRun.ArrangementNodes.Count
objArrRun.ArrangementNodes.Item(intK).BendRadius = 10.0
Next
End Sub