Option Explicit
'---------------------------------------------------------------------------
'COPYRIGHT DASSAULT SYSTEMES 2011

' ****************************************************************************
'
' Purpose:       To create members.
'
' Assumptions:   The Product document Product1.CATProduct located in
'                CAASddUseCases/samples/OpeningCreationData should be active
'
' Author:
' Languages:     VBScript
' Version:       V5R20
' Locales:       English
' CATIA Level:   V5R20
'
' ****************************************************************************
Sub CATMain()

  Dim documents1 As Documents
  Set documents1 = CATIA.Documents
  Dim partDocument1 As PartDocument
  Set partDocument1 = documents1.Item("Design_Unit_004.CATPart")
  Dim part1 As Part
  Set part1 = partDocument1.Part
  Dim plate As SfmSuperPlate
  Set plate = part1.FindObjectByName("Deck_005")
  Dim plateref As Reference
  Set plateref = part1.CreateReferenceFromObject(plate)

  'Create Opening Using Sketch Mode

  Dim sketch As Sketch
  Set sketch= part1.FindObjectByName("Sketch.19")
  Dim sketchref As Reference
  Set  sketchref=part1.CreateReferenceFromObject(sketch)
  Dim Factory As SfmFunctionFactory
  Set Factory =  part1.GetCustomerFactory("SfmFunctionFactory")
  Dim OpeningUsingSketch As SfmOpening
  Set OpeningUsingSketch = Factory.CreateOpening("FunctionalOpening",1,sketchref, plateref)
  part1.Update

  'Create Opening Using 3D Object Mode
  Dim Object As AnyObject
  Set Object =  part1.FindObjectByName("Volume Extrude.1")
  Dim ObjectRef As Reference
  Set ObjectRef = part1.CreateReferenceFromObject(Object)
  Dim OpeningUsing3DObj As SfmOpening
  Set OpeningUsing3DObj = Factory.CreateOpening("FunctionalOpening",0,ObjectRef, plateref)
  part1.Update

End Sub