스크립팅으로 디자인 작업 자동화하기
스크립팅은 Altium Designer에서 기능과 생산성을 크게 향상시키는 강력한 방법입니다. 스크립트는 Altium Designer에서 실행될 때 해석되는 일련의 지침(자동화된 명령)으로 구성됩니다. 스크립트는 여러 언어로 작성할 수 있으며, 정교한 대화상자를 포함할 수 있고 Altium Designer 내에서 디버깅할 수도 있습니다. 스크립트를 사용하면 사용자 입력을 최소화하고 키보드 입력과 마우스 클릭을 줄이면서 설계 목표를 달성할 수 있습니다.
스크립트를 사용하면 반복 작업을 자동화하고, Altium Designer에 기존 명령으로는 제공되지 않는 편집 작업을 수행할 수 있습니다. 예를 들어 스크립트를 사용해 PCB 문서에서 기준 마크(fiducial mark)를 검색하고 업데이트하거나, 사용자 정의된 넷리스트를 내보낼 수 있습니다.
스크립트는 스크립트 프로젝트 또는 설계 프로젝트에 저장할 수 있습니다. Altium Designer에서 스크립트를 작성할 수 있는 스크립트 언어는 여러 가지가 제공됩니다.
스크립팅 시스템 개요 및 설정
Altium Designer 스크립팅 시스템은 소프트웨어에서 작업을 자동화하는 스크립트를 만들기 위해 필요한 모든 도구와 기능을 제공합니다.
스크립트는 반복 작업을 자동화하거나 Altium Designer의 기능을 강화하도록 작성할 수 있습니다. 스크립팅 시스템은 크게 두 부분, 즉 편집기와 디버거로 구성됩니다. 스크립트 편집기, 디버거, 그리고 스크립팅 패널이 함께 작동하여 스크립트를 쉽게 작성하고 디버깅할 수 있도록 도와줍니다. 스크립트는 스크립트 편집기에서 직접 실행할 수도 있고, 메뉴/도구 모음/단축키에 할당하여 PCB 같은 현재 문서에 언제든 적용할 수도 있습니다.
► Altium Designer의 Scripting System에 대해 읽어보기
스크립트 생성 및 저장
Altium Designer 스크립트는 보통 스크립트 프로젝트(*.PrjScr)에서 생성하고 저장하지만, 어떤 유형의 프로젝트에도 추가하거나 저장할 수 있습니다.
스크립트 작성을 시작하려면 새 스크립트 프로젝트를 만든 다음 해당 프로젝트에 스크립트 파일을 추가합니다.
스크립트 프로젝트는 스크립트를 관리하는 데 도움이 되며, 메인 메뉴에서 File » New » Project » Script Project를 선택하여 만들 수 있습니다. 새 프로젝트는 Projects 패널에 표시됩니다. 프로젝트에 새 스크립트를 추가하려면 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 Add New to Project를 선택합니다.
새 스크립트를 만들 때는 프로젝트 요구 사항에 따라 두 가지 스크립트 유형(스크립트 유닛, 스크립트 폼) 중에서 선택할 수 있습니다. 스크립트 유닛은 독립 실행형 프로시저와 함수를 작성할 수 있게 해줍니다. 스크립트 폼은 컨트롤과 이벤트 핸들러를 포함한 대화상자(폼)를 구성할 수 있으며, 프로시저와 함수도 함께 작성할 수 있습니다.
► Altium Designer에서 Creating & Storing Scripts에 대해 읽어보기
스크립트 작성
스크립트 작성에는 다음과 같은 핵심 개념과 용어가 적용됩니다.
-
프로세스(Processes)는 스크립트에서 명령을 실행하는 데 사용할 수 있는 명령 문자열입니다.
-
컴포넌트(Components)는 Tool Palette 패널에 있는 시각적 컨트롤 객체로, 스크립트 폼으로 드래그 앤 드롭하여 설계를 조작할 수 있습니다.
-
스크립트 폼에 배치된 컴포넌트에는 메서드, 속성 및 이벤트가 있습니다.
-
오브젝트 인터페이스(Object Interfaces)는 스크립트에서 설계 문서의 데이터를 추출하고 수정하는 데 사용할 수 있는 특수 오브젝트 인터페이스입니다.
기본 스크립팅 언어는 DelphiScript(*.pas)로 설정되어 있습니다. 스크립팅 엔진 자체는 Embarcadero Delphi로 작성되었으며, Tool Palette 패널은 Delphi의 VCL(Visual Component Library)을 기반으로 합니다.
► Altium Designer에서 Writing Scripts에 대해 읽어보기
스크립트 편집 및 디버깅 도구
Altium Designer 스크립팅 시스템은 편집기와 디버거라는 두 가지 주요 부분으로 구성됩니다. 편집기는 다양한 스크립팅 코드 도움말 및 검사 기능을 제공하고, 디버거는 스크립트 컴포넌트와 디버그 기능에 대한 접근을 제공합니다. 스크립팅 편집기 도구는 스크립트를 디버깅할 때 핵심 자산입니다.
스크립팅 시스템에는 스크립트 디버깅을 돕는 다양한 도구가 있습니다. 예를 들어 스크립트에 여러 개의 중단점(breakpoint)을 적용하고, Watch List 패널을 사용해 변수 값을 모니터링하며, 북마크를 사용해 더 효율적으로 이동하고, step into/step over 기능으로 스크립트를 추적할 수 있습니다.
► Altium Designer에서 Script Editing Tools에 대해 읽어보기
► Altium Designer에서 Debugging Scripts에 대해 읽어보기
스크립트 실행
Altium Designer 스크립팅 시스템은 Altium Designer를 위한 정교한 자동화 작업을 만들 수 있게 해주지만, 결과로 생성된 스크립트는 설계 과정에서 쉽게 접근할 수 있어야 합니다. 예를 들어 PCB를 편집하는 동안 복잡한 작업 집합을 수행하도록 만든 스크립트는 PCB 편집기 자체에서 마우스 클릭 한두 번으로 실행할 수 있도록 즉시 사용할 수 있어야 합니다.
Altium Designer는 스크립트를 프로세스 런처(process launcher)에 할당할 수 있게 하며, 이를 통해 메뉴, 도구 모음, 단축키에 할당 가능한 명령으로 만들 수 있습니다.
스크립트 편집기에서 열려 있는 경우 편집기의 Run 명령을 사용해 스크립트를 실행할 수 있습니다. 이 방식은 스크립트 프로젝트가 Altium Designer에서 열려 있어야 하므로, 예를 들어 PCB 설계 과정에서 필요한 스크립트에 접근하는 방법으로는 편리하지 않습니다. 대안으로 Select Item To Run 대화상자(File » Run Script)를 사용하면 로컬 하드 드라이브 또는 연결된 Workspace에 있는 스크립트를 찾아 원하는 프로세스를 실행할 수 있습니다. 스크립트는 현재 세션 동안 로드된 상태로 유지됩니다.
자주 사용하는 스크립트에 접근하는 더 적합한 방법은 Preferences 대화상자의 Scripting System – Global Projects 페이지에서 해당 프로젝트를 Global Project로 설치하는 것입니다. 이 경우 Altium Designer 시작 시 프로젝트가 자동으로 로드되며, File » Run Script 명령을 통해 언제든 실행할 수 있습니다.
► Altium Designer에서 Running Scripts에 대해 읽어보기
스크립팅 그래픽 컴포넌트
Altium Designer 스크립트에서 사용할 수 있는 시각적 폼 컴포넌트는 대부분 Embarcadero의 VCL(Visual Component Library)에서 파생되며, VCL은 Delphi 및 C++ 언어로 Windows 애플리케이션을 개발하기 위한 정의된 시각적 컴포넌트 모음입니다.
시각적 클래스 라이브러리로 개발된 VCL 클래스는 선형 오브젝트 계층 구조에서 TComponent object(자체가 TObject root object의 하위)로부터 파생됩니다. 따라서 TButton object 같은 일반적인 스크립트 컴포넌트는 상위 오브젝트로부터 속성, 메서드, 이벤트를 상속받습니다. 이 경우 클래스 계층 구조는 TObject → TPersistent → TComponent → TControl → TWinControl → TButtonControl → TButton입니다.
TControl object에서 파생되는 컴포넌트는 일반적으로 시각적 컴포넌트(컨트롤)이며, TWinControl에서 파생되는 일반 컴포넌트는 대부분 Windows API를 감싸는 래퍼(wrapper)라는 점에 유의하십시오.
Altium Designer 스크립트 편집기에서 폼을 만들 때 컴포넌트는 Tool Palette 패널에서 접근합니다. 스크립트 폼에는 연결된 *.DFM 파일이 있으며, 이 파일에는 폼 구성, 컴포넌트 위치 및 기타 속성에 대한 세부 정보가 포함됩니다. 해당 파일은 스크립트 프로젝트의 호스트 폴더에 있습니다. Altium Designer는 스크립트 폼을 설계할 때 DelphiScript 또는 VBScript 중 어느 쪽으로든 컴포넌트를 사용할 수 있게 해줍니다.
► Altium Designer에서 Scripting Graphical Components에 대해 읽어보기
스크립트 예제
스크립팅 시스템의 일반적인 측면과 스크립트에서 Delphi 및 X2 Object Models를 사용하는 방법을 더 잘 이해할 수 있도록, 기능 관점에서 두 가지 예제 프로젝트(보드 외곽선 복사기, 넷리스트 생성 스크립트)를 살펴봅니다. Board Outline Copier 및 Netlister 스크립트는 Altium Designer 스크립팅 시스템의 기능을 보여주기 위해 X2 Object Models를 사용하여 개발되었습니다.
이들은 example script collection에서 제공되는 기존 스크립트입니다. ZIP 파일 내 Scripts 폴더에는 스크립팅 언어에 따라 정리된 하위 폴더가 포함되어 있습니다.
또한 유용한 스크립트는 Altium Designer GitHub collection에서 폭넓게 찾을 수 있습니다.
► Altium Designer에서 Script Example Analysis에 대해 읽어보기
► Altium Designer를 위한 Scripting Examples Reference에 대해 읽어보기
스크립팅 언어 지원
Altium Designer용 스크립트는 여러 스크립트 언어로 작성할 수 있습니다. 스크립팅 문서에서 기본 언어이자 가장 많이 참조되는 언어는 DelphiScript이며, Embarcadero Delphi™와 밀접한 관련이 있습니다.






