Structure Detail Design

Editing Stiffeners


This macro shows you how to modify stiffeners of different categories. This macro modifies existing stiffeners created using the CAASddCreateStiffener macro.

CAASddEditStiffener is launched in CATIA [1]. First open CAASddEditStiffener.CATPart in the samples directory.

CAASddEditStiffener.CATScript is located in the CAAScdSddUseCases. Execute macro (Windows only).

CAASddEditStiffener includes seven steps:

  1. Prolog
  2. Retrieving the Factory from the Part Document
  3. Getting the Manager from the Factory
  4. Retrieving the Super Stiffeners
  5. Retrieving and Modifying Split Stiffeners
  6. Modifying a Stiffener on a Shell Plate
  7. Updating the Part Document

Prolog

Opens the CAASddEditStiffener.CATPart in CATIA.

Sub CATMain ()
  Dim ObjPart As Part
  Set ObjPart = CATIA.ActiveDocument.Part
  ...

Retrieving the Factory from the Part Document

This step describes how to get the Structure Functional Modeler factory. The SfmFactory Object will be used for creating Structure Functional Modeler objects.

  ...
  'Get the Factory Object
  Dim FactoryObj As SfmFactory
  Set FactoryObj = ObjPart.GetCustomerFactory ("SfmFactory")
  ...

Getting the Manager from the Factory

The SfmManager object is obtained by the GetManager method.

  ...
  'Get the Manager Object
  Dim ManagerObj As SfmManager
  Set ManagerObj = FactoryObj.GetManager
  ...

Retrieving the Super Stiffeners

This step describes how to get the collection of stiffeners and how to get one specific element in it.

  ...
  'RETRIEVING THE SUPERSTIFFENERS
  Dim SuperStiffeners As References
  Set SuperStiffeners = ManagerObj.GetSuperStiffeners
  Dim SuperStiffener1, SuperStiffener2, SuperStiffener3 As SfmStiffener
  Set SuperStiffener1 = SuperStiffeners.Item(1)
  Set SuperStiffener2 = SuperStiffeners.Item(3)
  Set SuperStiffener3 = SuperStiffeners.Item(4)
  ...

Retrieving and Modifying Split Stiffeners

This step describes how to get seamed stiffeners. In this case, seamed stiffeners are on the deck.

  ...
  'Retrieving The Seamed Stiffeners on Deck
  Dim SplitStiffeners As References
  Set SplitStiffeners = SuperStiffener2.SplitProfiles
  Dim SplitStiffener1, SplitStiffener2 As Reference
  Set SplitStiffener1 = SplitStiffeners. Item(1)
  Set SplitStiffener2 = SplitStiffeners. Item(2)
  Set SelectionObj = CATIA.ActiveDocument.Selection

  'DECK STIFFENER
  SelectionObj.Add SplitStiffener1
  Dim DeckStiffener1 As SfmStiffener
  Set DeckStiffener1 = SelectionObj.FindObject("CATIASfmStiffener")

 'Checking Name and the Support
  Dim stiff name  As String
  stiff name = DeckStiffener1.Name
  Dim DeckStiffSupport As Reference
  Set DeckStiffSupport = DeckStiffener1.Support

  'Applying Material and Grade
  DeckStiffener1.Material = "Aluminium"
  DeckStiffener1.Grade = "A47"

  'Retrieving and Modifying the side and section Orientation
  Dim SideOrient, SectionOrient As Long
  SideOrient = DeckStiffener1.SideOrientation
  SectionOrient = DeckStiffener1.SectionOrientation
  Dim DeckStiff1SideOrnt, DeckStiff1SectionOrnt As Long
  DeckStiff1SectionOrnt = -1
  DeckStiff1SideOrnt = 6
  DeckStiffener1.SideOrientation = DeckStiff1SideOrnt
  DeckStiffener1.SectionOrientation = DeckStiff1SectionOrnt

  'Modifying the Section
  Dim DeckStiffSectionName As String
  DeckStiffSectionName = DeckStiffener1.SectionName
  DeckStiffener1.SectionName = "WT15x54"
  ...

Modifying a Stiffener on a Shell Plate

  ...
  'SHELL STIFFENER
  SelectionObj. Add SuperStiffener1
  Dim ShellStiffener1 As SfmStiffener
  Set ShellStiffener1 = SelectionObj.FindObject("CATIASfmStiffener")

  'Retrieving and Modifying Websupport of ShellStiffener
  Dim ShellStiffWebSupport As Reference
  Set ShellStiffWebSupport = ShellStiffener1.WebSupport
  Dim webSupport1 As AnyObject
  Set webSupport1 = ObjPart.FindObjectByName("LONG.0")
  Dim webSupportRef1 As Reference
  Set webSupportRef1 = ObjPart.CreateReferenceFromObject(webSupport1)
  ShellStiffener1.WebSupport = webSupportRef1

  'Getting Molded Surface Of ShellStiffener
  Dim ShellStiffMoldedSurface As Reference
  Set ShellStiffMoldedSurface = ShellStiffener1.GetMoldedSurface

   'Modifying Anchor Point
  Dim ShellStiffAnchorPt As String
  ShellStiffAnchorPt = ShellStiffener1.AnchorPoint
  ShellStiffener1.AnchorPoint = "catStrWebCenter"

  'Getting And Setting Profile Limit
  Dim StiffNewLimit As AnyObject
  Set StiffNewLimit = ObjPart.FindObjectByName("CROSS.90")
  Dim StiffNewLimitRef As Reference
  Set StiffNewLimitRef = ObjPart.CreateReferenceFromObject(StiffNewLimit)
  ShellStiffener1.SetProfileLimit 1, StiffNewLimitRef
  Dim ShellStiffLimitRef As Reference
  Set ShellStiffLimitRef = ShellStiffener1.GetProfileLimit(1)

  'Returning and Setting the AngleMode
  Dim StiffAngleMode As Integer
  StiffAngleMode = ShellStiffener1.AngleMode
  Dim StiffAngleMode2 As Long
  StiffAngleMode2 = 2
  Dim AngleModeValidity As Boolean
  AngleModeValidity = ShellStiffener1.IsAngleModeValid(StiffAngleMode2)
  ShellStiffener1.AngleMode = StiffAngleMode2

  'Getting WebSupportOffSet of ShellStiffener
  ShellStiffener1.webSupportOffSet = "30"
  Dim ShellStiffwebSupportOffSet As Double
  ShellStiffwebSupportOffSet = ShellStiffener1.webSupportOffset
  ...

Updating the Part Document

Update the Part.

 ...
  'Updating The Part with All Modifications
  ObjPart.Update
End Sub

[Top]


In Short

This use case has shown how to edit stiffeners.


References

[1] Replaying a Macro
[2] Opening an Existing CATIA Document
[Top]

Copyright © 1999-2011, Dassault Systèmes. All rights reserved.