Option Explicit
' COPYRIGHT DASSAULT SYSTEMES 2001
Dim Language as String
Language="VBScript"
' ***********************************************************************
' Purpose: You can add user parameters to a given feature by using the
' Knowledge Advisor product. This macro filters the parameters
' related to a pad.1 feature. You can apply this macro to any
' part with a pad.1 feature or modify this macro to filter
' the parameters related to any other feature.
' This macro illustrates how to use the SubList method of a
' Parameters collection.
'
' Author: Carole ROULLE, Pierre Grignon
' Languages: VBScript
' Locales: English (United States)
' CATIA Level: V5R6
' revision V5R13
' ***********************************************************************
Sub CATMain()
' Set the CATIA popup file alerts to False
' It prevents to stop the macro at each alert during its execution
CATIA.DisplayFileAlerts = False
' Retrieve your active document - CATIA is your application
' You get the active document by using the ActiveDocument property
' on your application object
' -----------------------------------------------------------
' Optional: allows to find the sample wherever it's installed
dim sDocPath As String
sDocPath=CATIA.SystemService.Environ("CATDocView")
If (Not CATIA.FileSystem.FolderExists(sDocPath)) Then
Err.Raise 9999,,"No Doc Path Defined"
End If
' -----------------------------------------------------------
Dim sFilePath
sFilePath = CATIA.FileSystem.ConcatenatePaths(sDocPath, _
"online\CAAScdKniUseCases\samples\CAAKniSamplePartR13.CATPart")
Dim oDoc As Document
set oDoc = CATIA.Documents.Open(sFilePath)
' Retrieve your active document
Dim oActiveDoc As Document
Set oActiveDoc = CATIA.ActiveDocument
' Check whether the document is a CATPart
If (InStr(oActiveDoc.Name,".CATPart")) <> 0 Then
' Retrieve the collection object which contains
' all the document parameters
Dim oParamList As Paraneters
Set oParamList = oActiveDoc.Part.Parameters
' Scans the collection of Bodies in a part
Dim oBodies As Bodies
Set oBodies = oActiveDoc.Part.Bodies
Dim i, j, k As Integer
For j = 1 to oActiveDoc.Part.Bodies.Count
' For each item of the Bodies collection,
' search for a Pad.1 feature
For i = 1 to oBodies.item(j).Shapes.Count
if oBodies.item(j).Shapes.item(i).name = "Pad.1" then
' Display the list of parameters related to the Pad.1 feature
' If False is specified in the second argument of the SubList
' method, the list which is returned contains the parameters directly
' related to Pad.1 (for example the pad limits) plus
' the user parameters added right below Pad.1.
' If True is specified in the second argument, the returned list contains
' all the parameters related to Pad.1 itself plus the parameters related
' to its children (for example, the parameters of the sketch from which
' the pad was extruded from)
Dim oPad1SubList As Parameters
Set oPad1SubList = oParamList.SubList(oBodies.item(j).Shapes.item(i), False)
for k = 1 to oPad1SubList.Count
msgbox oPad1SubList.Item(k).name
next
End if
Next
Next
Else
MsgBox "The active document must be a CATPart"
End If
End Sub