반응형
Feature의 번호 및 이름을 표시 하는 코드 입니다. Feature의 이름은 ipfcmodelitem을 사용 합니다.
사용자가 정의한 이름만 표시 됩니다
Option Explicit
Sub Featurefail()
Application.EnableEvents = False
On Error GoTo RunError
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim conn As pfcls.IpfcAsyncConnection: Set conn = asynconn.Connect("", "", ".", 5)
Dim oSession As pfcls.IpfcBaseSession: Set oSession = conn.session
Dim oModel As IpfcModel: Set oModel = oSession.CurrentModel
Dim oSolid As IpfcSolid: Set oSolid = oModel
Cells(1, "B") = oModel.Filename
Dim oModelowner As IpfcModelItemOwner: Set oModelowner = oSolid
Dim oFeatureItems As IpfcModelItems
Set oFeatureItems = oModelowner.ListItems(EpfcModelItemType.EpfcITEM_FEATURE)
Dim oFeature As IpfcFeature
Dim i As Long
For i = 0 To oFeatureItems.Count - 1
Set oFeature = oFeatureItems(i)
Cells(i + 3, "A") = i + 1 '// Number
Cells(i + 3, "B") = oFeature.Number '// Feature Number
Cells(i + 3, "C") = oFeature.FeatTypeName '// Feature Number
Cells(i + 3, "D") = oFeatureItems(i).GetName '// Feature Name
Cells(i + 3, "E") = oFeatureItems(i).Type '// EpfcModelItemType
Next i
conn.Disconnect (2)
'Cleanup
Set asynconn = Nothing
Set conn = Nothing
Set oSession = Nothing
Set oModel = Nothing
RunError:
If Err.Number <> 0 Then
MsgBox "Process Failed : Unknown error occurred." + Chr(13) + _
"Error No: " + CStr(Err.Number) + Chr(13) + _
"Error: " + Err.Description, vbCritical, "Error"
If Not conn Is Nothing Then
If conn.IsRunning Then
conn.Disconnect (2)
End If
End If
End If
End Sub
■ Part 모드
> Feature 번호 "6"번 분석
- Feature 번호 "6"번은 스케치 Feature 입니다.
- 스케치 Feature는 내부적으로 "no_name"이라는 데이텀 평면을 만들고, 3D 형상을 만듭니다.
- 참조 모델이 Session에 없어, 참조 오류를 발생 시킵니다.
- 자식 Feaure도 오류가 발생 할수 있습니다.
- 모델이 1,000개의 Feature로 구성되어 있고, 맨 처음 Feature가 참조 오류가 있다면, 최악의 악몽일수 있습니다. ㅜ
- 참조를 Part 내부로 변경 합니다. 오류가 없어 집니다. 아래와 같이 "no_name"으로 표시 됩니다.
스케치 Feature는 "참조 방향"을 선택 하지 않아도 됩니다 "DEFAULT_**"은 참조 방향을 CREO 스스로 만든 것 입니다
■ 어셈블 모드
- Part 모드와 동일합니다
Seesion에 없는 모델과 연결돤 모델의 Feature를 알수 있는 함수는 VBA에 제공 하지 않았습니다.
Modelcheck 기능을 사용 하면 가능 합니다.
'VBA For Creo' 카테고리의 다른 글
Model 파일 Assemble (0) | 2022.12.28 |
---|---|
ToolBOX VBA 1.5 개발 작업 #4 (0) | 2022.12.27 |
Parent-Child Relationships between the VB API Objects (0) | 2022.12.23 |
Feature가 종속 하는 파일 이름이 Session에 없는 경우 (0) | 2022.12.19 |
regenerate Failed Feature / Component Check (0) | 2022.12.19 |