Option Explicit
'---------------------------------------------------------------------------
'COPYRIGHT DASSAULT SYSTEMES 2011
' ****************************************************************************
'
' Purpose: To create members.
'
' Assumptions: The Part document CAASddEditPlate.CATPart should be active
'
' Author:
' Languages: VBScript
' Version: V5R21
' Locales: English
' CATIA Level: V5R21
'
' ****************************************************************************
Sub CATMain()
Dim ObjPart As Part
Set ObjPart = CATIA.ActiveDocument.Part
Dim FactoryObj As SfmFactory
Set FactoryObj = ObjPart.GetCustomerFactory("SfmFactory")
Dim ManagerObj As SfmManager
Set ManagerObj = FactoryObj.GetManager
'RETRIEVING THE SUPERPLATES
Dim SuperPlates As References
Set SuperPlates = ManagerObj.GetSuperPlates
Dim ShellSuperPlate1, ShellSuperPlate2, DeckSuperPlate, TBHSuperPlate As SfmSuperPlate
Set ShellSuperPlate1 = SuperPlates.Item(1)
Set ShellSuperPlate2 = SuperPlates.Item(2)
Set DeckSuperPlate = SuperPlates.Item(3)
Set TBHSuperPlate = SuperPlates.Item(4)
'Retrieving the SplitPlates of ShellSuperPlate
Dim ShellSplitPlateRefs As References
Set ShellSplitPlateRefs = ShellSuperPlate1.SplitPlates
Dim ShellSplitPlateRef1, ShellSplitPlateRef2 As Reference
Set ShellSplitPlateRef1 = ShellSplitPlateRefs.Item(1)
Set ShellSplitPlateRef2 = ShellSplitPlateRefs.Item(2)
'Getting Selection Object
Dim SelectionObj As Selection
Set SelectionObj = CATIA.ActiveDocument.Selection
'Adding SplitPlate(as Reference) to Selection Object
SelectionObj.Add ShellSplitPlateRef1
'To get SplitPlate1 as SfmSuperPlate
Dim ShellSplitPlate1 As SfmSuperPlate
Set ShellSplitPlate1 = SelectionObj.FindObject("CATIASfmSuperPlate")
'Retrieving and Modifying the Attributes of ChildPlate
Dim Thickness1 As Double
Dim material1 As String
Dim grade1 As String
ShellSplitPlate1.GetSplitPlateAttributes 1, Thickness1, material1, grade1
ShellSplitPlate1.SetSplitPlateAttributes 1, 30, "Steel", "A42"
'EDITING THE DECK SUPERPLATE
SelectionObj.Add DeckSuperPlate
Dim DeckPlate As SfmSuperPlate
Set DeckPlate = SelectionObj.FindObject("CATIASfmSuperPlate")
'Retrieving SuperPlate's Support
Dim DeckSupport As Reference
Set DeckSupport = DeckPlate.Support
'Setting and Retrieving the SuperPlate's support offset
DeckPlate.SupportOffset = "30.0"
Dim DeckSupportOffset As Double
DeckSupportOffset = DeckPlate.SupportOffset
'Retrieving the SuperPlate's limit mode
Dim LimitMode As Long
LimitMode = DeckPlate.LimitMode
'Retrieving the Limits Of SuperPlate
Dim DeckPlateLimits As References
Set DeckPlateLimits = DeckPlate.Limits
'EDITING THE TRANSVERSE BULKHEAD SUPERPLATE
SelectionObj.Add TBHSuperPlate
Dim TBHPlate As SfmSuperPlate
Set TBHPlate = SelectionObj.FindObject("CATIASfmSuperPlate")
'Getting Limits Of SuperPlate
Dim TBHPlateLimits As References
Set TBHPlateLimits = TBHPlate.Limits
'Setting 2nd Limit as Last Limit
TBHPlate.SetAsLastLimit (2)
'Adding One More Limit
Dim TBHPlateNewLimit As AnyObject
Set TBHPlateNewLimit = ObjPart.FindObjectByName("LONG.5")
Dim TBHPlateNewLimitRef As Reference
Set TBHPlateNewLimitRef = ObjPart.CreateReferenceFromObject(TBHPlateNewLimit)
Dim TBHPlateNewOrnt As Long
TBHPlateNewOrnt = 4
TBHPlate.AddLimit TBHPlateNewLimitRef, TBHPlateNewOrnt
'Inverting the limit orientation of 4th Limit
TBHPlate.InvertLimit (4)
'Retrieving and Modifying the Support of SuperPlate
Dim TBHPlateSupport As Reference
Set TBHPlateSupport = TBHPlate.Support
Dim TBHPlateNewSupport As AnyObject
Set TBHPlateNewSupport = ObjPart.FindObjectByName("CROSS.100")
Dim TBHPlateNewSupportRef As Reference
Set TBHPlateNewSupportRef = ObjPart.CreateReferenceFromObject(TBHPlateNewSupport)
TBHPlate.Support = TBHPlateNewSupportRef
'To get Category
Dim TBHPlateCategory As String
TBHPlateCategory = TBHPlate.Category
'Retrieving and Modifying the thickness,material,grade of SuperPlate
Dim TBHPlateThickness As Double
TBHPlateThickness = TBHPlate.Thickness
Dim TBHPlateMaterial, TBHPlateGrade As String
TBHPlateMaterial = TBHPlate.Material
TBHPlateGrade = TBHPlate.Grade
TBHPlate.Material = "Steel"
TBHPlate.Grade = "A45"
TBHPlate.Thickness = "35.0"
'Updating The Part with All Modifications
ObjPart.Update
End Sub