쿼리 언어 사용하기
Altium Essentials: PCB Global Editing and List Panel
This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.
쿼리(Query)란 무엇인가?
복잡한 전자 설계를 진행할 때 가장 큰 과제 중 하나는 방대한 수의 설계 객체를 관리하는 것입니다. 회로도 시트의 컴포넌트, 넷 라벨, 텍스트 문자열부터 PCB 라우팅을 구성하는 수백 개의 컴포넌트와 트랙까지, 이러한 객체에 접근하고 검토하며 편집할 수 있어야 합니다. 대부분의 Windows 애플리케이션처럼 객체를 더블클릭해 속성을 편집할 수 있습니다. 단일 객체에는 괜찮지만, 300개 이상의 컴포넌트 디자인레이터 문자열을 편집하거나 PCB의 모든 비아를 변경해야 한다면 이런 방식은 적합하지 않습니다. 이런 종류의 업데이트를 하려면 여러 객체에 동시에 접근해야 합니다.
Altium Designer의 회로도 및 PCB 편집기 기반에는 강력한 쿼리 엔진이 있습니다. 이 엔진에 쿼리를 입력하면 필요한 객체만 정확히 찾아 필터링하고 편집할 수 있습니다.
Altium Designer의 강력한 데이터 필터링 및 편집 시스템을 사용하면 소프트웨어가 지정된 객체 집합을 반환하도록 지시할 수 있습니다. 이 지시는 쿼리 형태로 입력됩니다. 쿼리는 특정 키워드와 문법을 사용해 입력하는 문자열로, 대상 객체를 반환합니다. 그 객체로 무엇을 할지는 사용자가 결정합니다. 예를 들어 해당 객체를 하이라이트하고 다른 모든 객체는 흐리게 표시할 수도 있고, 해당 객체들의 속성을 찾아보거나 정렬한 뒤 모두가 공유하는 특정 속성을 수정할 수도 있습니다.
쿼리를 적용할 수 있는 위치는 여러 곳이 있지만, 핵심은 아래 이미지에 표시된 Filter 패널입니다. F12를 눌러 Filter 패널을 표시/숨길 수 있습니다.
쿼리가 포함된 PCB Filter 및 SCH Filter 패널

쿼리가 포함된 PCBLIB Filter 및 SCHLIB Filter 패널
패널의 컨트롤은 쿼리를 어떤 객체에 적용할지, 그리고 쿼리를 통과한 객체와 통과하지 못한 객체를 어떻게 처리할지를 정의하는 데 사용됩니다.
SCH Filter Panel

SCH Filter 패널에서 논리 쿼리를 사용해 객체를 빠르게 찾아 하이라이트할 수 있습니다.
요약
SCH Filter 패널을 사용하면 논리 쿼리를 생성하여 필터를 구성할 수 있습니다. 정의된 필터는 활성 회로도 문서 또는 열려 있는 모든 회로도 문서에 적용할 수 있어, 더 높은 정확도와 효율로 여러 객체를 선택하고 편집할 수 있습니다.
패널 접근
패널은 다음 방법으로 열 수 있습니다:
- SCH Editor가 활성화되어 있을 때 편집기 오른쪽 하단의 Panels 버튼을 클릭한 다음, 팝업 메뉴에서 SCH Filter 를 선택합니다.
- View » Panels » SCH Filter를 클릭합니다.
- F12 바로가기 키를 클릭합니다.
필터 범위 정의
패널의 첫 번째 영역에는 필터 범위를 정의하는 컨트롤이 있습니다:
Limit search to 영역은 필터 범위를 추가로 세분화하는 컨트롤을 제공합니다:
- All Objects - 모든 설계 객체에 필터를 적용합니다.
- Selected Objects - 현재 선택된 설계 객체에만 필터를 적용합니다.
- Non Selected Objects - 현재 선택되지 않은 설계 객체에만 필터를 적용합니다.
Consider objects in 드롭다운 필드는 필터가 적용되는 위치를 제어합니다. 다음 옵션 중에서 선택하십시오:
- Current Document - 활성 회로도 문서에만 필터링을 적용합니다(기본값).
- Open Documents - 열려 있는 모든 회로도 문서에 필터링을 적용합니다.
- Project Documents - 동일한 상위 프로젝트의 소스 문서인 열려 있는 모든 회로도 문서에 필터링을 적용합니다.
필터 쿼리 정의
패널의 중앙 영역에서는 논리 쿼리를 입력하여 필터를 구성할 수 있습니다. 필드에 쿼리를 직접 입력할 수 있으며, 입력하는 동안 가능한 키워드 목록이 프롬프트로 표시되어 도움을 줍니다.
쿼리 생성을 돕기 위해 Query Helper를 사용할 수 있습니다. 이 기능은 쿼리 문법이나 사용할 수 있는 키워드가 확실하지 않을 때 매우 유용합니다. Query Helper를 사용하려면 Helper 버튼을 클릭하여 Query Helper 대화상자를 여십시오. 내부의 Query Engine이 문서를 분석해 사용 가능한 모든 객체를 나열하고, 쿼리에 사용할 수 있는 일반 키워드도 함께 제공합니다.
대화상자 상단 섹션에서 제공되는 SCH Functions 및 System Functions를 사용해 쿼리 표현식을 작성합니다. 대화상자 중간 섹션에는 표현식을 구성할 때 사용할 수 있는 다양한 연산자가 제공됩니다. Check Syntax 버튼을 사용해 표현식의 문법이 올바른지 확인할 수 있습니다.
필요한 쿼리 표현식이 정의되면 OK를 클릭하여 SCH Filter 패널의 중앙 영역에 쿼리를 로드하고, 필터를 적용할 준비를 마칩니다.
필터 하이라이팅 정의
쿼리를 적용하기 전에, 필터링 결과가 설계 작업 공간에서 시각적으로 어떻게 보일지 정의하는 것이 좋습니다. 패널의 Objects passing/not passing the filter 영역은 영구 필터링을 위한 하이라이트 컨트롤을 구성하는 다양한 옵션을 제공합니다.
Objects passing the filter 영역에서 제공되는 옵션은 필터 범위에 포함되며 필터의 특정 쿼리 표현식과 일치하는 모든 객체의 작업 공간 내 시각적 표시를 제어합니다:
- Select - 활성화 시(기본값) 필터링된 객체가 작업 공간에서 선택됩니다.
- Zoom - 활성화 시(기본값) 필터링된 객체가 설계 편집기 창에서(가능한 경우) 확대되어 중앙에 배치됩니다.
Objects not passing the filter 영역에서 제공되는 옵션은 필터 범위에 포함되지 않거나 및/또는 필터의 특정 쿼리 표현식과 일치하지 않는 모든 객체의 작업 공간 내 시각적 표시를 제어합니다:
- Deselect - 활성화 시(기본값) 필터 범위에 포함되지 않는 모든 객체가 작업 공간에서 선택 해제됩니다.
- Mask out - 활성화 시(기본값) 필터링된 객체는 설계 편집기 창에서 완전히 보이는 상태로 표시되고, 다른 모든 객체는 흐리게 표시됩니다. 마스킹이 적용되면 필터 범위에 포함되지 않는 모든 객체는 선택/편집할 수 없게 됩니다.
이 옵션들은 어떤 조합으로든 활성화할 수 있습니다. 예를 들어, 쿼리 범위에 포함되는 모든 필터링 객체를 설계 편집기 창에서 확대, 중앙 정렬, 선택 상태로 만들고, 동시에 마스킹을 적용해 다른 설계 객체로 인한 복잡함을 줄일 수 있습니다.
필터 적용 및 해제
쿼리를 정의하고 패널의 옵션을 필요에 맞게 설정했다면, Apply 버튼을 클릭하거나 Enter를 눌러 필터를 적용할 수 있습니다.
패널에서 현재 적용된 필터를 해제하려면, 패널에서 쿼리 표현식 입력을 지운 다음 Apply 버튼을 클릭하거나 Enter를 누르십시오. 설계 작업 공간의 모든 객체가 완전히 표시되며 선택/편집이 가능해집니다.
우클릭 메뉴
SCH Filter 패널 내부에서 우클릭하면 팝업 메뉴를 통해 추가 옵션과 명령에 접근할 수 있습니다.
메뉴는 다음 명령을 제공합니다:
- Add to Favorites - 패널에 현재 표시된 쿼리 표현식을 즐겨찾는 쿼리 목록에 추가합니다. 쿼리는 Expression Manager 대화상자의 Favorites 탭에 새 항목으로 나타납니다. 즐겨찾는 쿼리 목록에 추가되면 우클릭 메뉴 상단에 표시됩니다. 즐겨찾기에 가장 최근 추가된 10개의 쿼리가 메뉴에 표시되며(가장 최근 항목이 맨 위), 즐겨 사용하는 쿼리 표현식에 빠르게 접근하고 재사용할 수 있습니다.
- Organize Favorites - 이 명령을 사용하면 Expression Manager 대화상자의 Favorites 탭에 접근할 수 있으며, 여기서 즐겨찾는 쿼리 목록의 항목을 필요에 따라 정리(이름 변경, 삭제)할 수 있습니다.
- Examples - 클릭하면 미리 정의된 예제 필터의 하위 메뉴에 접근합니다. 예제 필터를 선택하면 연결된 기본 쿼리 표현식이 패널 중앙 영역에 로드됩니다.
- History - 클릭하면 패널의 쿼리 히스토리 목록에서 가져온 최근 사용 쿼리 표현식 9개가 포함된 하위 메뉴에 접근합니다. More 항목을 클릭하면 Expression Manager 대화상자의 History 탭에 접근할 수 있으며, 여기서 전체 히스토리 쿼리 목록을 탐색하고 쿼리를 적용할 수 있고 필요에 따라 히스토리 목록을 지울 수도 있습니다.
Notes
General
- F12 키를 누르면 작업 공간에서 패널의 표시/숨김이 전환됩니다.
- Query Helper 대화상자를 사용해 쿼리를 구성할 때, 입력한 키워드 내부를 클릭하거나 사용 가능한 목록 중 하나에서 키워드를 클릭한 다음 F1 를 누르면 해당 키워드에 대한 도움말이 열립니다. SCH Filter panel의 중앙 영역에서 키워드 안을 클릭한 뒤 F1를 누르는 방식으로도 키워드 수준의 도움말에 유사하게 접근할 수 있습니다.
- 패널의 형태와 크기에 따라 내용은 가로 또는 세로로 동적으로 재배치됩니다.
When building query expressions
- 쿼리가 올바르게 해석되지 않을 가능성이 조금이라도 있다면, 괄호를 사용하는 것을 강력히 권장합니다.
-
괄호는 제공되는 다양한 연산자에 대해 정의된 우선순위 체계에서 가장 높은 우선순위를 가지며, (괄호를 제공하지 않았을 때) 소프트웨어가 쿼리를 어떻게 해석하는지를 결정합니다. 우선순위의 순서는 다음과 같습니다:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
이 우선순위는 Pascal 계열 언어에서 사용되는 것과 유사합니다. 괄호를 넉넉히 사용하면 모호함이 사라지고, 다른 사람이 결과 쿼리를 더 쉽게 읽을 수 있습니다. - 모호한 경우에는 왼쪽에서 오른쪽으로 진행하면서 해결됩니다.
- 괄호는 안쪽에서 바깥쪽으로 평가되며, 동일한 수준에서는 왼쪽에서 오른쪽으로 처리됩니다.
- 적용된 필터를 통과한 객체와 통과하지 못한 객체에 대한 표시 옵션이 분리되어 있으므로, 이전 필터링 결과를 기반으로 새로운 필터 쿼리를 효과적으로 적용할 수 있습니다.
- SCH Filter panel의 Queries를 사용하여 적용한 필터링은 영구적입니다. 필터를 통과하지 못한 설계 객체를 마스킹할 때, 마스킹의 정도는 패널 하단의 슬라이더 바로 제어합니다.
- 영구 필터는 SCH Filter panel에서 빈 쿼리를 적용하여 해제해야 합니다.
SCHLIB Filter Panel
SCHLIB Filter panel에서 논리 쿼리를 사용하여 Schematic Library 객체를 빠르게 찾아 하이라이트합니다.
Summary
SCHLIB Filter panel을 사용하면 논리 쿼리를 생성하여 필터를 구성할 수 있습니다. 정의된 필터는 활성 회로도 라이브러리 컴포넌트 또는 활성 회로도 라이브러리의 모든 컴포넌트에 적용할 수 있으며, 이를 통해 여러 객체를 더 높은 정확도와 효율로 선택하고 편집할 수 있습니다. 객체의 시각적 표시는 필터의 검색 기준에 일치하는 객체와 일치하지 않는 객체를 기준으로 지정할 수 있습니다.
Panel Access
패널은 다음 방법으로 열 수 있습니다:
- 작업 공간 오른쪽 하단의 Panels 버튼을 클릭한 다음 SCHLIB Filter를 선택합니다.
- 메인 메뉴에서 View » Panels » SCHLIB Filter 를 클릭합니다.
- F12 단축키를 사용합니다.
Defining Filter Scope
SCHLIB Filter panel의 왼쪽 영역에는 필터의 범위를 정의(제한)하기 위한 컨트롤이 있습니다.
범위 옵션은 다음과 같습니다:
- All Objects - 모든 설계 객체에 필터를 적용합니다.
- Selected Objects - 현재 선택된 설계 객체에만 필터를 적용합니다.
- Non Selected Objects - 현재 선택되지 않은 설계 객체에만 필터를 적용합니다.
- Whole Library - 필터링을 활성 컴포넌트에만 적용할지(옵션 비활성화) 또는 활성 회로도 라이브러리 문서의 모든 컴포넌트에 적용할지(옵션 활성화) 제어합니다.
Defining Filter Queries
SCHLIB Filter panel의 중앙 영역에서는 논리 쿼리를 입력하여 필터를 구성할 수 있습니다.
필드에 쿼리를 직접 입력할 수 있으며, 입력하는 동안 가능한 키워드의 프롬프트 목록이 도움말로 표시됩니다.
Query Helper
프롬프트 목록과 함께, 패널은 쿼리 생성을 돕기 위한 Query Helper 기능도 제공합니다. 이 기능은 쿼리의 구문이나 사용 가능한 키워드가 확실하지 않을 때 매우 유용합니다. Query Helper를 사용하려면 Helper 버튼을 클릭하여 Query Helper 대화상자를 여세요. 기본 Query Engine이 문서를 분석하여 사용 가능한 모든 객체를 나열하고, 쿼리에 사용할 수 있는 일반 키워드도 함께 제공합니다.
대화상자 상단 섹션에서 사용 가능한 SCH Functions 및 System Functions를 사용하여 쿼리 표현식을 작성합니다. 대화상자 중간 영역에는 표현식을 구성할 때 사용할 수 있는 다양한 연산자가 제공됩니다. Check Syntax 버튼을 사용해 표현식의 구문이 올바른지 확인합니다.
필요한 대로 쿼리 표현식을 정의했으면, OK를 클릭하여 쿼리를 SCHLIB Filter panel의 중앙 영역으로 로드합니다. Apply 버튼을 사용해 필터를 적용합니다.
라이브러리 전체에 적용하면, 필터를 만족하는 핀이 다른 모든 컴포넌트에 대해 하이라이트됩니다.
필터 적용에 대한 자세한 내용은 아래의 Applying and Clearing a Filter 섹션을 참고하세요.
Defining Filter Highlighting
SCHLIB Filter panel에서 쿼리를 적용하기 전에, 필터링 결과가 설계 편집기 작업 공간에서 시각적으로 어떻게 보이길 원하는지 정의하는 것이 좋습니다. 패널의 오른쪽 영역에는 영구 필터링을 위한 하이라이트 컨트롤을 구성하는 다양한 옵션이 제공됩니다.
Objects passing the filter 옵션을 사용하면 범위에 포함되며 필터의 특정 쿼리 표현식과 일치하는 모든 객체가 작업 공간에서 어떻게 표시될지 제어할 수 있습니다.
- Select - 활성화(기본값)하면, 필터링된 객체가 작업 공간에서 선택됩니다.
- Zoom - 활성화(기본값)하면, 필터링된 객체가 라이브러리 편집기 창에서(가능한 경우) 확대되고 중앙에 배치됩니다. 확대 동작은 Preferences 대화상자의 Schematic - Library AutoZoom 페이지에 설정된 Zoom Library Components 옵션으로 결정할 수 있습니다.
반대로, Objects not passing the filter 옵션을 사용하면 범위에 포함되지 않거나 및/또는 필터의 특정 쿼리 표현식과 일치하지 않는 모든 객체가 작업 공간에서 어떻게 표시될지 제어할 수 있습니다.
- Deselect - 활성화(기본값)하면, 필터 범위에 포함되지 않는 모든 객체가 작업 공간에서 선택 해제됩니다.
- Mask out - 활성화(기본값)하면, 필터 범위에 포함되지 않는 모든 객체가 라이브러리 편집기 창에서 마스킹됩니다. 슬라이더를 사용해 마스크 수준을 정의합니다.
Applying and Clearing a Filter
쿼리를 정의하고 패널의 옵션을 필요에 맞게 설정한 후에는, 패널의 Apply 버튼을 클릭하거나 Enter를 눌러 필터를 적용할 수 있습니다.
패널에서 현재 적용된 필터를 해제하려면, 패널 중앙 영역의 쿼리 표현식을 지운(선택 후 삭제) 다음 Apply 버튼을 클릭하거나 Enter를 누르세요. 설계 작업 공간의 모든 객체가 완전한 가시성으로 복원되며 선택/편집이 가능해집니다.
작업 공간의 필터링만 해제하고 쿼리 표현식은 패널 중앙 영역에 로드된 상태로 유지하려면, Sch Lib Standard 툴바의 Clear Current Filter 버튼을 사용하세요(단축키 Shift+C).
Right-Click Menu
SCHLIB Filter panel 안에서 마우스 오른쪽 버튼을 클릭하면 팝업 메뉴를 통해 추가 옵션과 명령에 접근할 수 있습니다.
메뉴는 다음 명령을 제공합니다:
- Add to Favorites - 사용하면 패널 중앙 영역에 현재 표시된 쿼리 표현식을 즐겨찾기 쿼리 목록에 추가합니다. 쿼리는 Expression Manager 대화상자의 Favorites 탭에 새 항목으로 나타납니다. 즐겨찾기 쿼리 목록에 추가되면, 해당 쿼리는 오른쪽 클릭 메뉴의 상단에 표시됩니다. 즐겨찾기에 가장 최근 추가된 10개의 쿼리가 메뉴에 표시되며(가장 최근 항목이 맨 위), 즐겨찾는 쿼리 표현식에 빠르게 접근하고 재사용할 수 있습니다.
- Organize Favorites - 사용하면 즐겨찾기 쿼리 목록의 항목을 정리(이름 변경, 삭제)할 수 있는 Expression Manager 대화상자의 Favorites 탭에 접근합니다.
- Examples - 클릭하면 미리 정의된 예제 필터의 하위 메뉴에 접근합니다. 예제 필터를 선택하면, 연결된 기본 쿼리 표현식이 패널 중앙 영역에 로드됩니다.
- History - 클릭하면 패널의 쿼리 히스토리 목록에서 가져온 최근 사용 쿼리 표현식 9개가 포함된 하위 메뉴에 접근합니다. More 항목을 클릭하면 Expression Manager 대화상자의 History 탭에 접근할 수 있으며, 여기서 전체 히스토리 쿼리 목록을 탐색하고 쿼리를 적용할 수 있고 필요에 따라 히스토리 목록을 지울 수도 있습니다.
- Show Scope Options - 사용하면 패널의 필터 범위 영역 표시를 전환합니다.
- Show Masking Options - 사용하면 패널의 필터 하이라이팅 영역 표시를 전환합니다.
Notes
General
- F12 키를 누르면 작업 공간에서 패널의 표시/숨김이 전환됩니다.
- SCHLIB Filter 패널에서 Queries를 사용해 적용한 필터링은 해당 세션 동안 영구적으로 유지됩니다. 영구 필터는 해당하는 Clear 동작(즉, SCHLIB Filter 패널에서 빈 쿼리를 적용)을 통해 해제해야 합니다.
- SCHLIB Filter 패널 자체의 형태와 크기에 따라 내용은 가로 또는 세로로 동적으로 배치됩니다.
Building Query Expressions
- 쿼리가 올바르게 해석되지 않을 가능성이 조금이라도 있다면, 괄호를 사용하는 것을 강력히 권장합니다.
-
괄호는 제공되는 다양한 연산자에 대해 정의된 우선순위 체계에서 가장 높은 우선순위를 가지며, 사용자가 괄호를 제공하지 않았을 때 소프트웨어가 쿼리를 어떻게 해석할지를 결정합니다. 이 우선순위의 순서는 다음과 같습니다:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
이 우선순위는 Pascal 계열 언어에서 사용되는 것과 유사합니다. 다만 괄호를 충분히 사용하면 해석의 여지를 없애고, 다른 사람이 결과 쿼리를 더 쉽게 읽을 수 있습니다. - 모호한 경우에는 왼쪽에서 오른쪽으로 처리하여 해결합니다.
- 괄호(Parentheses)는 안쪽에서 바깥쪽으로 평가되며, 동일한 수준에서는 왼쪽에서 오른쪽으로 처리됩니다.
PCB Filter Panel

