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

초보자를 위해 . . . . IpfcBaseSession 모델 읽기, 만들기

by ToolBOX01 2026. 5. 4.
반응형

Creo Parametric API의 최상위 관리자입니다. 모든 작업의 시작점으로, 모델 로드·파일 열기·세션 설정·모델 목록 관리 등을 담당합니다.


기능별 상세 설명

모델 입출력 (teal)

  • RetrieveModel(descr) — 디스크립터로 모델을 세션 메모리에 로드합니다. 창은 열리지 않습니다.
  • OpenFile(descr) — 파일을 열고 IpfcWindow를 반환합니다. 화면에 창이 표시됩니다.
  • CreateModel(descr) — 새 빈 모델을 세션에 생성합니다.
  • ImportNewModel(path, data) — 외부 포맷(STEP, IGES 등) 파일을 새 모델로 가져옵니다.

 

세션 관리 (coral)

  • GetModel(name, type) — 이름과 타입으로 세션에 로드된 모델을 찾아 반환합니다.
  • ListModels() — 현재 세션에 로드된 모든 모델 목록을 반환합니다.
  • GetConfigOption(name) — Creo 환경설정 옵션 값을 읽어옵니다.
  • EraseUndisplayedModels() — 창에 표시되지 않은 모델을 세션에서 일괄 제거합니다. 메모리 정리에 사용합니다.

 


OpenFile vs RetrieveModel 비교

두 메서드의 가장 큰 차이는 반환값창(Window) 생성 여부입니다. 아래 흐름도로 한눈에 비교해 보세요.

 

핵심 차이 요약

항목 RetrieveModel() OpenFile()
반환값 IpfcModel IpfcWindow
창 생성 없음 있음(화면에 표시)
속도 빠름 상대적으로 느림
주 용도 백그라운드 처리 사용자에게 보여줄 때

 

코드 비교

'── RetrieveModel: 창 없이 조용히 로드 ──
Set Model = oSession.RetrieveModel(oModelDescriptor)
Model.Save()        ' 바로 모델 조작 가능

'── OpenFile: 창과 함께 열기 ──
Set Window = oSession.OpenFile(oModelDescriptor)
Set Model  = Window.Model   ' Model은 Window를 통해 접근
Window.Activate             ' 창을 화면 앞으로 가져오기
MsgBox Model.Origin

RetrieveModel을 쓸 때 — 사용자에게 보여줄 필요 없이 파일을 읽거나, 저장하거나, 정보를 추출할 때. 배치 처리나 자동화 스크립트에 적합합니다.

OpenFile을 쓸 때 — 모델을 화면에 표시해야 하거나, 사용자가 직접 확인·편집해야 할 때. Window.Activate로 창을 활성화할 수 있습니다.


IpfcBaseSession.CreateModel()

CreateModel()은 디스크에 파일이 없어도 세션 메모리 안에 새 빈 모델을 생성하는 메서드입니다. RetrieveModel()이 기존 파일을 불러오는 것과 달리, 완전히 새로운 모델을 만들 때 사용합니다.

 

단계별 코드

1단계 — 디스크립터 생성

Dim oNewDescriptor  As New CCpfcModelDescriptor
Dim oModelDescriptor As IpfcModelDescriptor

'// 새로 만들 모델의 타입과 이름 지정
Set oModelDescriptor = oNewDescriptor.CreateModel(
    IpfcModelType.MDL_PART,   ' 모델 타입 (파트)
    "new_part"                ' 모델 이름 (확장자 없이)
)

 

2단계 — CreateModel() 호출

Dim oSession As pfcls.IpfcBaseSession
Dim Model    As IpfcModel

'// 세션에 새 빈 모델 생성 (디스크에는 아직 없음)
Set Model = oSession.CreateModel(oModelDescriptor)

 

3단계 — 화면에 표시 (선택)

'// 창에 표시하고 싶으면
Model.DisplayInNewWindow

 

4단계 — 작업 후 저장

'// 파라미터 추가, 피처 생성 등 작업...

'// 디스크에 저장
Model.Save()
MsgBox "저장 완료: " & Model.FileName

CreateModel()로 만든 모델은 Save()를 호출하기 전까지는 메모리에만 존재하므로, 작업이 끝난 후 반드시 저장해야 데이터가 유지됩니다.

 

 

#8 IpfcBaseSession - 파일 Create Function

■ Create Function 소개 비어 있는 part, 어셈블 파일을 생성 합니다. Template Drawing을 이용하여 새로운 도면을 새성 합니다. 타 CAD 데이터를 import 합니다. IpfcBaseSession.CreateAssembly IpfcBaseSession.CreateDrawingF

tool-2020.tistory.com

 

creo vba api를 설치하면 vba api 메뉴얼을 볼수 있습니다. 이것을  AI(노트북 LM)에게 학습 시키도, 블로그에 있는 예제 코드를 학습 시키면, 새로운 지식을 얻을수 있습니다. 

by korealionkk@gmail.com

반응형

'업무 자동화 > VBA VB.Net Code' 카테고리의 다른 글

CELL 초기화  (0) 2025.01.04
데이터 베이스와 엑셀  (0) 2024.12.29
PowerPoint와 VBA] 3x3 테이블 만들기  (0) 2024.12.28
PowerPoint와 VBA] 소개  (0) 2024.12.28
EXCEL에 자동으로 이미지 삽입  (0) 2024.12.27