반응형
▣ IpfcBaseSession 이란?
IpfcBaseSession은 PTC 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 가능 → 모델 없이 빈 창일 수 있음

반응형
'업무 자동화 > VBA, VB.NET For Creo' 카테고리의 다른 글
| IpfcBaseSession : Method (Sub AuthenticateBrowser) (0) | 2025.10.30 |
|---|---|
| IpfcBaseSession : Method (0) | 2025.10.29 |
| Excel VBA Study] Assembly #1 (2) | 2025.07.23 |
| IpfcBaseSession.ExecuteModelCheck() #1 (3) | 2025.07.22 |
| Excel VBA Study]Running Creo ModelCHECK #1 (0) | 2025.07.20 |