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