스크립팅으로 디자인 작업 자동화하기
스크립팅은 Altium Designer에서 작업 역량과 생산성을 높일 수 있는 강력한 방법입니다. 스크립트에는 Altium Designer에서 실행될 때 해석되는 일련의 지침(자동화된 명령)이 포함됩니다. 스크립트는 여러 언어로 작성할 수 있으며, 정교한 대화상자를 구성하고 Altium Designer 내에서 디버깅할 수 있습니다. 스크립트를 사용하면 사용자 입력과 키보드 조작, 마우스 클릭을 최소화하면서 설계 목표를 달성할 수 있습니다.
스크립트를 사용하면 반복 작업을 자동화하고 Altium Designer의 기존 명령으로는 수행할 수 없는 편집 작업을 수행할 수 있습니다. 예를 들어, 스크립트를 사용하여 PCB 문서의 피듀셜 마크를 검색하고 업데이트하거나 사용자 지정 넷리스트를 내보낼 수 있습니다.
스크립트는 스크립트 프로젝트 또는 설계 프로젝트에 저장할 수 있습니다. Altium Designer에서는 여러 스크립트 언어를 사용하여 스크립트를 작성할 수 있습니다.
스크립팅 시스템 개요 및 설정
Altium Designer 스크립팅 시스템은 소프트웨어의 작업을 자동화하는 스크립트를 만드는 데 필요한 모든 도구와 기능을 제공합니다.
스크립트를 작성하여 반복 작업을 자동화하거나 Altium Designer의 기능을 확장할 수 있습니다. 스크립팅 시스템은 Editor와 디버거라는 두 가지 주요 요소로 구성됩니다. 스크립트 Editor, 디버거, 스크립팅 Panel이 함께 작동하여 스크립트를 쉽게 작성하고 디버깅할 수 있도록 지원합니다. 스크립트는 스크립트 Editor에서 직접 실행하거나 메뉴, 도구 모음 또는 단축키에 할당하여 PCB와 같은 현재 문서에 언제든지 적용할 수 있습니다.
► 자세히 알아보기: Altium Designer의 스크립팅 시스템
스크립트 생성 및 저장
Altium Designer 스크립트는 일반적으로 스크립트 프로젝트(*.PrjScr)에서 생성하고 저장하지만, 어떤 유형의 프로젝트에도 추가하거나 저장할 수 있습니다.
스크립트를 작성하려면 먼저 새 스크립트 프로젝트를 생성하고 해당 프로젝트에 스크립트 파일을 추가합니다.
스크립트 프로젝트는 스크립트 관리에 도움이 되며, 메인 메뉴에서 File » New » Project » Script Project을 선택하여 생성할 수 있습니다. 새 프로젝트는 Projects Panel에 표시됩니다. 프로젝트에 새 스크립트를 추가하려면 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 Add New to Project을 선택합니다.
새 스크립트를 만들 때 프로젝트 요구 사항에 따라 스크립트 유닛과 스크립트 폼이라는 두 가지 유형 중에서 선택할 수 있습니다. 스크립트 유닛에서는 독립적인 프로시저와 함수를 작성할 수 있습니다. 스크립트 폼에서는 프로시저와 함수뿐 아니라 컨트롤과 이벤트 핸들러가 포함된 대화상자도 구성할 수 있습니다.
► 자세히 알아보기: Altium Designer에서 스크립트 생성 및 저장
스크립트 작성
스크립트 작성에 적용되는 몇 가지 필수 개념과 용어가 있습니다.
-
프로세스는 스크립트에서 명령을 실행하는 데 사용할 수 있는 명령 문자열입니다.
-
컴포넌트는 Tool Palette Panel에 있는 시각적 컨트롤 객체로, 스크립트 폼에 끌어다 놓아 설계를 조작할 수 있습니다.
-
스크립트 폼에 배치된 컴포넌트에는 메서드, 속성 및 이벤트가 있습니다.
-
객체 인터페이스는 스크립트에서 설계 문서의 데이터를 추출하고 수정하는 데 사용할 수 있는 특수한 객체 인터페이스입니다.
Default 스크립팅 언어는 DelphiScript(*.pas)로 설정되어 있습니다. 스크립팅 엔진 자체는 Embarcadero Delphi로 작성되었으며, Tool Palette Panel은 Delphi의 VCL(Visual Component Library)을 기반으로 합니다.
► 자세히 알아보기: Altium Designer에서 스크립트 작성
스크립트 편집 및 디버깅 도구
Altium Designer 스크립팅 시스템은 Editor와 디버거라는 두 가지 주요 요소로 구성됩니다. Editor는 다양한 스크립트 코드 지원 및 검사 기능을 제공하며, 디버거는 스크립트 컴포넌트와 디버깅 기능에 대한 접근을 제공합니다. 스크립팅 Editor 도구는 스크립트를 디버깅할 때 유용한 핵심 도구입니다.
스크립팅 시스템에는 스크립트 디버깅을 지원하는 다양한 도구가 있습니다. 여기에는 스크립트에 여러 중단점 설정, Watch List Panel을 사용한 변수 값 모니터링, 책갈피를 사용한 효율적인 위치 이동, 한 단계씩 코드 실행(Step Into) 및 프로시저 단위 실행(Step Over) 기능을 사용한 스크립트 실행 흐름 추적 등이 포함됩니다.
► 자세히 알아보기: Altium Designer의 스크립트 편집 도구
► 자세히 알아보기: Altium Designer에서 스크립트 디버깅
스크립트 실행
Altium Designer 스크립팅 시스템은 Altium Designer를 위한 정교한 자동화 작업을 만드는 수단을 제공하지만, 이렇게 만든 스크립트는 설계 과정에서도 쉽게 접근할 수 있어야 합니다. 예를 들어, PCB 편집 중 복잡한 일련의 작업을 수행하도록 만든 스크립트는 PCB Editor 자체에서 바로 사용할 수 있어야 하며, 한두 번의 마우스 클릭으로 실행할 수 있어야 합니다.
Altium Designer에서는 스크립트를 프로세스 실행기에 할당하여 이를 구현할 수 있습니다. 이렇게 생성된 명령은 메뉴, 도구 모음 및 단축키에 할당할 수 있습니다.
스크립트 Editor에서 스크립트를 열면 Editor의 Run 명령으로 실행할 수 있습니다. 이 방법을 사용하려면 Altium Designer에서 스크립트 프로젝트가 열려 있어야 하므로, 예를 들어 PCB 설계 과정에서 필요한 스크립트에 접근하기에는 불편합니다. 또는 Select Item To Run 대화상자(File » Run Script)에서 로컬 하드 드라이브나 연결된 워크스페이스에 있는 스크립트를 찾아 원하는 프로세스를 실행할 수 있습니다. 스크립트는 현재 세션 동안 로드된 상태로 유지됩니다.
자주 사용하는 스크립트에 접근하는 더 적합한 방법은 Preferences 대화상자의 Scripting System – Global Projects 페이지에서 프로젝트를 전역 프로젝트로 설치하는 것입니다. 이 경우 Altium Designer가 시작될 때 프로젝트가 자동으로 로드되며, File » Run Script 명령을 통해 언제든지 실행할 수 있습니다.
► 자세히 알아보기: Altium Designer에서 스크립트 실행
스크립팅 그래픽 컴포넌트
Altium Designer 스크립트에서 사용할 수 있는 시각적 폼 컴포넌트는 대부분 Embarcadero의 Visual Component Library(VCL)에서 파생되었습니다. VCL은 Delphi 및 C++ 언어를 사용하여 Windows 애플리케이션을 개발하기 위한 사전 정의된 시각적 컴포넌트 모음입니다.
시각적 클래스 라이브러리로 개발된 VCL의 클래스는 선형 객체 계층 구조에서 TComponent 객체로부터 파생됩니다. 이 객체 자체도 TObject 루트 객체로부터 파생된 것입니다. 따라서 TButton 객체와 같은 일반적인 스크립트 컴포넌트는 상위 객체의 속성, 메서드 및 이벤트를 상속합니다. 이 경우 클래스 계층 구조는 TObject → TPersistent → TComponent → TControl → TWinControl → TButtonControl → TButton입니다.
TControl 객체에서 파생된 컴포넌트는 일반적으로 시각적 컴포넌트(컨트롤)이며, TWinControl에서 파생된 일반적인 컴포넌트는 대부분 Windows API를 감싸는 래퍼입니다.
Altium Designer 스크립트 Editor에서 폼을 만들 때는 Tool Palette Panel에서 컴포넌트에 접근합니다. 스크립트 폼에는 관련 *.DFM 파일이 있으며, 이 파일에는 폼의 Configuration, 컴포넌트 위치 및 기타 속성에 대한 세부 정보가 포함됩니다. 이 파일은 스크립트 프로젝트의 호스트 폴더에 있습니다. Altium Designer에서는 스크립트 폼을 설계할 때 DelphiScript 또는 VBScript에서 이러한 컴포넌트를 사용할 수 있습니다.
► 자세히 알아보기: Altium Designer의 스크립팅 그래픽 컴포넌트
스크립트 예제
스크립팅 시스템의 전반적인 측면과 스크립트에서 Delphi 및 X2 객체 모델을 사용하는 방법을 더 깊이 이해할 수 있도록, 두 가지 예제 프로젝트인 보드 외곽선 복사기와 넷리스트 생성 스크립트를 기능 관점에서 살펴봅니다. Board Outline Copier 및 Netlister 스크립트는 Altium Designer 스크립팅 시스템의 기능을 보여주기 위해 X2 객체 모델을 사용하여 개발되었습니다.
이 스크립트들은 Altium에서 제공하는 예제 다운로드 에 포함되어 있습니다. 이 ZIP 파일은 Altium Designer 10 출시 당시 만들어졌습니다. ZIP 파일의 Scripts 폴더에는 스크립팅 언어별로 정리된 하위 폴더가 있습니다.
Altium Designer GitHub 모음에서도 다양하고 유용한 스크립트를 찾아볼 수 있습니다.
► Altium Designer의 스크립트 예제 분석에 대해 알아보기
► Altium Designer의 스크립팅 예제 참조에 대해 알아보기
스크립팅 언어 지원
Altium Designer용 스크립트는 여러 스크립팅 언어로 작성할 수 있습니다. 주로 사용되며 스크립팅 문서에서 가장 많이 다루는 언어는 DelphiScript로, Embarcadero Delphi™와 밀접한 관련이 있습니다.






