본문 바로가기
  • You find inspiration to create your own path !
업무 자동화/VBA, VB.NET For Creo

IpfcBaseSession : Method (Function RetrieveModel)

by ToolBOX01 2025. 11. 9.
반응형

◎ Function RetrieveModel(MdlDescr as IpfcModelDescriptor) as IpfcModel

모델 파일을 디스크에서 읽어와 Creo 세션의 메모리에 로드하는 데 사용됩니다. 이는 모델을 후속 작업에 사용할 수 있도록 준비하는 핵심 기능입니다. 지정된 모델 디스크립터와 일치하는 모델 파일을 Creo Parametric 세션으로 불러옵니다.

매개변수

MdlDescr (IpfcModelDescriptor): 로드할 모델의 이름, 유형, 버전 등의 고유 식별 정보입니다.

반환값

IpfcModel: 세션 메모리에 성공적으로 로드된 모델 객체를 반환합니다.

제한 사항

모델은 표준 검색 경로(Standard Directory)에서만 검색됩니다. 디스크립터에 경로 정보가 포함되어 있더라도 해당 경로는 무시됩니다. 이 함수는 모델을 로드만 하며, 창을 생성하거나 모델을 화면에 표시하지 않습니다.

주요 예외

 

  • IpfcXToolkitNotFound: 모델 파일이 Creo의 표준 검색 경로 (작업 디렉토리, config.pro에 정의된 검색 경로 등)에서 발견되지 않았을 때 발생합니다.
  • IpfcXToolkitNoPermission: 모델 파일을 읽거나 액세스할 권한이 없을 때 발생합니다.
  • 경로 무시: 이 함수를 사용할 때는 MdlDescr에 파일 이름(part_a.prt)과 유형(pfcMDL_PART)만 지정해야 하며, 파일 경로를 지정해도 무시된다는 점을 명심해야 합니다

 


💻 Sample code : 모델 파일 로드

특정 이름의 파트 모델을 디스크에서 Creo 세션으로 로드하지만, 화면에는 표시하지 않는 과정을 보여줍니다.

Dim pfcSession As pfcls.IpfcBaseSession
Dim modelDescriptor As pfcls.IpfcModelDescriptor
Dim retrievedModel As pfcls.IpfcModel

'// --- 검색할 모델 정보 정의 --- //'
Const TARGET_NAME As String = "main_shaft.prt"
Const TARGET_TYPE As pfcls.IpfcModelType = pfcls.pfcMDL_PART

'// 로드할 모델의 디스크립터 생성 (경로 정보 제외) //'
Set modelDescriptor = pfcSession.CreateModelDescriptor( _
    Name:=TARGET_NAME, _
    Type:=TARGET_TYPE, _
    Version:=0 ' 최신 버전 사용
)

MsgBox "'" & TARGET_NAME & "' 모델을 표준 검색 경로에서 로드합니다. (화면에는 표시되지 않음)", vbInformation
Set retrievedModel = pfcSession.RetrieveModel(modelDescriptor)
retrievedModel.Display() ' // 로드된 모델을 화면에 표시하려면 다음 코드가 필요합니다. //'

이 함수는 백그라운드에서 모델을 로드하여 데이터만 추출하거나 모델을 수정하는 등, UI 표시가 필요 없는 자동화 작업에 매우 적합합니다.

by korealionkk@gmail.com


 

 

반응형