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