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

IpfcBaseSession

by ToolBOX01 2025. 10. 28.
반응형

▣ IpfcBaseSession 이란?

IpfcBaseSessionPTC Creo Parametric의 VBA API에서 제공하는 핵심 인터페이스로, Creo Parametric 세션(Session)에 대한 정보를 정의하고 관리합니다. 현재 실행 중인 Creo 세션(session)을 제어하고 접근할 수 있게 해주는 중앙 허브 클래스입니다.

IpfcBaseSession = Creo Parametric 세션 전체를 제어하는 마스터 컨트롤러

프로그래밍 및 자동화  :
Creo Object TOOLKIT을 사용하는 개발자의 경우, "세션 객체"는 사용 가능한 최상위 객체입니다. 개발자는 Creo 애플리케이션 내에서 특정 데이터에 액세스하기 전에 이 객체에 대한 핸들을 얻어야 합니다.

주요 역할 및 특징

역할 설명
세션 정보 제공 현재 작업 디렉토리, 현재 모델, 현재 윈도우, 연결 ID 등 세션 상태 조회
모델 관리 모델 생성, 검색, 불러오기, 삭제, 표시
파일/디렉토리 조작 작업 디렉토리 변경, 파일 목록 조회, Windchill 워크스페이스 연동
설정 관리 config.pro 옵션 읽기/쓰기, 환경 변수 조회
외부 애플리케이션 연동 J-Link, TOOLKIT DLL 로드 및 실행
사용자 인터랙션 객체 선택, 매크로 실행, 메시지 출력
Windchill/PDM 연동 워크스페이스 등록, 체크아웃, 임포트/익스포트

 


IpfcBaseSession 속성 설명

1. ConnectionId – 세션 연결 ID (String)

Dim Session As IpfcBaseSession
Dim connId As String
connId = Session.ConnectionId

설명

  • 현재 Creo 세션의 고유 연결 ID (문자열)
  • 비동기 외부 프로그램이 동일한 Creo 세션에 연결할 때 사용

사용예

MsgBox "Connect with: " & Session.ConnectionId

 

2. CurrentModel – 현재 활성 모델 (IpfcModel, ReadOnly, Optional)

Dim model As IpfcModel
Set model = Session.CurrentModel   'Nothing 가능!

현재 실행 중인 Creo 세션의 고유 연결 ID를 팝업 메시지로 사용자에게 알려주는 코드

2. CurrentModel – 현재 활성 모델 (IpfcModel, ReadOnly, Optional)

Dim Session As IpfcBaseSession
Dim model As IpfcModel
Set model = Session.CurrentModel   'Nothing 가능!

설명

  • 현재 활성화된 모델(부품/어셈블리/도면)을 반환
  • 읽기 전용, 모델이 없으면 Nothing
  • 반드시 If Not model Is Nothing Then 체크 필수!

사용 예

Dim Session As IpfcBaseSession
Dim model As IpfcModel

Set model = Session.CurrentModel

If Not model Is Nothing Then
    MsgBox "현재 모델: " & model.FileName
Else
    MsgBox "활성 모델이 없습니다."
End If

3. CurrentWindow – 현재 활성 윈도우 (IpfcWindow, Optional)

Dim win As IpfcWindow
Set win = Session.CurrentWindow   'Nothing 가능

설명

  • 현재 포커스된 그래픽 윈도우 객체
  • Nothing 가능 → 모델 없이 빈 창일 수 있음

 


 

반응형