Structure Detail Design

Creating Stiffeners


This macro shows you how to create stiffeners on different plates.

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

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

CAASddCreateStiffener includes eight steps:

  1. Prolog
  2. Retrieving the Factory from the Part Document
  3. Getting the Manager from the Factory
  4. Retrieving the Super Plates
  5. Creating Shell Stiffeners
  6. Creating Deck Stiffeners
  7. Creating Transverse Bulkhead Stiffeners
  8. Updating the Part Document

Create Stiffeners

Prolog

Opens the CreateStiffener.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 Plates

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

  ...
  Dim SuperPlates As References
  Set SuperPlates = ManagerObj.GetSuperPlates
  Dim ShellSuperPlate, DeckSuperPlate, TBHSuperPlate As SfmSuperPlate
  Set ShellSuperPlate = SuperPlates.Item (1)
  Set DeckSuperPlate = SuperPlates.Item (2)
  Set TBHSuperPlate = SuperPlates.Item (3)
  ...

Creating Shell Stiffeners

This step describes how to create stiffeners of different categories and sections. First support is defined.

  ...
 'CREATING SHELL STIFFENER
 'Defining Support for Stiffener
  Dim webSupport1 As AnyObject
  Set webSupport1 = ObjPart.FindObjectByName ("LONG.8")
  Dim webSupportRef1 As Reference
  Set webSupportRef1 = ObjPart.CreateReferenceFromObject (webSupport1)
  Dim ShellStiffener1 As SfmStiffener
  Set ShellStiffener1 = FactoryObj.AddSuperStiffener ("ShellStiffener", "WT15x54", ShellSuperPlate, webSupportRef1)
  Dim webSupport2 As AnyObject
  Set webSupport2 = ObjPart.FindObjectByName ("CROSS.105")
  Dim webSupportRef2 As Reference
  Set webSupportRef2 = ObjPart.CreateReferenceFromObject (webSupport2)
  Dim ShellStiffener2 As SfmStiffener
  Set ShellStiffener2 = FactoryObj.AddSuperStiffener ("ShellStiffener", "C12x25", ShellSuperPlate, webSupportRef2)

 'Limiting Stiffener2 By Stiffener1
  Dim StiffenerLimitRef1 As Reference
  Set StiffenerLimitRef1 = ObjPart.CreateReferenceFromObject (ShellStiffener1)
  ShellStiffener2.SetProfileLimit 1, StiffenerLimitRef1
  ...

Creating Deck Stiffeners

  ...
 'CREATING DECK STIFFENER
 'Defining Support for Stiffener on DeckPlate
  Dim webSupport3 As AnyObject
  Set webSupport3 = ObjPart.FindObjectByName ("LONG.0")
  Dim webSupportRef3 As Reference
  Set webSupportRef3 = ObjPart.CreateReferenceFromObject (webSupport3)
  Dim DeckStiffener1 As SfmStiffener
  Set DeckStiffener1 = FactoryObj.AddSuperStiffener ("DeckStiffener", "HP12x63", DeckSuperPlate, webSupportRef3)
  ...

Creating Transverse Bulkhead Stiffeners

  ...
 'CREATING TRANSVERSE BULKHEAD STIFFENER
 'Defining Support
  Dim webSupport4 As AnyObject
  Set webSupport4 = ObjPart.FindObjectByName ("LONG.-5")
  Dim webSupportRef4 As Reference
  Set webSupportRef4 = ObjPart.CreateReferenceFromObject (webSupport4)
  Dim TBHStiffener1 As SfmStiffener
  Set TBHStiffener1 = FactoryObj.AddSuperStiffener ("TransBulkhdStiffener", "C12x25", TBHSuperPlate, webSupportRef4)
  Dim webSupport5 As AnyObject
  Set webSupport5 = ObjPart.FindObjectByName ("DECK.2")
  Dim webSupportRef5 As Reference
  Set webSupportRef5 = ObjPart.CreateReferenceFromObject (webSupport5)
  Dim TBHStiffener2 As SfmStiffener
  Set TBHStiffener2 = FactoryObj.AddSuperStiffener ("TransBulkhdHorStiffener", "HP12x63", TBHSuperPlate, webSupportRef5)

 'Limiting Stiffener2 By Stiffener1
  Dim StiffenerLimitRef2 As Reference
  Set StiffenerLimitRef2 = ObjPart.CreateReferenceFromObject (TBHStiffener1)
   TBHStiffener2.SetProfileLimit 1, StiffenerLimitRef2
  ...

Updating the Part Document

The Part has to be updated to generate the geometrical representation of the created objects. Once this done, the updated objects are visible in the 3D window and in the specification tree.

  ...
 'To Updating CATIA Part Document
  ObjPart.Update
End Sub
  ...

[Top]


In Short

This use case has shown how to create stiffener objects.


References

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

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