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

초보자를 위해 . . . . . session

by ToolBOX01 2026. 4. 26.
반응형

 Creo와 엑셀 연결 확인 코드 (Test Script)

설정이 정상인지 확인하기 위해 아래 코드를 VBA 모듈에 붙여넣고 실행해 보세요.

Dim asynconn As New pfcls.CCpfcAsyncConnection
    Dim conn As pfcls.IpfcAsyncConnection
    Dim session As pfcls.IpfcBaseSession
    
    On Error GoTo ErrorHandler
    
    ' 현재 실행 중인 Creo 세션에 연결 '
    Set conn = asynconn.Connect("", "", "", 5)
    Set session = conn.Session
    
    MsgBox "Creo 연결 성공! 현재 모델명: " & session.CurrentModel.InstanceName
    
    conn.Disconnect (2)
    Exit Sub

ErrorHandler:
    MsgBox "연결 실패: " & Err.Description
End Sub

■ 세션(Session)

Creo 자동화 설계와 VBA API를 다룰 때 *세션(Session)'은 가장 먼저 이해해야 하는 핵심 개념입니다. 쉽게 말해, 세션은 현재 내 컴퓨터 메모리(RAM) 위에서 돌아가고 있는 'Creo의 작업 공간' 그 자체를 의미합니다.

VBA 코드로 Creo를 조종한다는 것은, 곧 "이 세션에 접속하여 메모리에 올라와 있는 모델들을 제어하겠다"는 뜻입니다.

 

 

1. 세션(Session)의 주요 특징

  • 메모리상의 가상 공간: 하드디스크(파일)에 저장된 데이터와 별개로, 현재 Creo 화면에 띄워져 있거나 메모리에 로드된 모든 데이터를 담고 있는 컨테이너입니다.
  • 단일성: 기본적으로 하나의 Creo 프로그램 실행체는 하나의 세션을 가집니다. VBA API는 이 실행 중인 세션을 찾아 연결(Connect)하는 방식으로 작동합니다.
  • 휘발성: Creo를 종료하면 세션 내의 데이터는 사라집니다. 따라서 세션에서 변경된 모델은 반드시 Save 명령을 통해 하드디스크로 옮겨야 합니다.

 

2. VBA API에서 세션이 하는 역할

VBA 코드에서 세션 객체(IpfcBaseSession)는 모든 명령의 '출입문' 역할을 합니다. 세션을 통해 다음과 같은 작업을 수행할 수 있습니다.

  • 모델 관리: 현재 활성화된 창의 모델 가져오기, 특정 파일 열기, 메모리에서 모델 삭제 등.
  • 환경 설정: 단위계(Unit), 표시 설정, 윈도우 크기 조절 등 Creo의 환경 변수 제어.
  • 객체 탐색: 세션 안에 로드된 수많은 부품(Part)과 어셈블리(Assembly) 중 내가 원하는 것을 찾아내기.

 

3. 실무적 비유: 식당의 '테이블'

세션(session)을 이해하기 쉽게 식당에 비유해 봅니다.

  • 냉장고(Hard Disk): 재료(설계 파일)들이 보관되어 있는 곳입니다.
  • 테이블(Session): 요리사(설계자/AI)가 요리를 하기 위해 재료를 꺼내 놓은 공간입니다.
  • 요리 중(Modeling): 테이블 위에서 재료를 썰고 합치는 과정입니다. 아직 냉장고로 다시 들어간 상태는 아닙니다.
  • VBA API: 테이블 옆에서 요리사에게 "이 재료의 크기를 10cm로 잘라줘"라고 대신 명령을 전달하는 조수입니다.

 

4.. VBA 코드에서의 세션 호출 예시

1. Creo와 통로를 연결 (Connect)
Set conn = asynconn.Connect("", "", "", 5)

2. 연결된 통로를 통해 '세션'을 가져옴 (Get Session)
Set session = conn.Session

3. 세션에게 "지금 화면에 떠 있는 모델(CurrentModel)을 내놔"라고 시킴
Set model = session.CurrentModel

 

 

Creo 엑셀 VBA API를 배우기 위해서는 반드시  엑셀 VBA의 기초적인 내용을 먼저 학습 하십시요. 블로그를 참고 하세

 

Excel VBA development environment

1. 매크로 설정 File > Option > 보안센터 > 매크로 설정 2. 제한된 보기 설정 File > Option > 보안센터 > 제한된 보기 3. 개발 도구 매뉴 추가 ■ Creo VBA API 연결 테스트 첨부된 엑셀 파일을 실행 하여, CREO

tool-2020.tistory.com

 


by korealionkk@gmail.com

반응형