PCB Filter panel
Summary
PCB Filter panel은 논리 쿼리를 생성하여 필터를 구성할 수 있는 컨트롤을 제공합니다. 이렇게 정의된 필터는 활성 PCB에 적용할 수 있으며, 높은 정확도와 효율로 여러 객체를 선택하고 편집할 수 있습니다.
Panel Access
패널은 PCB 편집기에서 다음 방법으로 열 수 있습니다.
- 작업 공간 오른쪽 아래의 Panels 버튼을 클릭한 다음 PCB Filter를 선택합니다.
- 메인 메뉴에서 View » Panels » PCB Filter를 클릭합니다.
- F12 단축키를 사용합니다.
Panel Sections
PCB Filter panel은 세 개의 영역으로 구성됩니다. 처음 두 영역은 선택 가능한 목록 영역이며, 함께 필터링 범위를 정의합니다: Object 및 Layer.
세 번째 영역인 Filter는 현재 선택된 객체와 레이어를 기반으로 생성된 쿼리를 표시합니다.
Building Simple Filter Expressions
패널의 주요 영역은 객체 조합을 대상으로 하는 간단한 필터 표현식을 빠르게 만들 수 있는 컨트롤을 제공합니다. 객체 유형은 ‘객체 매트릭스(object matrix)’로 배열되며, 넷 객체(Net), 컴포넌트 객체(Comp), 또는 자유 객체(Free)로 분류됩니다. 다음의 핵심 객체 목록은 이 세 그룹에 공통으로 반복됩니다.
- Track
- Arc
- Via
- Pad
- Fill
- Region
Text object는 Comp 및 Free 그룹의 일부로 제공되지만, 이 객체 유형은 넷을 인지(net-aware)하지 않으므로 Net 그룹에는 포함되지 않습니다. 또한 Free 그룹에는 다음도 포함됩니다: Component, Component Body, Room, Polygon.
예를 들어 이것들이 ‘Component’와 ‘Top Layer’로 설정되어 있으면, 보드 뷰에서 Top Layer의 컴포넌트가 하이라이트됩니다. 두 패널 섹션의 선택은 여러 단계의 필터링 동작이 누적된 효과를 나타내며, 이를 통해 어떤 유형의 설계 객체든 빠르게 하이라이트할 수 있습니다.
필터 표현식 구성에 객체를 사용(즉, 해당 객체로 필터링)하려면, 객체 매트릭스에서 그 객체에 해당하는 체크박스를 활성화하세요. 이 영역의 우클릭 메뉴에서 제공되는 명령을 사용하면 매트릭스의 모든 항목을 빠르게 체크/해제하거나, 모든 체크박스의 상태를 토글할 수 있습니다.
패널의 Layer 영역을 사용하여 필터를 특정 레이어(들) 또는 특정 레이어 클래스에 제한할 수 있습니다. 나열되는 항목은 다음을 반영합니다.
-
보드에 정의된 레이어 클래스(기본값은 다음과 같음):
- <All Layers>
- <Component Layers>
- <Electrical Layers>
- <Signal Layers>
- 레이어 스택에 정의된 레이어(레이어 스택 편집기에 표시되는 대로).
- 상단 및 하단 페이스트 마스크 레이어.
필터링 선택을 변경할 때마다 결과 쿼리 표현식이 동적으로 생성되어 패널의 Filter 영역에 표시됩니다. 필터 쿼리 표현식을 원하는 대로 정의한 후에는 별도의 동작으로 이를 적용해야 합니다. 이를 위해 패널 하단의 Apply to All 버튼을 클릭하세요. 또는 작업 공간에서 현재 선택된 객체에만 적용하려면 Apply to Selected 버튼을 클릭합니다.
Filtering by Object
패널의 Object 목록에서 선택하면 보드 뷰가 프리미티브(primitive) 설계 객체를 표시하도록 필터링됩니다. Object 및/또는 Layer 필터 목록의 설정으로 변경되지 않는 한 모든 객체가 하이라이트됩니다.

Object 아래에서 Component Body 및 Pad (In Any Component) 가 선택된 상태로 표시된 보드. Layer <All>는 <All>로 설정됩니다.

Object 이 Tracks (In Any Net) 및 Pads (In Any Net)로 설정된 상태로 표시된 보드. Layer 는 <All>로 설정됩니다.
Filtering by Layer
패널의 Layer 목록에서 선택하면 보드 뷰가 지정된 물리 설계 레이어(신호, 마스크, 실크스크린 레이어)의 객체를 표시하도록 필터링됩니다. Layer 및/또는 Objects 필터 목록의 설정으로 변경되지 않는 한, 유효한 레이어 객체는 모두 하이라이트됩니다.

Object 가 Components 및 Pads (In Any Component)로 설정된 상태로 표시된 보드. Layers Top Layer는 Top Layer로 설정됩니다.

Object 가 Tracks (In Any Net)로 설정된 상태로 표시된 보드. Layer Bottom Layer는 Bottom Layer로 설정됩니다.
Selecting Filtered Objects
패널이 제공하는 통합 필터 동작은 관심 있는 보드 설계 객체를 확인하고 선택하는 데 모두 도움이 됩니다.
하이라이트(필터링)된 객체만 선택할 수 있으므로, 객체를 쉽게 찾고 편집하며 해당 객체의 정보를 확인할 수 있습니다.
Clearing the Filter
현재 적용된 필터를 해제하려면 Clear 버튼을 클릭하세요.
Setting the Visual Filtering
작업 공간 문서에서 적용된 필터링의 시각적 결과는 일련의 하이라이트 컨트롤에 의해 결정됩니다. 편집기 뷰에 적용되는 효과는 Normal, Mask 또는 Dim로 설정할 수 있으며, 실제로는 Mask 가 가장 눈에 띄는 하이라이트 효과를 제공합니다.
Normal / Mask / Dim 드롭다운 목록은 작업 공간에서 필터링된 객체와 필터링되지 않은 객체를 시각적으로 대비시키는 옵션을 제공합니다.

