모델이 가지고 있는 Parameter 이름 및 타입 (string, 정수, 실수) 표시 하는 프로그램 입니다. 매개변수 이름과 값을 표시
하기 위해, 아래와 같은 클래스를 연결 합니다.
1. 단계 : 변수 oModel에 현재 활성화된 Creo 모델 연결 하기
Sub Param_List()
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim conn As pfcls.IpfcAsyncConnection : Set conn = asynconn.Connect("", "", ".", 5)
Dim session As pfcls.IpfcBaseSession: Set session = conn.session
Dim oModel As IpfcModel: Set oModel = session.CurrentModel
Range("B3") = oModel.Filename '현재 활성화된 파일 이름을 표시 합니다"
2 단계 : CREO의 파일의 Parameter 이름, 값, 타입을 표시 합니다. 모델이 가지고 있는 Paramter를 List (배열) 형식으로
가지고 옵니다.
Dim oPowner As pfcls.IpfcParameterOwner: Set oPowner = oModel
Dim oParams As IpfcParameters: Set oParams = oPowner.ListParams()
IpfcparameterOwner는 모델 또는 모델 아이템 등과 연관된 파라미터를 갖는 오브젝트에 대한 베이스 클래스이다.
"Listparams()" 등 매개변수를 블러오거나, 생성 하거나, 선택 할때 필요하다.
Set oParams = oPowner.ListParams() 중 "oPowner.ListParams()" 의미는 무얼까? "oPowner"는 "IpfcparameterOwner" 객체 타입니다. 즉 "ListParams() " 함수를 사용 할수 있고. "Set oPowner = oModel" 에서 현재 모델이 대입 되어 있다.
Function ListParams () as IpfcParameters [optional]
- 매개변수 소유자와 연관된 매개변수 목록을 제공합니다.
3 단계 : 매개변수 정의
예:) 모델의 Paramter
매개변수 "oParams"은 모델의 모든 Parameter의 이름, 값 및 데이터 타입을 가지고 있습니다.
아래 코드는 For문을 이용 하여, oParams에 있는 Parameter들을 엑셀에 표시 합니다.
Parameter의 이름은 IpfcNamedModelItem 객체 타입으로 정의한다.
Dim oParam As IpfcBaseParameter
Dim oParamValue As IpfcParamValue
Dim oParamName As IpfcNamedModelItem
For i = 0 To oParams.Count - 1
Set oParam = oParams(i)
Set oParamValue = oParam.Value
Set oParamName = oParam
Cells(i, 2) = i + 1
Cells(i, 3) = oParamName.Name
If paramValue.discr = 0 Then 'If parameter is string
Cells(i, 4) = paramValue.StringValue
ElseIf paramValue.discr = 3 Then 'if parameter is real value
Cells(i, 4) = paramValue.DoubleValue
End If
Cells(i, 5) = params(i).Description
Next i
Dim NewDesignation As String
If paramName.Name = "DESIGNATION" And paramValue.discr = 0 Then
NewDesignation = InputBox("Changer la designation:")
비즈니스 문의 : lionkk@idt21c.com
'VBA For Creo' 카테고리의 다른 글
예제 코드) 활성화된 Session 파일 명 모델 타입 표시하기 (0) | 2020.12.06 |
---|---|
예제 코드 ) 어셈블리의 부품 리스트 - by PTC (0) | 2020.12.02 |
VBA Fundamentals #1 (0) | 2020.11.30 |
VBA Fundamentals #2 (0) | 2020.11.29 |
#1 VB API / 개발 환경 설정 (4) | 2020.11.29 |