반응형
Feature ID and Feature Name Search Program
모델 | 프로그램 실행 |
왼쪽 모델 Tree는 Feature를 추가 하면 자동적으로 Feature 이름이 제공 됩니다. Feature의 이름에 공란이 있습니다. "extrude 1", "Round 1" ... PTC에서 제공 하는 API로는 인식이 불가능 합니다. ipfcmodelItem.GetName 함수를 이용
하여 Feature 이름을 리턴 받습니다. 하지만 "extrude 1", "Round 1"등은 "no_name"으로 표시 됩니다.
사용자가 정의한 Feature 이름은 공란을 넣을수 없습니다.
Feature 타입 이름 표시 기능 사이트
Source code
Sub feature_id()
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 pfcls.IpfcModel
Set oModel = session.CurrentModel
Dim oModelowner As IpfcModelItemOwner
Set oModelowner = session.CurrentModel
Dim oModelitems As IpfcModelItems
Set oModelitems = oModelowner.ListItems(EpfcModelItemType.EpfcITEM_FEATURE)
Dim oModelitem As IpfcModelItem
Dim oFeatureid As Long
Dim i As Integer
For i = 0 To oModelitems.Count - 1
Set oModelitem = oModelitems.Item(i)
oFeatureid = oModelitem.ID
Cells(i + 5, 1) = i + 1
Cells(i + 5, 2) = oFeatureid
Cells(i + 5, 3) = oModelitem.Type
Cells(i + 5, 4) = oModelitem.GetName
Next i
'Disconnect with Creo
conn.Disconnect (2)
End Sub
Using the for each syntax
Sub feature_nameList()
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 pfcls.IpfcModel
Set oModel = session.CurrentModel
Dim oSolid As IpfcSolid
Set oSolid = oModel
Dim features As IpfcFeatures
Set features = oSolid.ListFeaturesByType(False, EpfcFeatureType.EpfcFeatureType_nil)
Dim feature As IpfcFeature
Dim oModelItem As IpfcModelItem
Dim i As Integer
For Each feature In features
Set oModelItem = feature
Cells(i + 5, 1) = i + 1
Cells(i + 5, 2) = oModelItem.ID
Cells(i + 5, 3) = oModelItem.GetName
Cells(i + 5, 4) = oModelItem.Type
i = i + 1
Next
'Disconnect with Creo
conn.Disconnect (2)
End Sub
'VBA For Creo' 카테고리의 다른 글
Part List -ISOVIEW 저장 (0) | 2021.01.08 |
---|---|
Template 프로그램 컨셉 (0) | 2021.01.04 |
VBA 스크립트에서 상속을 사용하여 VB API 함수를 올바르게 구현하는 방법. (0) | 2021.01.01 |
VB API Fundamentals -- VBA 예제 (9 )"ISOVIEW" 이름 뷰로 회전 하기 (0) | 2021.01.01 |
Part List Beta 0.1 (0) | 2020.12.31 |