마스킹 모드 드롭다운 목록을 사용하여 적용할 시각적 필터링 유형을 선택합니다.
각 마스킹 모드의 시각적 하이라이트 효과:
- Normal - 필터링된 객체는 작업 공간에서 보이며, 필터링되지 않은 객체의 외관은 변경되지 않습니다.
- Mask - 필터링된 객체는 작업 공간에서 하이라이트되며, 그 외 모든 객체는 단색(모노크롬)으로 표시됩니다.
- Dim - 필터링된 객체는 작업 공간에서 하이라이트되며, 그 외 모든 객체는 색상을 유지하지만 음영 처리됩니다.
Defining Filter Queries
패널의 중앙 영역은 논리 쿼리를 입력하여 필터를 구성할 수 있는 컨트롤을 제공합니다.
쿼리는 필드에 직접 입력할 수 있으며, 입력하는 동안 도움말로 가능한 키워드 목록이 표시됩니다.
쿼리 생성에 도움이 되는 두 가지 기능( Query Helper 및 Query Builder )을 사용할 수 있습니다. 이 기능들은 쿼리 구문이나 사용 가능한 키워드가 확실하지 않을 때 매우 유용합니다.
Query Helper
Query Helper를 사용하려면 Helper 버튼을 클릭하여 Query Helper 대화상자를 여십시오. 기본 Query Engine이 문서를 분석하여 사용 가능한 모든 객체를 나열하고, 쿼리에 사용할 수 있는 일반 키워드도 함께 제공합니다.
대화상자 상단 영역을 사용하여 사용 가능한 PCB Functions, PCB Object Lists 및 System Functions를 이용해 쿼리 표현식을 작성하십시오. 대화상자 가운데 영역에는 표현식을 구성할 때 사용할 수 있는 다양한 연산자가 제공됩니다. Check Syntax 버튼을 사용하여 표현식의 구문이 올바른지 확인하십시오.
필요한 대로 쿼리 표현식을 정의했으면 OK을(를) 클릭하여 패널의 중앙 영역에 쿼리를 로드하고, 필터를 적용할 준비를 하십시오.
Query Builder
Query Builder를 사용하려면 패널의 Builder 버튼을 클릭하여 Building Query from Board dialog를 여십시오. 이 대화상자는 AND 및/또는 OR 조건 문자열을 구성하여 설계 문서에서 특정 객체를 대상으로 하는 쿼리를 만들 수 있게 해줍니다. 대화상자 왼쪽은 필요한 객체 집합을 대상으로 하기 위해 필요한 조건을 지정하는 데 사용됩니다. 처음에는 Condition Type/Operator 열의 항목이 Add first condition로 표시됩니다. 이 항목을 한 번 클릭하면 조건 유형의 드롭다운 목록이 나타납니다.
나열되는 조건 유형은 보드 설계와 관련된 항목만 반영합니다.
원하는 조건을 선택한 다음 Condition Value 열을 클릭하여 해당 조건 유형에 가능한 값의 드롭다운 목록에 접근하십시오. 대화상자 왼쪽에서 조건을 정의하면, 현재 구성 중인 쿼리의 미리보기가 오른쪽에 표시됩니다.
필요에 따라 대상 설계 객체 집합을 더 좁히기 위해 추가 조건을 계속 추가하십시오. 조건은 AND 또는 OR로 결합할 수 있습니다. 기본 논리 연산자는 AND이며, 다른 조건을 추가할 때 자동으로 삽입됩니다.
조건 간 논리 연산자를 변경하려면 Condition Type/Operator 열에서 AND 또는 OR 항목을 클릭한 다음 필요한 연산자를 선택하십시오. 쿼리 미리보기가 그에 맞게 업데이트됩니다.
우선순위 지정
Building Query from Board 대화상자 상단의
및
버튼을 사용하면 현재 선택된 조건 주위에 괄호를 추가하거나 제거할 수 있습니다(들여쓰기 증가/감소). 이를 통해 특정 AND/OR 조건에 대한 우선순위를 만들 수 있습니다.
예를 들어, 다음과 같이 구성된 쿼리를 생각해 보십시오:
InNet('5V') AND (OnLayer('TopLayer')
첫 번째 조건은 조건 유형 Belongs to Net에 값 16M_IN로 설정되었습니다. 그런 다음 조건 유형 Exists on Layer에 값 TopLayer를 사용하여 다른 조건이 추가되었습니다.
이 단계에서 대화상자에서 두 번째 조건을 선택한 상태로 오른쪽 화살표 버튼을 클릭했습니다. 두 번째 조건 주위에 괄호가 자동으로 추가되었고, 이제 해당 괄호 쌍 안에 조건을 추가할 수 있습니다.
그런 다음 조건 유형 Object Kind is 및 값 Track인 세 번째 조건이 괄호 안에 추가됩니다.
대화상자 왼쪽 상단의 Show Level 드롭다운을 사용하여 구조화된 조건 문자열에서 레벨의 시각적 표시를 제어하십시오. 이는 괄호 표시를 확장/접기하는 기능입니다. 괄호를 추가하면 사실상 새 레벨이 생성됩니다. 레벨 1~5를 표시할 수 있으며, 그보다 더 많은 레벨을 추가한 경우에는 Show All Levels 옵션을 사용하십시오.
또는(괄호로 묶인 조건에 연결된) 확장 또는 축소 기호를 클릭하여 다음 레벨을 표시하거나 현재 레벨(및 그 아래 모든 레벨)을 숨길 수 있습니다. 대화상자 상단의
및
버튼을 사용하여 현재 선택된 조건을 확장하거나 접을 수도 있습니다.
대화상자 상단의
및
버튼을 사용하여 쿼리 문자열에서 선택한 조건을 이동할 수 있습니다. 하위 레벨(즉, 괄호로 묶인 조건)이 있는 조건의 경우, 레벨 구조 내의 어떤 조건이든 이동할 수 있습니다. 레벨이 확장되어 있으면 조건을 레벨 사이로 위/아래로 이동할 수 있습니다. 레벨이 접혀 있으면 조건이 레벨 구조를 가로질러 이동됩니다.
조건을 삭제하려면 해당 조건을 선택한 다음 대화상자 상단의
버튼을 클릭하거나 Delete 키를 사용하십시오.
필요한 대로 쿼리 표현식을 정의했으면 OK을(를) 클릭하여 PCB Filter 패널의 중앙 영역에 쿼리를 로드하고, 필터를 적용할 준비를 하십시오.
Design Rule 생성
PCB Filter 패널은 Design Rule을 생성하는 기능도 제공하며, 이때 범위(scope)는 패널 중앙 영역에 현재 정의된 쿼리 표현식을 사용합니다.
새 Design Rule을 추가하려면 PCB Filter 패널의 Create Rule 버튼을 클릭하십시오. Choose Design Rule Type 대화상자가 열립니다.
이 대화상자에는 PCB 문서에서 사용 가능한 각 규칙 카테고리와 규칙 유형이 나열됩니다. 생성하려는 규칙 유형을 선택한 다음 OK를 클릭하십시오(또는 해당 항목을 직접 더블클릭). PCB Rules and Constraints Editor 대화상자가 열립니다.
새로 생성된 규칙 이름이 왼쪽 탐색 트리에서 선택된 상태로 표시됩니다. 규칙 쿼리 표현식은 대화상자 오른쪽 상단 창에 있습니다.
선택한 유형의 규칙이 생성되고, 규칙에 대한 특정 제약을 정의할 수 있도록 규칙의 기본 편집 창이 표시됩니다. PCB Filter 패널의 쿼리 표현식이 대화상자의 Full Query 영역에 입력됩니다. 필요에 따라 규칙 구성 설정을 다듬고 새 규칙을 적용하십시오.
필터 적용 및 해제
쿼리를 정의하고 패널 옵션을 필요에 맞게 설정한 후에는, 패널의 Apply 버튼 중 하나를 클릭하거나 Enter을(를) 클릭하여 필터를 적용할 수 있습니다.
패널에서 현재 적용된 필터를 해제하려면, 패널 중앙 영역의 쿼리 표현식을 지우고(선택 후 삭제) Apply 버튼 중 하나를 클릭하거나 Enter을(를) 누르십시오. 설계 작업공간의 모든 객체가 완전한 가시성으로 복원되며 선택/편집이 가능해집니다.
우클릭 메뉴
PCB Filter 패널 안에서 우클릭하면 팝업 메뉴를 통해 추가 옵션과 명령에 접근할 수 있습니다.
패널의 Object 또는 Layer 영역에서 우클릭하면 다음 컨텍스트 메뉴 옵션이 열립니다:
- Toggle Check - 옵션을 토글하려면 활성화하십시오. 현재 선택된 옵션은 선택 해제되고, 선택 해제된 옵션은 선택됩니다.
- Check All - 사용 가능한 모든 옵션을 선택하려면 활성화하십시오.
- Uncheck All - 사용 가능한 모든 옵션을 모두 선택 해제하려면 활성화하십시오.
참고
일반
- F12 키를 누르면 작업공간에서 패널의 표시/숨김이 전환됩니다.
- Query Builder(Building Query from Board 대화상자)는 관련된 ‘빌딩 블록’만 사용해 구성할 수 있도록, 상황에 맞는 조건 유형과 값을 이용하여 쿼리를 구성하는 간단한 방법을 제공합니다. 전체 키워드 지정과 연산자 구문을 포함한 고급 쿼리 구성이 필요하면 Query Helper 대화상자를 사용하십시오.
- 적용된 필터를 통과하는 객체와 통과하지 않는 객체에 대한 표시 옵션이 분리되어 있으므로, 이전 필터링 결과를 기반으로 새 필터 쿼리를 효과적으로 적용할 수 있습니다.
쿼리 표현식 작성 시
-
쿼리가 올바르게 해석되지 않을 가능성이 조금이라도 있다면, 괄호를 사용하는 것을 강력히 권장합니다.
-
괄호는 제공되는 다양한 연산자에 대해 정의된 우선순위 체계에서 가장 높은 우선순위를 가지며, 사용자가 괄호를 제공하지 않았을 때 소프트웨어가 쿼리를 어떻게 해석할지를 결정합니다. 우선순위 순서는 다음과 같습니다:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
이 우선순위는 Pascal 계열 언어에서 사용되는 것과 유사합니다. 다만 괄호를 충분히 사용하면 모호함이 사라지고, 다른 사람이 결과 쿼리를 읽기도 더 쉬워집니다. -
모호성은 왼쪽에서 오른쪽으로 진행하면서 해결됩니다.
-
괄호는 안쪽에서 바깥쪽으로 평가되며, 동일 레벨은 왼쪽에서 오른쪽으로 처리됩니다.
PCBLIB Filter Panel
요약
PCBLIB Filter 패널은 논리 쿼리를 생성하여 필터를 구성하기 위한 컨트롤을 제공합니다. 정의된 필터는 활성 PCB 컴포넌트 풋프린트 또는 활성 PCB 라이브러리의 모든 컴포넌트 풋프린트에 적용할 수 있으며, 이를 통해 높은 정확도와 효율로 여러 객체를 선택하고 편집할 수 있습니다.
패널 접근
패널은 PCB Library Editor에서 다음 방법으로 접근할 수 있습니다:
- 작업공간 오른쪽 하단의 Panels 버튼을 클릭한 다음 PCBLIB Filter 항목을 선택합니다.
- 메인 메뉴에서 View » Panels » PCBLIB Filter을(를) 클릭합니다.
- F12 단축키를 사용합니다.
패널 섹션
PCBLIB Filter 패널은 세 개의 영역으로 구성됩니다. 처음 두 영역은 필터링 범위를 함께 정의하는 선택 가능한 목록 영역으로, Object 및 Layer입니다. 세 번째 영역인 Filter에는 현재 선택된 객체와 레이어를 기반으로 생성된 쿼리가 표시됩니다.
간단한 필터 표현식 만들기
패널의 주요 영역은 어떤 조합의 객체든 대상으로 하는 간단한 필터 표현식을 빠르게 만들 수 있는 컨트롤을 제공합니다. 객체 유형은 ‘객체 매트릭스(object matrix)’로 배열되며, 넷 객체(Net), 컴포넌트 객체(Comp), 또는 자유 객체(Free)로 분류됩니다. 다음의 핵심 객체 목록은 이 세 그룹에 공통으로 반복됩니다:
- Track
- Arc
- Via
- Pad
- Fill
- Region
Text 객체는 Comp 및 Free 그룹에 포함되어 사용할 수 있지만, 이 객체 유형은 넷 인식(net-aware)이 아니므로 Net 그룹에는 포함되지 않습니다. 또한 Free 그룹에는 Component, ComponentBody, Room, Polygon도 포함됩니다.
예를 들어 이것들이 ‘Components’와 ‘Top Layer’로 설정되어 있으면, 보드 뷰에서 Top Layer의 컴포넌트가 하이라이트됩니다. 두 패널 섹션에서의 선택은 여러 단계의 필터링 동작이 누적된 결과를 나타내며, 이를 통해 어떤 유형의 설계 객체든 빠르게 하이라이트할 수 있습니다.
필터 표현식 구성에 객체를 사용(즉, 해당 객체로 필터링)하려면, 객체 매트릭스에서 해당 객체에 연결된 체크박스를 활성화하십시오. 영역에서 마우스 오른쪽 버튼 컨텍스트 메뉴로 사용할 수 있는 명령을 통해 매트릭스의 모든 항목을 빠르게 전체 선택/전체 해제하거나, 매트릭스의 모든 체크박스 상태를 토글할 수 있습니다.
Layer 영역을 사용하여 필터를 특정 레이어(들) 또는 특정 레이어 클래스에 제한할 수 있습니다. 나열되는 항목은 다음을 반영합니다:
-
보드에 정의된 레이어 클래스(기본값은 다음과 같음):
- <All Layers>
- <Component Layers>
- <Electrical Layers>
- <Signal Layers>
- 레이어 스택에 정의된 레이어( Layer Stack 에 표시되는 내용).
- 상단 및 하단 페이스트 마스크 레이어.
필터링 선택을 수행하면, 결과 쿼리 표현식이 동적으로 생성되어 패널의 Filter 영역에 표시됩니다. 필터 쿼리 표현식을 원하는 대로 정의한 후에는 별도의 동작으로 이를 적용해야 합니다. 이를 위해 패널 하단의 Apply to All 버튼을 클릭하십시오. 또는 작업 공간에서 현재 선택된 객체에만 적용하려면 Apply to Selected 버튼을 사용하십시오.
필터링 적용
PCB Library 컴포넌트는 서로 다른 보드 레이어에 배치된 기본(primitive) 객체 유형(Arc, Pad, Track 등)으로 구성됩니다. 객체는 ‘자유(free)’ 성격이거나 그룹 객체에 ‘소유(owned)’될 수 있습니다. Object 영역에서 Free을 선택하면 그룹 객체에 속하지 않은 객체만 하이라이트됩니다.
객체별 필터링
패널의 Object 목록에서의 선택은 보드 뷰를 필터링하여 기본 설계 객체를 표시합니다. Layer 필터 목록의 설정으로 변경되지 않는 한 모든 객체가 하이라이트됩니다.

예시 보드는 Object 아래에서 Track 및 Arc이 선택된 상태로 표시됩니다. Layer 는 Top Overlay로 설정되어 있습니다.
레이어별 필터링
패널의 Layers 목록에서의 선택은 지정된 물리 설계 레이어(신호, 마스크, 실크스크린 레이어)의 객체를 표시하도록 보드 뷰를 필터링합니다. Object 필터 목록의 설정으로 변경되지 않는 한 모든 유효한 레이어 객체가 하이라이트됩니다.

예시 보드는 Object 이 Pad. Layer 로 설정된 상태로 표시되며, Top Layer는 Top Layer로 설정되어 있습니다.
필터링된 객체 선택
PCBLIB Filter 패널이 제공하는 통합 필터 동작은 관심 있는 보드 설계 객체를 보기 및 선택하는 데 도움이 됩니다.
하이라이트(필터링)된 객체만 선택할 수 있으므로, 객체를 쉽게 찾고 편집하며 해당 객체의 정보를 확인할 수 있습니다.
필터 지우기
패널의 Clear 버튼으로 현재 적용된 필터를 지우십시오.
시각적 필터링 설정
작업 공간의 문서에 적용된 필터링의 시각적 결과는 일련의 하이라이트 컨트롤에 의해 결정됩니다. 편집기 뷰에 적용되는 효과는 Normal, Mask 또는 Dim로 설정할 수 있으며, 실제로는 Mask 가 가장 눈에 띄는 하이라이트 효과를 제공합니다.
Normal / Mask / Dim 드롭다운 목록은 작업 공간에서 필터링된 객체와 필터링되지 않은 객체를 시각적으로 대비시키는 옵션을 제공합니다.

마스킹 모드 드롭다운 목록을 사용하여 적용할 시각적 필터링 유형을 선택하십시오.
각 마스킹 모드의 시각적 하이라이트 효과:
- Normal - 필터링된 객체는 작업 공간에서 보이며, 필터링되지 않은 객체의 외관은 변경되지 않습니다.
- Mask - 필터링된 객체는 작업 공간에서 하이라이트되며, 다른 모든 객체는 단색(모노크롬)으로 표시됩니다.
- Dim - 필터링된 객체는 작업 공간에서 하이라이트되며, 다른 모든 객체는 색상을 유지하되 음영 처리됩니다.
필터 쿼리 정의
패널의 중앙 영역에서는 논리 쿼리를 입력하여 필터를 구성할 수 있습니다.
필드에 쿼리를 직접 입력할 수 있으며, 입력하는 동안 가능한 키워드의 프롬프트 목록이 도움말로 표시됩니다.
쿼리 생성을 돕는 두 가지 기능( Query Helper 및 Query Builder )을 사용할 수 있습니다. 이 기능들은 쿼리 구문이나 사용 가능한 키워드가 확실하지 않을 때 매우 유용합니다.
Query Helper
Query Helper를 사용하려면 Helper 버튼을 클릭하여 Query Helper 대화상자를 여십시오. 내부 Query Engine이 문서를 분석하여 사용 가능한 모든 객체와 쿼리에 사용할 수 있는 일반 키워드를 나열합니다.
대화상자 상단 섹션에서 사용 가능한 PCB Functions, PCB Object Lists, System Functions을 사용해 쿼리 표현식을 작성하십시오. 대화상자 중간 영역은 표현식 구성에 사용할 수 있는 다양한 연산자를 제공합니다. Check Syntax 버튼을 사용해 표현식의 구문이 올바른지 확인하십시오.
쿼리 표현식을 원하는 대로 정의했으면 OK을 클릭하여 PCBLIB Filter 패널의 중앙 영역에 쿼리를 로드하고, 필터를 적용할 준비를 하십시오.
Query Builder
Query Builder를 사용하려면 PCBLIB Filter 패널의 Builder 버튼을 클릭하여 Building Query from Board 대화상자를 여십시오.
이 대화상자는 AND 및/또는 OR 조건 문자열을 간단히 구성하여 설계 문서에서 특정 객체를 대상으로 하는 쿼리를 만들 수 있게 해줍니다.
대화상자 왼쪽에서는 필요한 객체 집합을 대상으로 하기 위해 요구되는 조건(들)을 지정합니다. 처음에는 Condition Type/Operator 열의 항목이 Add first condition로 표시됩니다. 이 항목을 한 번 클릭하면 조건 유형의 드롭다운 목록이 열립니다.
나열되는 조건 유형은 보드 설계와 관련된 항목만 반영합니다.
조건을 선택한 다음 Condition Value 열을 클릭하여 해당 조건 유형에 가능한 값의 드롭다운 목록에 접근하십시오. 대화상자 왼쪽에서 조건을 정의하는 동안, 현재 구성 중인 쿼리의 미리보기가 오른쪽에 표시됩니다.
필요에 따라 조건을 계속 추가하여 대상 설계 객체 집합을 더 좁혀 나가십시오. 조건은 AND 또는 OR로 결합할 수 있습니다. 기본 논리 연산자는 AND이며, 다른 조건을 추가하면 자동으로 삽입됩니다.
조건 간 논리 연산자를 변경하려면 Condition Type/Operator 열에서 AND 또는 OR 항목을 클릭한 다음 필요한 연산자를 선택하십시오. 쿼리 미리보기는 그에 맞게 업데이트됩니다.
우선순위 지정
Building Query from Board 대화상자 상단의
및
버튼을 사용하면 현재 선택된 조건 주위에 괄호를 추가하거나 제거(들여쓰기 증가/감소)할 수 있습니다. 이를 통해 특정 AND/OR 조건에 대한 우선순위를 만들 수 있습니다.
첫 번째 조건은 조건 유형 Exists on Layer 에 값 Top Layer로 설정되었습니다. 그런 다음 조건 유형 Object Kind is 에 값 Arc를 사용하여 다른 조건이 추가되었습니다.
이 단계에서 대화상자에서 두 번째 조건을 선택한 상태로 오른쪽 화살표 버튼을 클릭했습니다. 두 번째 조건 주위에 괄호가 자동으로 추가되었고, 이제 해당 괄호 쌍 안에 조건을 추가할 수 있게 됩니다.
그런 다음 조건 유형 In Any Polygon 인 세 번째 조건이 괄호 안에 추가됩니다.
대화상자 왼쪽 상단의 Show All Levels 드롭다운을 사용하여 구조화된 조건 문자열에서 레벨의 시각적 표시를 제어하십시오. 이는 기본적으로 괄호 표시를 확장/접기 하는 기능입니다. 괄호를 추가하면 사실상 새 레벨이 생성됩니다. 레벨 1~5를 표시할 수 있으며, 그보다 더 많은 레벨을 추가한 경우에는 Show All Levels 옵션을 사용하십시오.
또는 괄호로 묶인 조건에 연결된 확장 또는 축소 기호를 클릭하여 다음 레벨(들)을 표시하거나 현재 레벨(및 그 아래 모든 레벨)을 숨길 수 있습니다. 대화상자 상단의
및
버튼도 현재 선택된 조건을 확장 또는 접는 데 사용할 수 있습니다.
대화상자 상단의
및
버튼을 사용하여 작성 중인 쿼리 문자열에서 선택한 조건을 이동할 수 있습니다. 하위 레벨(즉, 괄호로 묶인 조건)이 있는 조건의 경우, 레벨 구조 내의 어떤 조건이든 이동할 수 있습니다. 레벨이 확장되어 있으면 조건을 레벨 사이로 위/아래로 이동할 수 있습니다. 레벨이 접혀 있으면 조건이 레벨 구조를 가로질러 이동됩니다.
조건을 삭제하려면 해당 조건을 선택한 다음 대화상자 상단의
버튼을 클릭하거나 Delete 키를 사용하십시오.
필요에 맞게 쿼리 표현식을 정의했으면 OK를 클릭하여 PCBLIB Filter 패널의 중앙 영역에 쿼리를 로드하고, 필터를 적용할 준비를 하십시오.
설계 규칙 생성
PCBLIB Filter 패널은 설계 규칙을 생성하는 기능도 제공합니다. 해당 규칙의 스코프는 패널 중앙 영역에 현재 정의된 쿼리 표현식을 사용합니다.
새 설계 규칙을 추가하려면 PCBLIB Filter 패널의 Create Rule 버튼을 클릭하십시오. Choose Design Rule Type 대화상자가 열립니다.
이 대화상자에는 PCB 문서에서 사용 가능한 각 규칙 카테고리와 규칙 유형이 나열됩니다. 생성할 규칙 유형을 선택한 다음 OK를 클릭하십시오(또는 항목을 직접 더블클릭). 그러면 PCB Rules and Constraints Editor 대화상자가 열립니다.
새로 생성된 규칙 이름이 왼쪽 탐색 트리에서 선택된 상태로 표시됩니다. 규칙 쿼리 표현식은 대화상자 오른쪽 상단 창에 있습니다.
선택한 유형의 규칙이 생성되고, 규칙에 대한 구체적인 제약을 정의할 수 있도록 규칙의 기본 편집 창이 표시됩니다. PCBLIB Filter 패널의 쿼리 표현식이 대화상자의 Full Query 영역에 입력됩니다. 필요에 따라 규칙 구성 설정을 다듬고 새 규칙을 적용하십시오.
필터 적용 및 해제
쿼리를 정의하고 패널 옵션을 필요에 맞게 설정한 후, 패널의 Apply 버튼을 클릭하거나 Enter를 눌러 필터를 적용할 수 있습니다.
패널에서 현재 적용된 필터를 해제하려면 패널 중앙 영역의 쿼리 표현식을 지우고(선택 후 삭제) Apply 버튼을 클릭하거나 Enter를 누르십시오. 설계 작업공간의 모든 객체가 완전한 가시성으로 복원되며 선택/편집이 가능해집니다.
우클릭 메뉴
PCBLIB Filter 패널 안에서 우클릭하면 팝업 메뉴를 통해 추가 옵션과 명령에 접근할 수 있습니다.
패널의 Object 또는 Layer 영역에서 우클릭하면 다음 컨텍스트 메뉴 옵션이 열립니다.
- Toggle Check - 옵션을 토글하도록 활성화합니다. 현재 선택된 옵션은 선택 해제되고, 선택 해제된 옵션은 선택됩니다.
- Check All - 사용 가능한 모든 옵션을 선택하도록 활성화합니다.
- Uncheck All - 사용 가능한 모든 옵션을 선택 해제하도록 활성화합니다.
참고
일반
-
키를 누르면 작업공간에서 패널의 표시/숨김이 토글됩니다. - Query Builder(Building Query from Board 대화상자)는 관련 ‘빌딩 블록’만 사용해 구성할 수 있도록, 상황에 맞는 조건 유형과 값을 이용해 쿼리를 구성하는 간단한 방법을 제공합니다. 전체 키워드 지정과 연산자 문법을 포함한 고급 쿼리 구성이 필요하면 Query Helper 대화상자를 사용하십시오.
- 적용된 필터를 통과한 객체와 통과하지 못한 객체에 대한 표시 옵션이 분리되어 있으므로, 이전 필터링 결과를 기반으로 새 필터 쿼리를 효과적으로 적용할 수 있습니다.
쿼리 표현식 작성 시
- 쿼리가 올바르게 해석되지 않을 가능성이 조금이라도 있다면 괄호를 사용하는 것을 강력히 권장합니다.
- 괄호는, 소프트웨어가 쿼리를 해석하는 방식(사용자가 괄호를 제공하지 않은 경우)에 영향을 주는 다양한 연산자에 대해 정의된 우선순위 체계에서 가장 높은 우선순위를 가집니다. 이 우선순위의 순서는 다음과 같습니다:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
이 우선순위는 Pascal 계열 언어에서 사용되는 것과 유사합니다. 하지만 괄호를 충분히 사용하면 모호함이 제거되고, 다른 사람이 결과 쿼리를 더 쉽게 읽을 수 있습니다. - 모호성은 왼쪽에서 오른쪽으로 진행하면서 해결됩니다.
- 괄호는 안쪽에서 바깥쪽으로 평가되며, 동일 레벨은 왼쪽에서 오른쪽으로 처리됩니다.
쿼리 결과는 어디에 있나요?
이제 Filter panel에서 쿼리를 작성했는데, 쿼리가 반환한 객체에는 어떻게 접근하나요? Altium Designer 환경에서 객체에 접근하고 편집하는 방법은 두 가지가 있습니다.
-
그래픽 방식 - 필터를 적용한 후 기본 동작은 쿼리를 통과하지 못한 모든 객체를 마스킹(페이드 처리하고 편집 불가로 설정)하고, 통과한 객체만 남기는 것입니다. 이 모드는 작업공간에서 객체를 찾고 검토하는 데 매우 유용합니다. 마스킹된 객체는 편집할 수 없으므로 Ctrl+A(모두 선택) 같은 명령은 쿼리가 반환한 객체에만 적용됩니다.
-
List panel 방식 - List panel(Shift+F12)은 설계 데이터를 스프레드시트처럼 보여주는 뷰입니다. 기본적으로는 모든 설계 객체를 표시하지만, 필터가 적용되면 쿼리가 반환한 객체만 표시합니다. List panel은 정렬 및 선택 등 표준 스프레드시트와 유사한 동작을 제공하며, 단일 또는 여러 셀을 직접 편집할 수 있습니다.
PCB List 패널과 SCH List panel은 이전 섹션의 PSB/SCH 쿼리 결과를 표시합니다.
하이라이트 옵션
쿼리가 적용될 때(또는 데이터 필터링 기능이 다른 방식으로 사용될 때) 대상 문서의 각 객체는 해당 필터링 작업 결과의 구성원이 됩니다. 그러나 결과에 포함된 객체와 결과에 포함되지 않은 객체를 이후에 어떻게 표시할지는 Filter panel에서 선택한 하이라이트 옵션에 따라 달라집니다. 사용 가능한 하이라이트 옵션은 세 가지이며, 옵션들은 서로 완전히 독립적이므로 하나, 둘 또는 모두를 선택할 수 있습니다.
Zoom
쿼리를 적용할 때 Zoom 옵션이 활성화되어 있으면, 대상 문서의 뷰가 업데이트되어 결과에 포함된 모든 객체가 차지하는 영역이 표시됩니다. 나머지 각 객체가 업데이트된 뷰에 표시되는지 여부는 그 영역에 대한 상대적 위치에 따라 달라지므로, 해당 객체는 완전히 표시되거나, 부분적으로 표시되거나, 아예 표시되지 않을 수도 있습니다.
이 옵션은 다른 옵션 중 하나 또는 둘 모두와 함께 선택되는 경우가 많습니다. Mask 옵션이 활성화되어 있지 않으면, 결과에 포함되지 않은 객체라도 업데이트된 경계 안에 위치해 있는 경우 그래픽 뷰에 계속 표시됩니다. 처음에는 이 옵션만 단독으로 선택하는 것이 무의미해 보일 수 있지만, 문서의 어떤 객체도 선택 상태나 마스크 상태를 변경하지 않으면서 특정 객체를 포함하도록 그래픽 뷰만 업데이트하고 싶을 때가 있을 수 있습니다.
Select
Select 옵션이 활성화되면, 결과에 포함된 모든 객체는 선택 상태가 되고 나머지 객체는 선택되지 않은 상태가 됩니다. 선택된 객체는 선택되지 않은 객체보다 더 두드러지게 표시됩니다.
현재 쿼리를 적용할 때 Select 옵션이 선택되어 있으면, 결과 집합에 속하는 모든 객체는 이후 선택 상태를 갖게 되며, 나머지 객체(결과 집합에 속하지 않는 객체)는 대신 선택 해제 상태가 됩니다. 이 옵션은 일반적으로 전역 편집 절차를 수행하기 직전에 선택되는데, 그 시점에 속성이 업데이트되는 것은 현재 선택된 객체뿐이기 때문입니다. 하지만 Select 옵션이 유용한 경우는 그 외에도 있으며, 예를 들어 특정 객체를 이동, 복사 또는 삭제해야 할 때도 사용할 수 있습니다.
Mask
Mask 하이라이트 옵션은 대상 문서에서 객체의 마스크 속성이 어떻게 업데이트될지를 결정합니다. 선택하면 결과에 포함된 모든 객체는 마스크 처리되고, 나머지 객체는 마스크 해제됩니다. 마스크된 객체의 핵심 특징은 해당 객체와 그 속성을 편집할 수 없다는 점입니다. (마스크된 객체는 리스트 뷰에서 흐리게 표시되지만, List 패널에서 all objects 옵션이 현재 선택되어 있지 않으면 리스트 뷰에 표시되지 않습니다.) 마스크된 객체의 핵심 특징은 해당 객체와 그 속성을 편집할 수 없다는 점입니다.
The Query Builder
PCB 편집기에는 전용 Query Builder 대화상자가 포함되어 있습니다. 이 대화상자를 사용하면 드롭다운 목록에서 테스트 조건을 선택하여 복잡한 쿼리를 구성할 수 있습니다. Query Builder 의 장점은 서로 다른 종류의 객체를 대상으로 하는 쿼리를 만들 수 있다는 점입니다.
'Building Query' 대화상자('Query Builder' 기능의 일부)는 쿼리 지정 경험이 적은 사용자를 돕습니다. 설계자가 지정한 조건에 대응하도록 내용이 자동 생성된 쿼리가 만들어집니다.
이 대화상자의 왼쪽 섹션에는 컨트롤이 있으며, 이 컨트롤의 목적은 문서의 각 객체가 이 대화상자에서 생성된 쿼리에 의해 반환되기 위해 어떤 속성이 필요한지 설계자가 지정하는 작업을 돕는 것입니다. 각 조건이 지정되거나 편집될 때마다 해당 쿼리의 내용이 업데이트되어 대화상자 오른쪽 섹션에 표시됩니다. 이후 OK(또는 Apply) 버튼을 클릭하여 이 대화상자를 닫으면, 처음 이 대화상자를 호출한 방식에 따라 연결된 쿼리가 적용되거나, 또는 그 내용이 Filter 패널로 다시 복사됩니다.
Query Builder 대화상자는 다음 위치에서 실행할 수 있습니다(아래 이미지 참조):
- PCB Filter 패널에서 Query Builder 버튼을 클릭하여 쿼리를 작성하고 해당 문자열을 패널에 로드합니다.
- PCB Rules and Constraints Editor dialog에서 Builder 버튼을 클릭하여 이 규칙이 어떤 객체에 적용되는지 정의하는 쿼리를 작성합니다.
아래 이미지는 Query Builder 대화상자를 사용하여 5V 넷의 패드와 비아를 모두 대상으로 하는 쿼리를 생성하는 예를 보여줍니다.

Query Builder dialog
Options and Controls of the Query Builder Dialog
-
Show All Levels - 드롭다운을 사용하여 구조화된 조건 문자열에서 레벨의 시각적 표시를 제어합니다. 이는 기본적으로 괄호 표시를 확장/접는 기능입니다. 괄호를 추가하면 새 레벨이 생성되며 레벨 1~5를 표시할 수 있습니다. 또는 확장 또는 축소 기호를 클릭하여 다음 레벨(들)을 표시하거나 현재 레벨(및 그 아래 모든 레벨)을 각각 숨길 수 있습니다.
-
- 현재 선택된 조건을 둘러싼 괄호를 제거(들여쓰기 감소)하는 데 사용합니다. 이를 통해 논리적 AND 또는 논리적 OR로 결합된 특정 조건에 우선순위를 부여할 수 있습니다.
-
- 현재 선택된 조건을 둘러싸도록 괄호를 추가(들여쓰기 증가)하는 데 사용합니다. 이를 통해 논리적 AND 또는 논리적 OR로 결합된 특정 조건에 우선순위를 부여할 수 있습니다.
-
- 작성 중인 쿼리 문자열에서 선택된 조건을 위로 이동하는 데 사용합니다. 하위 레벨(즉, 괄호로 묶인 조건)이 있는 조건의 경우, 레벨 구조 내의 어떤 조건이든 이동할 수 있습니다. 레벨이 확장되어 있으면 조건을 레벨을 가로질러 위로 이동할 수 있습니다. 레벨이 접혀 있으면 조건은 레벨 구조를 넘어 이동됩니다.
-
- 작성 중인 쿼리 문자열에서 선택된 조건을 아래로 이동하는 데 사용합니다. 하위 레벨(즉, 괄호로 묶인 조건)이 있는 조건의 경우, 레벨 구조 내의 어떤 조건이든 이동할 수 있습니다. 레벨이 확장되어 있으면 조건을 레벨을 가로질러 아래로 이동할 수 있습니다. 레벨이 접혀 있으면 조건은 레벨 구조를 넘어 이동됩니다.
-
- 확장 기호를 사용하여 다음 레벨(들)을 표시합니다.
-
- 축소 기호를 사용하여 현재 레벨(및 그 아래 모든 레벨)을 숨깁니다.
-
- 선택된 조건을 삭제하는 데 사용합니다.
- Condition Type/Operator - 이 영역을 사용하여 필요한 객체 집합을 대상으로 하기 위한 조건(들)을 지정합니다. 처음에는 Condition Type/Operator 열의 항목이 Add first condition로 표시됩니다. 이 항목을 한 번 클릭하면 조건 유형의 드롭다운 목록이 열립니다. 이 목록은 대화상자가 어디에서 실행되었는지에 따라 달라집니다. PCB Rules And Constraints Editor dialog 내에서 특정 설계 규칙에 대한 쿼리를 작성하는 경우, 조건 목록에는 해당 규칙 유형에서 가능한 조건 유형만 반영됩니다.
- Condition Value - 첫 번째 조건을 선택한 다음 Condition Value 열을 클릭하여 해당 조건 유형에 가능한 값의 드롭다운 목록에 접근합니다. 조건을 정의하면 현재 작성 중인 쿼리의 미리보기가 Query Preview 영역에 표시됩니다.
The Query Helper
쿼리 작성 능력을 향상시키기 위한 다음 단계는 Query Helper 대화상자를 사용하는 것입니다. Query Helper 대화상자에는 원하는 쿼리를 입력할 수 있는 Query box가 있으며, Query field 아래의 구문 버튼(예: And, Or, <, Not, Like 등)과 Categories field에 있는 모든 쿼리 키워드의 전체 목록도 함께 사용할 수 있습니다.
'Query Helper' 대화상자는 사용자가 직접 쿼리를 지정하려는 경우 도움을 제공합니다. 나열된 각 키워드에 대해 간단한 설명이 제공되며, 키워드가 강조 표시된 상태에서 F1 키를 누르면 온라인 도움말에 접근할 수 있습니다. 그러면 Altium Designer Documentation Library 대화상자가 호출되며, 강조 표시된 키워드가 문서 내에서 어떤 객체를 반환하는지, 해당 키워드를 사용하는 방법, 그리고 하나 이상의 사용 예를 제공합니다.
대화상자는 다음과 같은 방법으로 접근할 수 있습니다:
- Filter 패널에서 Helper 버튼을 클릭합니다.
PCB Filter panel access
SCH Filter panel access
-
File-based Libraries Search dialog(Components panel의 오른쪽 상단에서
을 클릭한 다음 드롭다운 메뉴에서 File-based Libraries Search 를 선택하여 접근)에서 Helper 버튼을 클릭합니다.
File-based Libraries Search dialog access
사용 가능한 함수들을 사용하여 대화상자 상단의 Query 섹션에서 쿼리 표현식을 작성합니다. 텍스트 상자에서 검색 표현식을 검토하고/또는 추가로 편집할 수 있습니다. 검색 표현식을 편집하려면 텍스트 상자에 직접 입력하십시오. 추가할 특정 키워드를 검색하려면 입력을 시작하십시오. 입력하는 동안 대화상자는 지금까지 작성한 텍스트와 일치하는 사용 가능한 키워드의 드롭다운 메뉴를 제공합니다. 키워드를 클릭하면 선택 항목 입력이 자동으로 완료됩니다. 원하는 키워드가 강조 표시되어 있다면 Enter 를 눌러서도 선택 항목 입력을 자동으로 완료할 수 있습니다.
사용 가능한 키워드의 Categories 를 훑어보며 원하는 항목을 찾으십시오. 정확한 키워드가 무엇인지 확실하지 않다면 Mask 필드를 사용하십시오. 예를 들어, 회로도 편집기의 Query Helper에서 Mask 필드에 *har를 입력하면 아래 이미지에 보인 것처럼 하네스에 특히 적용되는 키워드를 찾을 수 있습니다. Mask 필드는 키워드 Name 필드와 Description 필드 모두에 대해 동작하므로, 가능한 키워드를 찾는 가장 빠른 방법이 될 수 있습니다.
그리드에서 키워드를 더블클릭하면 현재 커서 위치에 해당 키워드가 쿼리에 추가됩니다.
대화상자 중간 영역에는 표현식을 구성할 때 사용할 수 있는 다양한 연산자를 제공하는 구문 버튼이 포함되어 있습니다. 각 구문 버튼의 개별 기능에 대한 자세한 내용은 아래의 Logical Query Expression Operators 섹션을 방문하십시오. 표현식이 문법적으로 올바른지 확인하려면 Check Syntax 버튼(대화상자 왼쪽 하단)을 사용하십시오.
Historical Queries
필터 패널(SCH Filter / SCHLIB Filter, PCB Filter / PCBLIB Filter)에서 새 쿼리를 입력하고 적용하면, 해당 쿼리가 쿼리 기록 목록에 추가됩니다. 이 목록에 접근하려면 패널의 History 버튼을 클릭하십시오. Expression Manager 대화상자가 열리며 History 탭이 활성화됩니다.
Expression Manager 대화상자의 History 탭은 과거에 사용된 쿼리 표현식 목록을 제공합니다. 여기에는 회로도(Schematic)에 대한 기록 쿼리 예시가 표시되어 있습니다. 이미지 위에 마우스를 올리면 PCB에 대한 유사한 예시 목록을 볼 수 있습니다.
목록에서 기록 쿼리를 사용하려면 해당 항목을 선택한 다음 Apply Expression 버튼을 클릭하거나, 항목을 직접 더블클릭하십시오. 대화상자가 닫히고 해당 쿼리의 표현식이 관련 필터 패널의 중앙 영역에 로드됩니다.
기록 쿼리는 해당 항목을 선택하고 Add To Favorites 버튼을 클릭하여 즐겨찾기 쿼리 목록에 추가할 수 있습니다. 기록 목록을 ‘비우기(flush)’ 하려면 Clear History 버튼을 사용하십시오.
목록에서 가장 최근에 사용된 쿼리 표현식 최대 9개는 필터 패널의 우클릭 History 하위 메뉴에서 사용할 수 있습니다.
Favorite Queries
정의된 모든 쿼리는 다음 두 가지 방법으로 즐겨찾기 쿼리 목록에 추가할 수 있습니다.
- Add To Favorites 버튼을 클릭하거나, 필터 패널의 메인 Query Expression 영역에서 우클릭한 뒤 컨텍스트 메뉴에서 Add to Favorites 명령을 선택하여, 활성 필터 패널의 중앙 영역에 현재 정의된 쿼리 표현식을 추가합니다.
- Expression Manager 대화상자의 History 탭에서 기록 쿼리 항목을 선택한 다음 Add To Favorites 버튼을 클릭합니다.
즐겨찾기 쿼리 표현식은 Expression Manager 대화상자의 Favorites 탭에 저장되며 여기에서 관리됩니다. 필터 패널(SCH Filter / SCHLIB Filter, PCB Filter / PCBLIB Filter)의 Favorites 버튼을 사용하거나, 필터 패널의 메인 Query Expression 영역에서 우클릭한 뒤 컨텍스트 메뉴에서 Organize Favorites 명령을 선택하여 접근할 수 있습니다. 설계 공간에서는 Y 단축키를 사용한 다음 팝업 필터링 메뉴에서 Organize Favorites 를 선택하여 대화상자에 접근할 수 있습니다.
편집기의 필터 패널 또는 설계 공간에서 필터링 팝업 메뉴를 사용하여 즐겨찾기 쿼리 목록에 접근하십시오.
쿼리 표현식이 Favorites 목록에 추가되면 고유한 이름이 할당됩니다. 기본적으로 일반 이름인 Favorite_n가 할당되며, 여기서 n는 다음으로 사용 가능한 미사용 번호입니다. 항목의 이름은 다음 방법 중 하나를 사용하여 언제든지 변경할 수 있습니다.
- 쿼리 항목을 선택한 다음 Rename 버튼을 클릭합니다.
- 쿼리 항목을 선택한 다음 우클릭 메뉴에서 Edit 명령을 선택합니다.
- 쿼리 항목을 선택한 다음 Name 필드 내부를 다시 클릭합니다.
각 경우에 필요한 새 이름을 입력한 다음 Name 필드 바깥을 클릭하여 변경을 적용합니다.
즐겨찾기 쿼리 표현식을 편집하려면 목록에서 해당 항목을 선택한 다음 Edit 버튼을 클릭(또는 우클릭 후 컨텍스트 메뉴에서 Edit 선택)하십시오. Edit Favorite 대화상자가 열립니다. 이 대화상자를 사용하여 즐겨찾기의 이름을 수정하고, 표현식 자체를 변경하며, 설계 객체를 어떻게 처리할지(필터를 통과하는 객체와 통과하지 않는 객체 모두)도 결정할 수 있습니다.
Edit Favorite 대화상자를 사용하여 기존 즐겨찾기 쿼리를 수정합니다. 여기에는 회로도(왼쪽)와 PCB(오른쪽) 예시가 표시되어 있습니다.
Favorites 목록에서 쿼리를 제거하려면 목록에서 해당 항목을 선택한 다음 Remove 버튼을 클릭하거나 우클릭 메뉴에서 Remove 명령을 선택하십시오. 제거 확인을 요청하는 대화상자가 표시됩니다.
Using Favorite Queries
즐겨찾기 쿼리를 사용하는 방법은 세 가지가 있습니다.
-
Expression Manager 대화상자의 Favorites 탭에서: 항목을 선택한 다음 Apply Expression 버튼을 클릭하거나 항목을 더블클릭합니다. 대화상자가 닫히고 해당 쿼리의 표현식이 관련 필터 패널의 중앙 영역에 로드됩니다.
-
필터 패널 우클릭 메뉴의 상단에서( Favorites 목록에 가장 최근 추가된 쿼리 표현식 최대 10개를 사용할 수 있음).
-
설계 공간의 필터링 팝업 메뉴에서(Y 누름): 즐겨찾기 쿼리 표현식 최대 10개가 메뉴 상단에 나열됩니다. 선택한 쿼리 표현식이 관련 필터 패널의 중앙 영역에 로드됩니다.
Using Pre-packaged Examples
회로도 편집기와 PCB 편집기에는 미리 패키징된 예제 쿼리 세트가 포함되어 있습니다. 이러한 예제는 필터링 메뉴에서 사용할 수 있으며, 필터 패널의 표현식 영역에서 우클릭하거나 설계 공간에서 Y 단축키를 사용하여 접근할 수 있습니다. Examples 위에 마우스를 올리면 하위 메뉴를 볼 수 있습니다.
하위 메뉴에서 항목을 선택하면 해당 필터 뒤에 있는 쿼리가 적용됩니다. 예제 중 하나의 실제 쿼리를 보려면 적용한 후 History 목록을 확인하십시오. 이 목록은 필터링 팝업 메뉴에서도 접근할 수 있습니다.
Query Building Tools
쿼리를 작성하는 가장 쉬운 방법은 Altium Designer가 대신 작성하게 하는 것일 수 있습니다! 이를 위해 Find Similar Objects 대화상자 또는 Query Builder 대화상자를 사용할 수 있습니다.
Find Similar Objects Dialog
Find Similar Objects dialog를 사용하면 필요한 객체를 찾기 위한 쿼리를 생성합니다. Create Expression 옵션이 활성화되어 있으면 해당 쿼리가 Filter 패널에 표시됩니다. 이는 다양한 쿼리 키워드를 학습하는 데 매우 좋은 기법입니다.
Find Similar Objects 대화상자는 설계 문서에서 마스킹되지 않은 객체를 우클릭한 다음 컨텍스트 메뉴에서 Find Similar Objects를 선택하면 열립니다.
왼쪽 이미지: PCB 버전; 오른쪽 이미지: SCH 버전
이 대화상자는 마우스 오른쪽 버튼으로 클릭한 객체와 유사한 객체를 찾은 다음, 일치로 판단하기 위해 해당 객체의 어떤 속성이 동일해야 하는지(또는 달라야 하는지)를 정의할 수 있게 해줍니다. 예를 들어 설계에서 모든 GND 패드를 변경하고 싶다고 가정해 보겠습니다. 그러면 해당 패드 중 하나를 마우스 오른쪽 버튼으로 클릭하고 Find Similar Objects를 선택한 다음, Net 필드를 Any(기본 설정)에서 Same로 변경할 수 있습니다. 대화상자에서 Apply 를 클릭하면 모든 GND 패드가 선택됩니다. Create Expression 옵션이 활성화되어 있으면, 다음 쿼리가 Filter 패널에 표시됩니다: (ObjectKind = 'Pad') And (Net = 'GND').
회로도 예시로, 문서 내에서 특정 Text 속성(예: 'GND')을 가진 모든 Power Object의 Color 속성을 동일한 값으로 변경할 수 있습니다. 예를 들어 PCB에서는 문서 내에서 특정 Via Diameter 속성을 가진 모든 비아의 Hole Size 속성을 동일한 값으로 변경할 수 있습니다.
기존 항목 지우기 옵션
Clear Existing 옵션을 활성화하면 검색을 적용하기 전에 기존 선택 또는 편집 마스크를 모두 지웁니다. 연속 검색을 수행하면서 결과가 누적되는 것이 바람직한 경우에는 이 옵션을 비활성화하십시오.
필터 도구 모음
Filter Toolbar 는 PCB 문서에서 제공되며, 지정한 속성을 가진 객체(또는 지정한 컴포넌트의 일부를 구성하는 객체)를 제외한 문서 내 모든 객체를 마스킹할 수 있습니다. 도구 모음의 가장 오른쪽 필드는 쿼리 내용을 지정하는 데 사용됩니다. 해당 필드에 쿼리를 직접 입력할 수도 있고, 드롭다운을 사용해 최근 쿼리(쿼리 History 목록에 존재하는 항목)에서 선택할 수도 있습니다. Filter Toolbar에서 쿼리를 적용할 때는 어떤 옵션을 사용할지 지정할 수 없으며, 모든 경우에 이전 쿼리는 지워지고 현재 쿼리에 대해 Mask 및 Zoom 옵션이 사용됩니다. 쿼리 옵션을 사용하려면 Filter 패널, Query Builder 대화상자, Query Helper 대화상자 또는 Find Similar Objects 대화상자를 사용하십시오.
논리 쿼리 표현식 연산자
아래는 쿼리 언어로 논리 쿼리 표현식을 정의할 때 사용할 수 있는 연산자 요약입니다.
산술 연산자
| 연산자 | 설명 | 예 |
|---|---|---|
| + | 덧셈 연산자 | NetPinCount + NetViaCount |
| - | 뺄셈 연산자 | ArcStopAngle - ArcStartAngle |
| * | 곱셈 연산자 | PadXSize_BottomLayer * PadYSize_BottomLayer |
| / | 나눗셈 연산자 | HoleDiameter / ViaDiameter |
| Div | 정수 나눗셈 연산자 | Color Div 65536 이는 Color을(를) 65536으로 나눈 뒤 결과의 소수 부분을 버립니다 |
| Mod | 나머지 연산자 | Color Mod 256 이는 결과의 소수 부분을 구하지 않고 Color을(를) 256으로 나눌 때의 나머지를 계산합니다 |
논리 연산자
| 연산자 | 설명 | 예 |
|---|---|---|
| And | 논리 AND 연산자 | IsPad And OnMultiLayer 반환되려면 객체는 패드여야 하며 Multi-Layer 레이어에 있어야 합니다 |
| && | 논리 AND 연산자 (낮은 우선순위) |
IsPad && OnMultiLayer 반환되려면 객체는 패드여야 하며 Multi-Layer 레이어에 있어야 합니다 |
| Or | 논리 OR 연산자 | IsPad Or IsVia 반환되려면 객체는 패드이거나 비아여야 합니다 |
| || | 논리 OR 연산자 (낮은 우선순위) |
IsPad || IsVia 반환되려면 객체는 패드이거나 비아여야 합니다 |
| Xor | 논리 배타적 OR(XOR) 연산자 | OnMultiLayer Xor (HoleDiameter <> 0) 반환되려면 객체는 Multi-Layer 레이어에 있으면서 Hole Diameter이(가) 0이거나, 또는 Multi-Layer 레이어에 있지 않으면서 Hole Diameter이(가) 0이 아니어야 합니다. |
| Not | 논리 NOT 연산자 | Not OnMultiLayer 반환되려면 객체는 Multi-Layer 레이어에 있지 않아야 합니다 |
비교 연산자
| 연산자 | 설명 | 예 |
|---|---|---|
| < | 미만 연산자 | HoleDiameter < 40 반환되려면 객체는 40보다 작은 Hole Diameter을(를) 가져야 합니다 |
| <= | 이하 연산자 | HoleDiameter <= 40 반환되려면 객체는 40보다 작거나 같은 Hole Diameter을(를) 가져야 합니다 |
| >= | 이상 연산자 | HoleDiameter >= 40 반환되려면 객체는 40보다 크거나 같은 Hole Diameter을(를) 가져야 합니다 |
| > | 초과 연산자 | HoleDiameter > 40 반환되려면 객체는 40보다 큰 Hole Diameter을(를) 가져야 합니다 |
| <> | 같지 않음 연산자 | HoleDiameter <> 40 반환되려면 객체는 40이 아닌 Hole Diameter을(를) 가져야 합니다 |
| = | 같음 연산자 | HoleDiameter = 40 반환되려면 객체는 40과 같은 Hole Diameter을(를) 가져야 합니다 |
| Between...And... | 포함 범위 연산자 | HoleDiameter Between 30 And 50 반환되려면 객체는 30보다 크거나 같고 50보다 작거나 같은 Hole Diameter을(를) 가져야 합니다. |
| Like | Like 연산자 | Name Like 'ADDR?*' 이는 연관된 (텍스트) 문자열이 ADDR로 시작하고 최소 한 글자 이상이 더 포함된 Name 속성을 가진 객체를 반환합니다 |
와일드카드 문자
와일드카드 문자는 정확히 지정되지 않은 문자열을 제공할 수 있게 해줍니다. 이러한 문자는 보통 다른 문자와 함께 사용되어 부분적으로만 지정된 문자열을 제공합니다. 일부 예외적인 키워드는 정확히 지정되지 않은 문자열 매개변수를 허용할 수 있지만, 대부분의 경우 문자열은 Like 연산자로 비교될 때에만 와일드카드 문자를 포함할 수 있습니다.
| 연산자 | 설명 | 예 |
|---|---|---|
| ? | 어떤 유형이든 임의의 단일 문자 하나로 대체될 수 있습니다 | Footprint Like 'DIP1?' 이는 DIP10 또는 DIP12 또는 DIP14 등의 Footprint 속성을 가진 객체를 반환합니다. |
| * | 어떤 유형이든 임의의 문자 여러 개(0개 이상)로 대체될 수 있습니다 | Footprint Like 'SIP*' 이는 SIP1 또는 SIP12 또는 SIP216 등의 Footprint 속성을 가진 객체를 반환합니다. (SIP의 Footprint 속성을 가진 객체도 반환되는데, '*'는 no 문자로도 대체될 수 있기 때문입니다) |
불리언 문자열
| 연산자 | 설명 | 예 |
|---|---|---|
| True | 키워드의 의미를 긍정합니다 | IsPad = True 반환되려면 객체는 패드여야 합니다 |
| False | 키워드의 의미를 부정합니다 | IsVia = False 반환되려면 객체는 비아가 아니어야 합니다 |
괄호와 우선순위
논리 쿼리 표현식에서 사용되는 연산자의 우선순위를 살펴보는 것은 중요합니다. 이러한 지식이 없으면 표현식이 필요한 객체를 정확히 대상으로 삼지 못할 수 있습니다.
괄호는 다양한 연산자에 대해 정의된 우선순위 체계에서 가장 높은 우선순위를 가지며, 사용자가 괄호를 제공하지 않았을 때 소프트웨어가 쿼리를 어떻게 해석할지를 결정합니다. 우선순위는 높은 것부터 낮은 것까지 다음과 같습니다:
- 괄호 ()
- Not
- ^, *, /, Div, Mod, And
- +, -, Or, Xor
- =, <>, <, >, <=, >=
- &&, ||
전역 시스템 쿼리 함수

Query Helper 대화상자에 표시되는 전역 시스템 쿼리 함수
이 섹션에서는 Altium Designer의 회로도, PCB 및 라이브러리 문서에서 사용할 수 있는 쿼리 언어 키워드를 자세히 설명합니다. 특정 쿼리 키워드에 대한 도움말이 필요하면, 아래의 접을 수 있는 섹션을 사용하거나 Query Helper의 특정 키워드를 강조 표시(또는 내부를 클릭)한 다음, Filter 패널 또는 PCB 설계 규칙의 Query 필드에서 F1을(를) 눌러 해당 섹션으로 바로 이동할 수 있습니다.
Arithmetic Functions
ABS
요약
매개변수의 숫자 값의 절댓값과 동일한 값을 갖는 (실수) 숫자를 반환합니다. 해당 숫자 값이 양수이면 반환되는 숫자는 동일한 값을 가지며, 그렇지 않으면 반환되는 숫자는 매개변수의 숫자 값에 -1을 곱한 값과 같습니다.
구문
ABS(X : Number / Numeric_String) : Number
사용 예
ABS(2.3)
2.3을 반환합니다.
ABS(-7.2)
7.2를 반환합니다.
CEIL
요약
정수 값을 반환하며, 그 값은 매개변수의 숫자 값의 성격에 따라 달라집니다. 해당 숫자 값이 정확한 정수이면 반환되는 숫자는 정확히 동일한 값입니다. 그렇지 않으면 반환되는 숫자는 매개변수의 숫자 값보다 큰 값 중 가장 작은 정수입니다.
구문
CEIL(X : Number / Numeric_String) : Number
사용 예
CEIL(5.0)
5를 반환합니다.
CEIL(5.33)
6을 반환합니다.
CEIL(-5.0)
-5를 반환합니다.
CEIL(-5.33)
-5를 반환합니다.
FLOOR
요약
정수 값을 반환하며, 그 값은 매개변수의 숫자 값의 성격에 따라 달라집니다. 해당 숫자 값이 정확한 정수이면 반환되는 숫자는 정확히 동일한 값입니다. 그렇지 않으면 반환되는 숫자는 매개변수의 숫자 값보다 작은 값 중 가장 큰 정수입니다.
구문
FLOOR(X : Number / Numeric_String) : Number
사용 예
FLOOR(5.0)
5를 반환합니다.
FLOOR(5.33)
5를 반환합니다.
FLOOR(-5.0)
-5를 반환합니다.
FLOOR(-5.33)
-6을 반환합니다.
FRAC
요약
(실수) 숫자를 반환하며, 그 값은 매개변수의 숫자 값의 성격에 따라 달라집니다:
- 해당 숫자 값이 양수이지만 정확한 정수가 아닌 경우, 반환되는 숫자는 매개변수의 숫자 값에서 그 값보다 작은 값 중 가장 큰 정수를 뺀 차이입니다.
- 해당 숫자 값이 음수이지만 정확한 정수가 아닌 경우, 반환되는 숫자는 매개변수의 숫자 값에서 그 값보다 큰 값 중 가장 작은 정수를 뺀 차이입니다.
- 매개변수의 숫자 값이 정확한 정수인 경우, 반환되는 숫자는 0입니다.
구문
FRAC(X : Number / Numeric_String) : Number
사용 예
FRAC(5.0)
0을 반환합니다.
FRAC(5.33)
0.33을 반환합니다.
FRAC(-5.0)
0을 반환합니다.
FRAC(-5.33)
-0.33을 반환합니다.
IIF
요약
세 개의 쿼리를 포함하는 특수 목적의 구문입니다. 첫 번째 쿼리(여는 괄호와 첫 번째 쉼표 사이)의 값이 평가됩니다. 그 결과가 True이면 두 번째 쿼리(쉼표 사이)가 반환되고, 그렇지 않으면 세 번째 쿼리(두 번째 쉼표와 닫는 괄호 사이)가 반환됩니다.
구문
IIF(L : Boolean Query , A : Query , B : Query)
L, A, B은(는) 각각 어떤 쿼리를 지정하는 문자열이며, L은(는) 불리언 쿼리(즉, True 또는 False 결과를 반환하는 성격의 쿼리)여야 합니다.
사용 예
IsArc And IIF(ArcStopAngle - ArcStartAngle >= 0 , ArcStopAngle - ArcStartAngle Between 30 And 60 , ArcStartAngle - ArcStopAngle Between 300 And 330)
호 길이가 30도 이상 60도 이하인 모든 아크를 반환합니다. (아크의 호 길이 속성은 Stop Angle 속성에서 Start Angle 속성을 뺀 값으로 결정되는 각도입니다. 다만 아크의 Stop Angle 속성이 Start Angle 속성보다 작을 수도 있다는 점이 복잡성을 더하지만, 이 쿼리는 가능한 모든 아크 객체에 대해 실제 호 길이 속성을 올바르게 평가합니다.)
IsComponent And IIF(Layer = 'Top Layer' , Rotation <> 0 , Rotation <> 180)
PCB의 상단면에 있으면서 Rotation 속성이 0도가 아닌 모든 컴포넌트와, PCB의 하단면에 있으면서 Rotation 속성이 180도가 아닌 모든 컴포넌트를 반환합니다. (컴포넌트 객체는 Top 신호 레이어 또는 Bottom 신호 레이어에만 존재할 수 있으므로, Top 신호 레이어에 있지 않은 컴포넌트는 반드시 Bottom 신호 레이어에 있게 됩니다.)
INT
요약
정수 값을 반환하며, 그 값은 매개변수의 숫자 값의 성격에 따라 달라집니다:
- 해당 숫자 값이 양수이지만 정확한 정수가 아닌 경우, 반환되는 숫자는 매개변수의 숫자 값보다 작은 값 중 가장 큰 정수입니다.
- 해당 숫자 값이 음수이지만 정확한 정수가 아닌 경우, 반환되는 숫자는 매개변수의 숫자 값보다 큰 값 중 가장 작은 정수입니다.
- 해당 숫자 값이 정확한 정수인 경우, 반환되는 숫자는 정확히 동일한 값입니다.
구문
INT(X : Number / Numeric_String) : Number
사용 예
INT(5.0)
5를 반환합니다.
INT(5.33)
5를 반환합니다.
INT(-5.0)
-5를 반환합니다.
INT(-5.33)
-5를 반환합니다.
팁
이는 TRUNC 산술 함수의 별칭입니다.
MAX
요약
제공된 모든 매개변수 중 최댓값과 동일한 값을 갖는 (실수) 숫자를 반환합니다. 각 매개변수는 숫자 또는 숫자 문자열이어야 하며, 매개변수는 원하는 개수만큼 제공할 수 있습니다.
구문
MAX(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
사용 예
MAX(2)
2를 반환합니다.
MAX(7,2,3)
7을 반환합니다.
팁
최소 하나의 매개변수를 제공해야 합니다.
MIN
요약
제공된 모든 매개변수 중 최솟값과 동일한 값을 갖는 (실수) 숫자를 반환합니다. 각 매개변수는 숫자 또는 숫자 문자열이어야 하며, 매개변수는 원하는 개수만큼 제공할 수 있습니다.
구문
MIN(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
사용 예
MIN(2)
2를 반환합니다.
MIN(7,2,3)
2를 반환합니다.
팁
최소 하나의 매개변수를 제공해야 합니다.
POWER
요약
첫 번째 매개변수의 숫자 값을 두 번째 매개변수의 숫자 값만큼 거듭제곱한 값과 동일한 (실수) 숫자를 반환합니다.
구문
POWER(X : Number / Numeric_String , Y : Number / Numeric_String) : Number
사용 예
POWER(3,2)
9를 반환합니다.
POWER(32,0.2)
2를 반환합니다.
POWER(16,-0.5)
0.25를 반환합니다.
ROUND
요약
정수 값을 반환하며, 그 값은 매개변수의 숫자 값의 성격에 따라 달라집니다:
- 해당 숫자 값이 정확한 정수인 경우, 반환되는 숫자는 정확히 동일한 값입니다.
- 해당 숫자 값이 정확한 정수가 아닌 경우, 반환되는 숫자는 매개변수의 숫자 값에 가장 가까운 정수입니다. 인접한 정수의 정확한 중간에 있는 양수는 upwards로 반올림되며, 인접한 정수의 정확한 중간에 있는 음수는 downwards로 반올림됩니다.
구문
ROUND(X : Number / Numeric_String) : Number
사용 예
ROUND(5.0)
5를 반환합니다.
ROUND(5.33)
5를 반환합니다.
ROUND(5.5)
6을 반환합니다(올림).
ROUND(5.66)
6을 반환합니다.
ROUND(-5.0)
-5를 반환합니다.
ROUND(-5.33)
-5를 반환합니다.
ROUND(-5.5)
-6을 반환합니다(내림).
ROUND(-5.66)
-6을 반환합니다.
SIGN
요약
제공된 매개변수의 부호 값을 반환합니다. 즉, 정수 값을 반환하며 그 값은 매개변수의 숫자 값의 성격에 따라 달라집니다:
- 해당 숫자 값이 양수인 경우, 반환되는 숫자는 1입니다.
- 해당 숫자 값이 음수인 경우, 반환되는 숫자는 -1입니다.
- 해당 숫자 값이 정확히 0인 경우, 반환되는 숫자는 0입니다.
구문
SIGN(X : Number / Numeric_String) : Number
사용 예
SIGN(5.33)
1을 반환합니다.
SIGN(-5.33)
-1을 반환합니다.
SIGN(0)
0을 반환합니다.
SQR
요약
매개변수의 숫자 값을 제곱한 값과 동일한 (실수) 숫자를 반환합니다.
구문
SQR(X : Number / Numeric_String) : Number
사용 예
SQR(2)
4를 반환합니다.
SQR(14.1)
198.81을 반환합니다.
SQR(-1.5)
2.25를 반환합니다.
SQRT
요약
매개변수의 숫자 값의 (양의) 제곱근과 동일한 (실수) 숫자를 반환합니다.
구문
SQRT(X : Number / Numeric_String) : Number
사용 예
SQRT(4)
2를 반환합니다.
SQRT(10)
3.1623을 반환합니다.
TRUNC
요약
매개변수의 숫자 값의 성격에 따라 값이 결정되는 정수를 반환합니다.
- 해당 숫자 값이 양수이지만 정확한 정수가 아닌 경우, 반환되는 값은 매개변수의 숫자 값보다 작은 값들 중 가장 큰 정수입니다.
- 해당 숫자 값이 음수이지만 정확한 정수가 아닌 경우, 반환되는 값은 매개변수의 숫자 값보다 큰 값들 중 가장 작은 정수입니다.
- 해당 숫자 값이 정확한 정수인 경우, 반환되는 값은 정확히 동일한 값입니다.
구문
TRUNC(X : Number / Numeric_String) : Number
사용 예
TRUNC(5.0)
5를 반환합니다.
TRUNC(5.33)
5를 반환합니다.
TRUNC(-5.0)
-5를 반환합니다.
TRUNC(-5.33)
-5를 반환합니다.
팁
이는 INT 산술 함수의 별칭입니다.
ZERO
요약
매개변수의 숫자 값에 따라 0 또는 1인 정수를 반환합니다. 해당 숫자 값이 0이면 0을 반환하고, 그렇지 않으면 1을 반환합니다.
구문
ZERO(X : Number / Numeric_String) : Number
사용 예
ZERO(5.33)
1을 반환합니다.
ZERO(-5.33)
1을 반환합니다.
ZERO(0)
0을 반환합니다.
삼각함수
ACOS
요약
매개변수의 숫자 값으로 지정된 수의 역코사인 각도에 해당하는 (실수) 값을 반환합니다. 해당 각도는 도(degree)가 아니라 라디안(radian) 단위입니다.
구문
ACOS(X : Number / Numeric_String) : Number
사용 예
ACOS(0)
1.5708을 반환합니다.
ACOS(0.5)
1.0472를 반환합니다.
ACOS(1)
0을 반환합니다.
ASIN
요약
매개변수의 숫자 값으로 지정된 수의 역사인 각도에 해당하는 (실수) 값을 반환합니다. 해당 각도는 도(degree)가 아니라 라디안(radian) 단위입니다.
구문
ASIN(X : Number / Numeric_String) : Number
사용 예
ASIN(0)
0을 반환합니다.
ASIN(0.5)
0.5236을 반환합니다.
ASIN(1)
1.5708을 반환합니다.
ATAN
요약
매개변수의 숫자 값으로 지정된 수의 역탄젠트 각도에 해당하는 (실수) 값을 반환합니다. 해당 각도는 도(degree)가 아니라 라디안(radian) 단위입니다.
구문
ATAN(X : Number / Numeric_String) : Number
사용 예
ATAN(0)
0을 반환합니다.
ATAN(1)
0.7854를 반환합니다.
ATAN(2.5)
1.1903을 반환합니다.
COS
요약
매개변수의 숫자 값으로 지정된 각도의 코사인 값에 해당하는 (실수) 값을 반환합니다. 해당 각도는 도(degree)가 아니라 라디안(radian) 단위입니다.
구문
COS(X : Number / Numeric_String) : Number
사용 예
COS(0)
1을 반환합니다.
COS(0.8)
0.6967을 반환합니다.
COS(1.57)
0.0008을 반환합니다.
COSH
요약
매개변수의 숫자 값의 쌍곡 코사인(hyperbolic cosine) 값에 해당하는 (실수) 값을 반환합니다.
구문
COSH(X : Number / Numeric_String) : Number
사용 예
COSH(TextHeight / TextWidth) < 70.5
TextHeight 거리와 TextWidth 거리의 비율에 대한 쌍곡 코사인 값이 70.5보다 작은 객체를 반환합니다. (이는 TextHeight 거리와 TextWidth 거리의 비율이 4.9487보다 작은 객체를 반환하는 것과 동일합니다.)
(TextHeight / TextWidth) >= COSH(2.3)
TextHeight 거리와 TextWidth 거리의 비율이 2.3의 쌍곡 코사인(5.0372)과 같거나 그보다 큰 객체를 반환합니다.
COTAN
요약
매개변수의 숫자 값으로 지정된 각도의 코탄젠트 값에 해당하는 (실수) 값을 반환합니다. 해당 각도는 도(degree)가 아니라 라디안(radian) 단위입니다.
구문
COTAN(X : Number / Numeric_String) : Number
사용 예
COTAN(0.1)
9.9666을 반환합니다.
COTAN(0.8)
0.9712를 반환합니다.
COTAN(1.57)
0.0008을 반환합니다.
SIN
요약
매개변수의 숫자 값으로 지정된 각도의 사인 값에 해당하는 (실수) 값을 반환합니다. 해당 각도는 도(degree)가 아니라 라디안(radian) 단위입니다.
구문
SIN(X : Number / Numeric_String) : Number
사용 예
SIN(0)
0을 반환합니다.
SIN(0.8)
0.7174를 반환합니다.
SIN(1.57)
1.0을 반환합니다.
SINH
요약
매개변수의 숫자 값의 쌍곡 사인(hyperbolic sine) 값에 해당하는 (실수) 값을 반환합니다.
구문
SINH(X : Number / Numeric_String) : Number
사용 예
SINH(TextWidth / TextHeight) < 0.17
TextWidth 거리와 TextHeight 거리의 비율에 대한 쌍곡 사인 값이 0.17보다 작은 객체를 반환합니다. (이는 TextWidth 거리와 TextHeight 거리의 비율이 0.1692보다 작은 객체를 반환하는 것과 동일합니다.)
(TextWidth / TextHeight) >= SINH(0.2)
TextWidth 거리와 TextHeight 거리의 비율이 0.2의 쌍곡 사인(0.2013)과 같거나 그보다 큰 객체를 반환합니다.
TAN
요약
매개변수의 숫자 값으로 지정된 각도의 탄젠트 값에 해당하는 (실수) 값을 반환합니다. 해당 각도는 도(degree)가 아니라 라디안(radian) 단위입니다.
구문
TAN(X : Number / Numeric_String) : Number)
사용 예
TAN(0)
0을 반환합니다.
TAN(0.8)
1.0296을 반환합니다.
TAN(1.57)
1255.7656을 반환합니다.
TANH
요약
매개변수의 숫자 값의 쌍곡 탄젠트(hyperbolic tangent) 값에 해당하는 (실수) 값을 반환합니다.
구문
TANH(X : Number / Numeric_String) : Number
사용 예
TANH(TextWidth / TextHeight) < 0.17
TextWidth 거리와 TextHeight 거리의 비율에 대한 쌍곡 탄젠트 값이 0.17보다 작은 객체를 반환합니다. (이는 TextWidth 거리와 TextHeight 거리의 비율이 0.1717보다 작은 객체를 반환하는 것과 동일합니다.)
(TextWidth / TextHeight) >= TANH(0.2)
TextWidth 거리와 TextHeight 거리의 비율이 0.2의 쌍곡 탄젠트(0.1974)와 같거나 그보다 큰 객체를 반환합니다.
지수 및 로그 함수
EXP
요약
값이 e의 매개변수 숫자 값 제곱과 같은 (실수) 값을 반환합니다. (e는 자연로그의 밑이며, 대략 2.7183와 같습니다.)
구문
EXP(X : Number / Numeric_String) : Number
사용 예
EXP(0)
1을 반환합니다.
EXP(1)
2.7183을 반환합니다.
LG
요약
매개변수의 숫자 값의 상용로그(밑 10) 값에 해당하는 (실수) 값을 반환합니다.
구문
LG(X : Number / Numeric_String) : Number
사용 예
LG(1)
0을 반환합니다.
LG(10)
1을 반환합니다.
LG(25)
1.3979를 반환합니다.
LN
요약
매개변수의 숫자 값의 자연로그(또는 밑 e) 값에 해당하는 (실수) 값을 반환합니다. (e는 2.7183입니다.)
구문
LN(X : Number / Numeric_String) : Number
사용 예
LN(1)
0을 반환합니다.
LN(2)
0.6931을 반환합니다.
LN(10)
2.3026을 반환합니다.
LOG
요약
매개변수의 숫자 값의 이진로그(밑 2) 값에 해당하는 (실수) 값을 반환합니다.
구문
LOG(X : Number / Numeric_String) : Number
사용 예
LOG(1)
0을 반환합니다.
LOG(2)
1을 반환합니다.
LOG(8)
3을 반환합니다.
LOG(10)
3.3219를 반환합니다.
집계 함수
AVG
요약
제공된 모든 매개변수의 평균값과 같은 (실수) 값을 반환합니다. 각 매개변수는 숫자 또는 숫자 문자열이어야 하며, 매개변수는 개수 제한 없이 제공할 수 있습니다.
구문
AVG(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
사용 예
AVG(2)
2를 반환합니다.
AVG(7,2,3)
4를 반환합니다.
팁
- 최소 1개의 매개변수를 제공해야 합니다.
MAX
요약
제공된 모든 매개변수 중 최댓값과 같은 (실수) 값을 반환합니다. 각 매개변수는 숫자 또는 숫자 문자열이어야 하며, 매개변수는 개수 제한 없이 제공할 수 있습니다.
구문
MAX(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
사용 예
MAX(2)
2를 반환합니다.
MAX(7,2,3)
7을 반환합니다.
Tips
최소 하나의 매개변수를 제공해야 합니다.
MIN
Summary
제공된 모든 매개변수의 최솟값과 동일한 값을 갖는 (실수) 숫자를 반환합니다. 각 매개변수는 숫자 또는 숫자 문자열이어야 하며, 매개변수는 원하는 개수만큼 제공할 수 있습니다.
Syntax
MIN(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Example Usage
MIN(2)
2를 반환합니다.
MIN(7,2,3)
2를 반환합니다.
Tips
최소 하나의 매개변수를 제공해야 합니다.
PROD
Summary
제공된 모든 매개변수의 곱과 동일한 값을 갖는 (실수) 숫자를 반환합니다. 각 매개변수는 숫자 또는 숫자 문자열이어야 하며, 매개변수는 원하는 개수만큼 제공할 수 있습니다.
Syntax
PROD(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Example Usage
PROD(2)
2를 반환합니다.
PROD(7,2,3)
42를 반환합니다.
Tips
최소 하나의 매개변수를 제공해야 합니다.
SUM
Summary
제공된 모든 매개변수의 합과 동일한 값을 갖는 (실수) 숫자를 반환합니다. 각 매개변수는 숫자 또는 숫자 문자열이어야 하며, 매개변수는 원하는 개수만큼 제공할 수 있습니다.
Syntax
SUM(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Example Usage
SUM(2)
2를 반환합니다.
SUM(7,2,3)
12를 반환합니다.
Tips
최소 하나의 매개변수를 제공해야 합니다.
System Functions
Copy
Summary
문자열의 부분 문자열을 반환합니다. 반환될 부분 문자열에 포함될 문자 수와, 원본 문자열에서 부분 문자열의 첫 문자가 될 위치를 지정할 수 있습니다.
Syntax
Copy(S : String , Index : Integer , Count : Integer) : String
S는 문자열 타입 표현식입니다. Index 및 Count는 정수 타입 표현식입니다. Copy는 Count개의 문자를 S[Index]에서 시작하는 부분 문자열을 반환합니다.
Index 가 S의 길이보다 크면, Copy는 빈 문자열을 반환합니다.
Count가 사용 가능한 문자 수보다 많은 문자를 지정하면, S[Index]부터 S의 끝까지의 문자만 반환됩니다.
Example Usage
Copy('Cats and dogs',1,1)
'C'를 반환합니다. (문자열의 1번째 위치에서 1문자를 반환)
Copy('Cats and dogs',2,1)
'a'를 반환합니다. (문자열의 2번째 위치에서 1문자를 반환)
Copy('Cats and dogs',13,1)
's'를 반환합니다. (문자열의 13번째 위치에서 1문자를 반환)
Copy('Cats and dogs',14,1)
''(빈 문자열)을 반환합니다. (문자열의 14번째 위치에서 1문자를 반환하려 하지만, 문자열에는 13개의 문자만 있으므로 빈 문자열이 반환됨)
Copy('Cats and dogs',1,2)
'Ca'를 반환합니다. (문자열의 1번째 위치에서 시작하여 2문자를 반환)
Copy('Cats and dogs',2,2)
'at'를 반환합니다. (문자열의 2번째 위치에서 시작하여 2문자를 반환)
Copy('Cats and dogs',12,2)
'gs'를 반환합니다. (문자열의 12번째 위치에서 시작하여 2문자를 반환)
Copy('Cats and dogs',13,2)
's'를 반환합니다. (문자열의 13번째 위치에서 시작하여 2문자를 반환하려 하지만, 문자열에는 13개의 문자만 있으므로 1문자만 반환됨)
Copy('Cats and dogs',15,2)
''(빈 문자열)을 반환합니다. (문자열의 15번째 위치에서 시작하여 2문자를 반환하려 하지만, 문자열에는 13개의 문자만 있으므로 빈 문자열이 반환됨)
Copy('Cats and dogs',1,6)
'Cats a'를 반환합니다. (문자열의 1번째 위치에서 시작하여 6문자를 반환)
Copy('Cats and dogs',5,9)
' and dogs'를 반환합니다. (문자열의 5번째 위치에서 시작하여 9문자를 반환)
Copy('Cats and dogs',8,5)
'd dog'를 반환합니다. (문자열의 8번째 위치에서 시작하여 5문자를 반환)
Copy('Cats and dogs',8,6)
'd dogs'를 반환합니다. (문자열의 8번째 위치에서 시작하여 6문자를 반환)
Copy('Cats and dogs',8,7)
'd dogs'를 반환합니다. (문자열의 8번째 위치에서 시작하여 7문자를 반환하려 하지만, 문자열에는 13개의 문자만 있으므로 6문자만 반환됨)
Length
Summary
문자열에 포함된 문자 수를 반환합니다.
Syntax
Length(S : String) : Integer
S는 문자 수를 반환할 문자열입니다.
Example Usage
Length(Name) Between 4 And 7
Name 속성에 4~7개의 문자가 포함된 객체를 반환합니다.
Length('Cat')
3을 반환합니다.
Length('Darryll')
7을 반환합니다.
Length('Cats and dogs')
13을 반환합니다.
Length('')
0을 반환합니다.
Pos
Summary
주어진 문자열에서 지정된 부분 문자열이 처음 나타나는 위치의 첫 문자 인덱스 값을 반환합니다.
Syntax
Pos(Substr : String , S : String) : Integer
Pos는 문자열 S 내에서 부분 문자열 Substr를 검색합니다. Substr 및 S는 문자열 타입 표현식입니다. Substr의 첫 문자의 인덱스에 해당하는 정수 값이 반환됩니다.
Example Usage
Pos('T',Name) = 1
연관된 문자열이 첫 번째 위치에서 처음으로 'T'를 포함하는 Name 속성을 가진 모든 객체를 반환합니다. 'T1'과 'Time Table'이 이러한 문자열의 예입니다. ('Time Table' 문자열에는 'T'가 두 번 있지만, 그중 첫 번째 위치는 첫 번째 문자입니다.)
Pos('A',Name) = 2
연관된 문자열이 두 번째 위치에서 처음으로 'A'를 포함하는 Name 속성을 가진 모든 객체를 반환합니다. 'RA1'과 'CABLE CHART'가 이러한 문자열의 예입니다.
Pos('B',Name) = 0
연관된 문자열이 어떤 위치에도 'B'를 포함하지 않는 Name 속성을 가진 모든 객체를 반환합니다. 'D1'과 'Time Table'이 이러한 문자열의 예입니다. ('Time Table' 문자열에는 8번째 위치에 'b'가 있지만, Pos는 대/소문자를 구분합니다.)
Pos('D',Name) > 0
연관된 문자열이 하나 이상의 위치(어느 위치든)에 'D'를 포함하는 Name 속성을 가진 모든 객체를 반환합니다. 'Data Chart', 'U1D', 'Install either D1 and D2 or D3 and D4, but never install all of these.'가 이러한 문자열의 예입니다.
Pos('Con',Name) = 1
연관된 문자열이 1, 2, 3번째 위치에서 처음으로 'Con'을 포함하는 Name 속성을 가진 모든 객체를 반환합니다. 'Concatenate'가 이러한 문자열의 예입니다. ('Concatenate'에서 'Con'이 처음 나타나는 위치는 처음 3글자이며, 'Con'의 첫 글자는 'C'이고 그 위치는 'Concatenate'의 첫 글자입니다.)
Pos('ate',Name) = 5
연관된 문자열이 5, 6, 7번째 위치에서 처음으로 'ate'를 포함하는 Name 속성을 가진 모든 객체를 반환합니다. 'Concatenate'가 이러한 문자열의 예입니다. ('Concatenate'에서 'ate'가 처음 나타나는 위치는 5~7번째 글자이며, 'ate'의 첫 글자는 'a'이고 그 위치는 'Concatenate'의 5번째 글자입니다.)
Pos('ate',Name) = 0
연관된 문자열이 어디에도 'ate'를 포함하지 않는 Name 속성을 가진 모든 객체를 반환합니다. 'C1'과 'TIME:'가 이러한 문자열의 예입니다.
Pred
Summary
매개변수의 숫자 값에서 1.0을 뺀 값과 동일한 값을 갖는 (실수) 숫자를 반환합니다.
Syntax
Pred(X : Number / Numeric_String) : Number
Example Usage
Pred(4.1)
3.1을 반환합니다.
Pred(41.313)
40.313을 반환합니다.
Random
Summary
0에서 X-1 사이의 난수를 반환합니다.
Syntax
Random(X) : Number
Example Usage
Random(10)
0에서 9 사이의 값을 반환합니다.
Random(100)
0에서 99 사이의 값을 반환합니다.
Succ
Summary
매개변수의 숫자 값에 1.0을 더한 값과 동일한 값을 갖는 (실수) 숫자를 반환합니다.
Syntax
Succ(X : Number / Numeric_String) : Number
Example Usage
Succ(2.1)
3.1을 반환합니다.
Succ(41.313)
42.313을 반환합니다.