□ 소개
지정된 모델 설명자를 사용하여 Creo Parametric 세션에서 모델을 검색합니다. 모델은 표준 디렉토리에서만 검색되며, 검색된 모델은 세션 내에서 사용할 수 있지만 화면에 표시되지는 않습니다. 검색 과정에서 모델이 발견되지 않거나 접근 권한이 없는 경우 예외가 발생합니다. Session에서 Creo 모델을 가져옵니다.
▷ Exceptions thrown (but not limited to):
- IpfcXToolkitNotFound - The model was not found in the current directory.
- IpfcXToolkitNoPermission - The function does not have permission to operate on this model
□ IpfcBaseSession.RetrieveModel
Function RetrieveModel (MdlDescr as IpfcModelDescriptor) as IpfcModel
▷IpfcModelDescriptor
Creo Parametric 환경에서 모델에 대한 정보를 담고 있는 인터페이스입니다. 마치 책의 목차나 건물의 설계도면처럼, 모델의 구조와 속성에 대한 상세한 정보를 제공합니다.
1. IpfcModelDescriptor가 하는 일
- 모델 식별: 모델의 고유한 이름, 유형, 버전 등을 저장합니다.
- 모델 구성 요소: 모델을 구성하는 부품, 어셈블리, 도면 등의 정보를 관리합니다.
- 모델 속성: 모델의 크기, 재질, 색상 등 다양한 속성을 저장합니다.
- 모델 관계: 다른 모델과의 관계 (예: 부품 간의 조립 관계)를 정의합니다.
2. IpfcModelDescriptor와 CCpfcModelDescriptor의 차이점
3D 모델을 만들 때, 모델에 대한 정보를 저장해야 합니다. 이 정보를 저장하기 위해 IpfcModelDescriptor라는 것을 사용합니다. IpfcModelDescriptor 는 모델의 이름, 종류, 크기, 재질 등 다양한 정보를 담고 있습니다.
CCpfcModelDescriptor 클래스는 이러한 모델 디스크립터를 만들기 위한 기본적인 틀을 제공하는 클래스입니다. 이 클래스를 사용하면 우리가 원하는 형태의 모델 디스크립터를 만들 수 있습니다.
□ Code : Open a Creo Part file in a session
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim conn As pfcls.IpfcAsyncConnection
Dim BaseSession As pfcls.IpfcBaseSession
Dim CreateModelDescriptor As New CCpfcModelDescriptor
Dim ModelDescriptor As pfcls.IpfcModelDescriptor
Dim CreoModelName As string
Dim Window As pfcls.IpfcWindow
CreoModelName = "koread.prt"
Set conn = asynconn.Connect(Null, Null, Null, Null)
Set BaseSession = conn.Session
Set ModelDescriptor = CreateModelDescriptor.CreateFromFileName(CreoModelNam)
Set Model = BaseSession.RetrieveModel(oModelDescriptor) '// Loading a model with a session
'//Create a new window which displays the Creo Model
Set Window = BaseSession.OpenFile(ModelDescriptor)
'//Activate the new window
Window.Activate
'//Show the name of the Creo Model in a messagebox
MsgBox "Model name = " & oModel.Filename
IpfcModelDescriptor.FileVersion = 3 (korea.prt.3)
IpfcModelDescriptor.Path = "C:\TEMP\search.pro"
Test Code :
Function LoadCreoModel(ByVal ModelName As String) As pfcls.IpfcWindow
On Error GoTo HandleError
Dim CreateModelDescriptor As New CCpfcModelDescriptor
Dim ModelDescriptor As pfcls.IpfcModelDescriptor
Dim Window As pfcls.IpfcWindow
Set ModelDescriptor = CreateModelDescriptor.CreateFromFileName(ModelName)
Set Model = BaseSession.RetrieveModel(ModelDescriptor)
Set Window = BaseSession.OpenFile(ModelDescriptor)
Window.Activate
Exit Function
HandleError:
MsgBox "Error loading model: " & Err.Description, vbCritical
Set LoadCreoModel = Nothing
End Function
'VBA, VB.NET For Creo' 카테고리의 다른 글
Get dimension name and value of specific feature (0) | 2025.01.20 |
---|---|
Module] Crero VBA Start Module (0) | 2025.01.20 |
Get parameter values included in feature - IpfcModelItemOwner (0) | 2025.01.18 |
IpfcBaseSession.ListFiles (0) | 2025.01.18 |
IpfcParameterOwner (Managing creo parameters) (0) | 2025.01.18 |