AutoCAD API 제어 방식 (Plug-In vs headless)

kimsh.work·2025년 10월 27일

2.0 Glove Project

목록 보기
38/40

1. 플러그인 방식 (AutoCAD 내부에서 실행)

개념

AutoCAD 프로그램 안에서 실행되는 내장 확장 기능이야.

C#으로 작성한 .dll을 AutoCAD에 로드(NETLOAD)해서 직접 명령처럼 실행해.

즉, AutoCAD의 API를 “내부”에서 바로 조작하는 구조야.

동작 구조

[사용자] ─> [AutoCAD 실행]
           └──> [.NET DLL 플러그인 로드]
                 └──> [명령 실행 (CommandMethod)]
                       └──> [DWG 내부 Database 조작]

장점

  • AutoCAD의 모든 API (도면 객체, 레이어, 스타일, 블록 등)에 직접 접근 가능.
  • AutoCAD 화면에서 바로 실행되므로 디버깅과 시각 확인이 쉬움.
  • GUI 요소 (대화상자, 폼 등) 연동이 가능.

단점

  • AutoCAD가 열려 있어야만 실행 가능.
  • 자동화나 대량 처리(수십~수백 DWG)는 불편함.
  • 사용자의 AutoCAD 설정에 따라 결과가 달라질 수 있음.

활용 예시

  • 사용자가 AutoCAD 내에서 “MAKE_RECT” 명령 입력 → 사각형이 바로 생성됨
  • UI에서 좌표 입력 → DWG에 즉시 반영

2. accoreconsole.exe 방식 (무헤드, Headless)

개념

AutoCAD를 GUI 없이 콘솔 모드로 실행하는 도구야.

AutoCAD 설치 폴더 안에 있는 accoreconsole.exe를 통해

도면을 열고, 플러그인 명령을 자동으로 실행하고, 저장까지 하는 자동화 엔진이야.

동작 구조

[.NET DLL 플러그인] + [스크립트 파일 (.scr)]
        │
        ▼
accoreconsole.exe /i template.dwg /s script.scr
        │
        └──> AutoCAD 엔진이 백그라운드에서 실행되어 명령 수행

장점

  • AutoCAD GUI가 필요 없음 → 서버나 배치 작업에 유리.
  • 수백 개 도면 자동 처리 가능 (ex: 야간 자동 생성 스케줄링).
  • AutoCAD API 동일하게 사용 가능 (플러그인 DLL 그대로 사용).

단점

  • 실시간 그래픽 인터랙션 불가능 (UI 없음).
  • 에러 메시지는 콘솔 출력으로만 확인해야 함.
  • 실행 속도는 AutoCAD 내부보다 약간 느릴 수 있음.

실행 흐름 예시

  1. AutoCAD 플러그인 DLL을 준비 (MyAutoPlugin.dll)

  2. 스크립트(.scr) 파일 작성

    _NETLOAD "C:\\Path\\MyAutoPlugin.dll"
    MAKE_RECT
    QSAVE
    QUIT
    
  3. 콘솔 실행

    accoreconsole.exe /i "C:\template.dwg" /s "C:\script.scr" /l en-US
    

비교 요약

구분플러그인 방식accoreconsole(무헤드) 방식
실행 위치AutoCAD 내부AutoCAD 콘솔 엔진
실행 파일acad.exeaccoreconsole.exe
화면 표시있음 (GUI)없음
속도빠름 (인터랙티브)약간 느림
용도사용자가 수동으로 명령 실행자동화, 배치 작업
배포 형태.dll.dll + .scr (스크립트)
디버깅Visual Studio + AutoCAD로그 분석 중심
대표 활용사용자용 기능추가야간 자동 도면 생성, 일괄 변환

정리

  • “개발 테스트나 단일 도면 작업” → 플러그인 방식
  • “자동으로 수십 개 DWG 생성·업데이트” → accoreconsole 방식
  • 실무에서는 두 방식을 함께 사용하기도 해. (AutoCAD에서 플러그인 개발 → accoreconsole로 자동화 배포)
profile
프라다 신은 빈지노와 쿠페를 타는 꿈을 꿨다.

0개의 댓글