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

초보자를 위해 . . . . . Creo VBA API 설정

by ToolBOX01 2026. 4. 26.
반응형

Creo VBA API는 PTC의 3D CAD 소프트웨어인 Creo Parametric을 Microsoft Excel이나 Access 같은 Office 프로그램에서 제어할 수 있도록 해주는 프로그래밍 인터페이스입니다.


엑셀(Excel)이라는 시트와 Creo(CAD)라는 도면 사이의 통로를 만들어 주는 도구

1. 주요 특징 및 작동 원리

  • COM 기반 기술: Windows 표준 기술인 COM(Component Object Model)을 기반으로 하여, 별도의 복잡한 개발 환경 없이도 엑셀만 있으면 즉시 코딩이 가능합니다.

    COM(Component Object Model)은 마이크로소프트가 만든 "서로 다른 프로그램들이 말을 섞을 수 있게 해주는 공용 언어(규격)"라고 이해하시면 쉽습니다.
  • 비동기 연결(Async Connection): 엑셀(외부 프로세스)에서 이미 실행 중인 Creo에 접속하여 명령을 내리는 방식을 주로 사용합니다. 이때 앞서 언급하신 pro_comm_msg.exe가 통신 중계소 역할을 합니다.

 

▶ COM의 핵심 매커니즘: 클라이언트와 서버

COM 기반의 통신은 보통 "손님(Client)과 서비스 제공자(Server)"의 관계로 이루어집니다.

  • COM 서버 (Service Provider): 자신의 기능을 외부에 빌려주는 프로그램입니다. (예: Creo) "나는 치수 변경 기능과 파일 저장 기능을 빌려줄 준비가 됐어!"라고 윈도우 시스템에 자신을 등록합니다.
  • COM 클라이언트 (Consumer): 서버의 기능을 호출하는 프로그램입니다. (예: Excel VBA) "Creo야, 내가 엑셀에 적어둔 치수대로 모델을 수정해줘!"라고 명령을 내립니다.

 

2. Creo VBA 장점 (Pros)

  • 진입 장벽이 낮음: 설계자들에게 친숙한 엑셀 기반이라 새로 언어를 배우는 부담이 적습니다.
  • UI 개발의 용이성: 엑셀의 '사용자 정의 폼'이나 '셀' 자체를 입력창으로 쓸 수 있어, 화려하진 않지만 실용적인 GUI(사용자 인터페이스)를 매우 빠르게 만들 수 있습니다.
  • 무료 라이선스: C++(Toolkit)이나 Java(J-Link) API는 별도의 유료 라이선스가 필요한 경우가 많지만, VBA API는 Creo 기본 패키지에 포함되어 있어 추가 비용이 들지 않습니다.
  • 강력한 문서화 연동: 설계 결과(치수, 무게, BOM)를 즉시 엑셀 보고서로 생성하거나, 반대로 엑셀의 사양표를 읽어와 수천 개의 모델을 자동으로 일괄 변경하는 작업에 최적화되어 있습니다.

 

3. Creo VBA 단점 (Cons)

  • 실행 속도: 프로세스 외부에서 명령을 전달하는 방식(Async)이므로, 수만 개의 객체를 하나하나 제어하는 복잡한 연산에서는 C++ 기반의 Toolkit보다 속도가 느립니다.
  • 기능의 제한: Creo의 모든 기능을 100% 제어할 수 있는 Toolkit에 비해, VBA API는 약 70~80% 정도의 기능(주로 모델 수정, 매개변수 제어, 파일 관리 등)만 지원합니다.
  • 안정성: 대규모 복잡한 어셈블리를 제어할 때 가끔 통신 오류가 발생하거나 Creo가 비정상 종료되는 경우가 발생할 수 있습니다.
  • 배포의 한계: 엑셀 파일 형태로 공유해야 하므로, 기업 규모의 대형 시스템으로 확장하기에는 보안이나 버전 관리 측면에서 제약이 있습니다.
  • 기타 : 백그라운드 프로그램 개발 불가, 즉 Creo가 실행된 상태에서만 동작 합니다

 

▶  CREO VBA API 설치 및 설정 

 

Setting up the VBA API 환경 설정

■  VBA  API 필요성반복적인 업무를 프로그램으로 처리하여, 좀더 생산적이고, 부가 가치가 높은 업무에 노력을 투입하십시요Creo는 다양한 개발 도구를 제공 합니다. Pro/program, VB, VBA, JAVA, C## API

tool-2020.tistory.com

위 블로그 내용은 Creo 9.0 버전을 기준으로 설명하였습니다. Creo 버전에 따라 변동 사항이 있을수 있습니다.


▶  pro_comm_msg.exe 의 역활

pro_comm_msg.exe는 외부 자동화 프로그램(VBA 등)과 Creo CAD를 연결해주는 통신 전용 메신저입니다.

1. 프로세스 간 통신(IPC)의 교량 역할

  • 통신 중계: 외부 응용 프로그램(VBA, Python, C++ Toolkit 등)과 Creo Parametric 본체 사이에서 데이터를 주고받을 수 있도록 하는 메시징 게이트웨이입니다.
  • 비동기 모드 지원: 사용자가 작성한 자동화 프로그램이 Creo와 별도의 프로세스로 실행될 때(Asynchronous Mode), 이 파일이 있어야만 프로그램의 설계 명령이 Creo 모델에 전달됩니다.

 

2. 자동화 설계(API) 필수 요소

  • 환경 변수 설정: 엑셀 VBA 등을 이용해 CAD 자동화 프로그램을 운영할 때, 시스템 환경 변수에 PRO_COMM_MSG_EXE라는 이름으로 이 파일의 전체 경로를 반드시 등록해야 합니다.
  • 명령 실행: AI나 외부 스크립트가 "모델의 치수를 바꿔라"라는 명령을 내리면, 그 신호가 이 파일을 거쳐 Creo의 엔진으로 전달됩니다.

 

3. 시스템 구성 요소

  • 위치: 보통 <Creo 설치경로>\<날짜코드>\Common Files\<플랫폼>\obj\pro_comm_msg.exe에 위치합니다.
  • 중요도: 이 파일이 없거나 경로 설정이 잘못되면 "기타 응용 프로그램이 Creo와 연결되지 않음" 또는 "RPC 통신 오류" 등이 발생합니다.

 


by korealionkk@gmail.com

반응형