Working with the Query Language

Altium Training

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 패널쿼리가 포함된 PCB FilterSCH Filter 패널

쿼리가 포함된 PCBLIB Filter 및 SCHLIB Filter 패널
쿼리가 포함된 PCBLIB FilterSCHLIB Filter 패널

패널의 컨트롤은 쿼리를 어떤 객체에 적용할지, 그리고 쿼리를 통과한 객체와 통과하지 못한 객체를 어떻게 처리할지를 정의하는 데 사용됩니다.

History 목록의 내용은 SCH Filter SCHLIB Filter panel 양쪽에서 공통으로 사용되며(또한 두 곳 모두에서 채워질 수 있음) 있다는 점을 기억하세요. 일부 쿼리 표현식은 회로도 편집기에서 사용하면 결과가 반환되지 않을 수 있는데, 특히 회로도 라이브러리 편집기에서만 사용할 수 있는 객체를 대상으로 만들어진 경우가 그렇습니다.

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에서 빈 쿼리를 적용하여 해제해야 합니다.

쿼리 언어는 PCB Rules and Constraints Editor 대화상자에서도 설계 규칙의 스코프를 정의하는 데 사용됩니다(자세한 내용은 Defining, Scoping & Managing PCB Design Rules 페이지 참조). 설계 규칙이 스코프하는 객체 집합은 쿼리뿐 아니라 규칙 유형에도 좌우됩니다(예: Width 규칙은 트랙만 스코프하고, Routing Via Style 규칙은 비아만 스코프하는 등). 따라서 Filter 패널과 규칙 스코프에서 동일한 쿼리 표현식을 사용하더라도 객체 하이라이트/스코핑 결과가 다를 수 있습니다.

쿼리 결과는 어디에 있나요?

이제 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 버튼을 클릭하여 이 규칙이 어떤 객체에 적용되는지 정의하는 쿼리를 작성합니다. 

PCB Rules and Constraints Editor 대화상자에서 Query Builder 대화상자에 접근하면, 해당 규칙 종류에만 적합한 옵션만 표시됩니다.

아래 이미지는 Query Builder 대화상자를 사용하여 5V 넷의 패드와 비아를 모두 대상으로 하는 쿼리를 생성하는 예를 보여줍니다.

Query Builder dialog
Query Builder dialog

  • 필요에 따라 추가 조건을 더해 대상 설계 객체 집합을 더 좁히십시오. 조건은 AND 또는 OR로 결합할 수 있으며, 기본 논리 연산자는 AND입니다.
  • 조건 간 논리 연산자를 변경하려면 Condition Type/Operator 열에서 AND 또는 OR 항목을 클릭한 다음 필요한 연산자를 선택합니다. 쿼리 미리보기가 그에 맞게 업데이트됩니다.
  • Query Builder dialog(Building Query from Board )는 관련된 ‘빌딩 블록’만 사용해 구성할 수 있도록, 민감형 조건 유형과 값으로 쿼리를 구성하는 더 간단한 방법입니다. 키워드 지정과 연산자 구문을 포함한 고급 쿼리 구성을 위해서는 Query Helper 대화상자를 사용하십시오.
  • Condition Type/Operator 열에서 해당 조건의 항목을 클릭한 뒤 드롭다운 목록에서 필요한 새 조건을 선택하면, 언제든지 쿼리 문자열의 어떤 조건이든 조정할 수 있습니다. 쿼리 미리보기가 그에 맞게 업데이트됩니다.
  • Ctrl+Up ArrowCtrl+Down Arrow  키보드 단축키를 사용하여 선택된 조건 항목을 구조 내에서 위/아래로 이동할 수 있습니다. 
  • Ctrl+Right ArrowCtrl+Left Arrow  키보드 단축키를 사용하여 구조에서 선택된 위치의 들여쓰기를 증가/감소(괄호 추가/제거)할 수 있습니다.

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 대화상자에서 Advanced 을 클릭한 후 Helper 버튼을 사용할 수 있습니다.

File-based Libraries Search dialog accessFile-based Libraries Search dialog access

사용 가능한 함수들을 사용하여 대화상자 상단의 Query 섹션에서 쿼리 표현식을 작성합니다. 텍스트 상자에서 검색 표현식을 검토하고/또는 추가로 편집할 수 있습니다. 검색 표현식을 편집하려면 텍스트 상자에 직접 입력하십시오. 추가할 특정 키워드를 검색하려면 입력을 시작하십시오. 입력하는 동안 대화상자는 지금까지 작성한 텍스트와 일치하는 사용 가능한 키워드의 드롭다운 메뉴를 제공합니다. 키워드를 클릭하면 선택 항목 입력이 자동으로 완료됩니다. 원하는 키워드가 강조 표시되어 있다면 Enter 를 눌러서도 선택 항목 입력을 자동으로 완료할 수 있습니다.

사용 가능한 키워드의 Categories 를 훑어보며 원하는 항목을 찾으십시오. 정확한 키워드가 무엇인지 확실하지 않다면 Mask 필드를 사용하십시오. 예를 들어, 회로도 편집기의 Query Helper에서 Mask 필드에 *har를 입력하면 아래 이미지에 보인 것처럼 하네스에 특히 적용되는 키워드를 찾을 수 있습니다. Mask 필드는 키워드 Name 필드와 Description 필드 모두에 대해 동작하므로, 가능한 키워드를 찾는 가장 빠른 방법이 될 수 있습니다.

키워드가 강조 표시되어 있거나, 입력한 키워드 내부에 커서가 있을 때 F1를 누르면 해당 키워드의 문서가 열립니다. 이는 각 쿼리 키워드의 기본 동작을 학습하는 데 가장 유용한 리소스입니다.

그리드에서 키워드를 더블클릭하면 현재 커서 위치에 해당 키워드가 쿼리에 추가됩니다.

대화상자 중간 영역에는 표현식을 구성할 때 사용할 수 있는 다양한 연산자를 제공하는 구문 버튼이 포함되어 있습니다. 각 구문 버튼의 개별 기능에 대한 자세한 내용은 아래의 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에 대한 유사한 예시 목록을 볼 수 있습니다.Expression Manager 대화상자의 History 탭은 과거에 사용된 쿼리 표현식 목록을 제공합니다. 여기에는 회로도(Schematic)에 대한 기록 쿼리 예시가 표시되어 있습니다. 이미지 위에 마우스를 올리면 PCB에 대한 유사한 예시 목록을 볼 수 있습니다.

목록에서 기록 쿼리를 사용하려면 해당 항목을 선택한 다음 Apply Expression 버튼을 클릭하거나, 항목을 직접 더블클릭하십시오. 대화상자가 닫히고 해당 쿼리의 표현식이 관련 필터 패널의 중앙 영역에 로드됩니다.

기록 쿼리는 해당 항목을 선택하고 Add To Favorites 버튼을 클릭하여 즐겨찾기 쿼리 목록에 추가할 수 있습니다. 기록 목록을 ‘비우기(flush)’ 하려면 Clear History 버튼을 사용하십시오.

목록에서 가장 최근에 사용된 쿼리 표현식 최대 9개는 필터 패널의 우클릭 History 하위 메뉴에서 사용할 수 있습니다.

History 목록의 내용은 설계 도메인 내의 필터 패널(SCH Filter / SCHLIB Filter : 회로도 편집 도메인, PCB Filter PCBLIB Filter : PCB 편집 도메인)에서 공통으로 사용되며(그리고 접근 가능하며) 일부 쿼리 표현식은 회로도 편집기에서 사용 시 결과가 반환되지 않을 수 있습니다. 특히 회로도 라이브러리 편집기에서만 사용 가능한 객체를 대상으로 생성된 경우에 그렇습니다.

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(오른쪽) 예시가 표시되어 있습니다.Edit Favorite 대화상자를 사용하여 기존 즐겨찾기 쿼리를 수정합니다. 여기에는 회로도(왼쪽)와 PCB(오른쪽) 예시가 표시되어 있습니다.

Favorites 목록에서 쿼리를 제거하려면 목록에서 해당 항목을 선택한 다음 Remove 버튼을 클릭하거나 우클릭 메뉴에서 Remove 명령을 선택하십시오. 제거 확인을 요청하는 대화상자가 표시됩니다.

Favorites  목록의 내용은 설계 도메인 내의 필터 패널(SCH Filter / SCHLIB Filter : 회로도 편집 도메인, PCB Filter PCBLIB Filter : PCB 편집 도메인)에서 공통으로 사용되며(그리고 접근 가능하며) 일부 쿼리 표현식은 회로도 편집기에서 사용 시 결과가 반환되지 않을 수 있습니다. 특히 회로도 라이브러리 편집기에서만 사용 가능한 객체를 대상으로 생성된 경우에 그렇습니다.

Using Favorite Queries

즐겨찾기 쿼리를 사용하는 방법은 세 가지가 있습니다.

  1. Expression Manager 대화상자의 Favorites 탭에서: 항목을 선택한 다음 Apply Expression 버튼을 클릭하거나 항목을 더블클릭합니다. 대화상자가 닫히고 해당 쿼리의 표현식이 관련 필터 패널의 중앙 영역에 로드됩니다.

  2. 필터 패널 우클릭 메뉴의 상단에서( Favorites 목록에 가장 최근 추가된 쿼리 표현식 최대 10개를 사용할 수 있음).

  3. 설계 공간의 필터링 팝업 메뉴에서(Y 누름): 즐겨찾기 쿼리 표현식 최대 10개가 메뉴 상단에 나열됩니다. 선택한 쿼리 표현식이 관련 필터 패널의 중앙 영역에 로드됩니다.

또한 Filter 메뉴를 사용자 지정하여 즐겨찾기에 대한 단축키를 정의할 수도 있습니다. Altium Designer 환경 사용자 지정에 대한 자세한 내용은 Configuring and Customizing Altium Designer를 참조하십시오.

Using Pre-packaged Examples

회로도 편집기와 PCB 편집기에는 미리 패키징된 예제 쿼리 세트가 포함되어 있습니다. 이러한 예제는 필터링 메뉴에서 사용할 수 있으며, 필터 패널의 표현식 영역에서 우클릭하거나 설계 공간에서 Y 단축키를 사용하여 접근할 수 있습니다. Examples 위에 마우스를 올리면 하위 메뉴를 볼 수 있습니다.

하위 메뉴에서 항목을 선택하면 해당 필터 뒤에 있는 쿼리가 적용됩니다. 예제 중 하나의 실제 쿼리를 보려면 적용한 후 History 목록을 확인하십시오. 이 목록은 필터링 팝업 메뉴에서도 접근할 수 있습니다.

필터링을 해제하려면 설계 공간에서 Shift+C 를 누르거나, 설계 공간에서 우클릭한 뒤 컨텍스트 메뉴에서 Clear Filter 명령을 선택하십시오.

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 버전왼쪽 이미지: 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 속성을 동일한 값으로 변경할 수 있습니다.

Find Similar Objects 대화상자 사용에 대한 자세한 내용은 Using Find Similar Objects Tools를 참조하십시오.

기존 항목 지우기 옵션

Clear Existing 옵션을 활성화하면 검색을 적용하기 전에 기존 선택 또는 편집 마스크를 모두 지웁니다. 연속 검색을 수행하면서 결과가 누적되는 것이 바람직한 경우에는 이 옵션을 비활성화하십시오.

필터 도구 모음

Filter Toolbar 는 PCB 문서에서 제공되며, 지정한 속성을 가진 객체(또는 지정한 컴포넌트의 일부를 구성하는 객체)를 제외한 문서 내 모든 객체를 마스킹할 수 있습니다. 도구 모음의 가장 오른쪽 필드는 쿼리 내용을 지정하는 데 사용됩니다. 해당 필드에 쿼리를 직접 입력할 수도 있고, 드롭다운을 사용해 최근 쿼리(쿼리 History  목록에 존재하는 항목)에서 선택할 수도 있습니다. Filter Toolbar에서 쿼리를 적용할 때는 어떤 옵션을 사용할지 지정할 수 없으며, 모든 경우에 이전 쿼리는 지워지고 현재 쿼리에 대해 Mask 및 Zoom 옵션이 사용됩니다. 쿼리 옵션을 사용하려면 Filter 패널, Query Builder 대화상자, Query Helper 대화상자 또는 Find Similar Objects 대화상자를 사용하십시오.

  • 보드가 미배선(unrouted) 상태라면, 필터를 적용할 때 선택한 넷과 연관된 논리적 연결이 표시됩니다. 보드가 배선(routed)된 상태라면, 필터를 적용할 때 선택한 넷과 연관된 배선 트랙이 표시됩니다.
  • 마스킹이 적용되면 필터 범위에 포함되지 않는 모든 객체는 선택/편집이 불가능해집니다. 적용되는 마스킹의 정도는 View Configuration panelView Options 탭에 있는 Mask and Dim Settings 섹션에서 접근 가능한 Masked Objects 슬라이더 바를 사용해 수동으로 조정할 수 있습니다.
  • Shift+C 키보드 단축키를 사용하거나 Filter 도구 모음의 버튼을 클릭하여, 기존에 설정되어 적용 중인 필터를 언제든지 수동으로 해제할 수 있습니다.

논리 쿼리 표현식 연산자

아래는 쿼리 언어로 논리 쿼리 표현식을 정의할 때 사용할 수 있는 연산자 요약입니다.

산술 연산자

연산자 설명
+ 덧셈 연산자 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 레이어에 있지 않아야 합니다

PCB 편집기에서 쿼리 표현식에 Not 연산자를 사용하여 특정 유형의 프리미티브를 제외할 때, 해당 프리미티브가 그룹 객체의 일부이고 그 그룹 객체가 표현식에 의해 함께 제외되지 않는 경우에는 제외되지 않는다는 점에 유의하십시오. 예를 들어 Not IsPad 쿼리 표현식은 자유 패드(free pad) 객체를 제외한 모든 객체를 반환하지만, 패드를 포함할 수 있는 컴포넌트 객체는 반환하므로 컴포넌트 내의 패드는 이 표현식에 의해 반환됩니다. 또한 패드는 PCB 편집기에서 그룹 객체로 간주되는 넷에 포함될 수도 있습니다. 모든 패드 객체를 제외하려면 Not IsPad And Not IsComponent And Not IsNet 쿼리 표현식을 사용해야 합니다.

비교 연산자

연산자 설명
< 미만 연산자 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 속성을 가진 객체를 반환합니다. (SIPFootprint 속성을 가진 객체도 반환되는데, '*'는 no 문자로도 대체될 수 있기 때문입니다)

불리언 문자열

연산자 설명
True 키워드의 의미를 긍정합니다 IsPad = True
반환되려면 객체는 패드여야 합니다
False 키워드의 의미를 부정합니다 IsVia = False
반환되려면 객체는 비아가 아니어야 합니다

괄호와 우선순위

논리 쿼리 표현식에서 사용되는 연산자의 우선순위를 살펴보는 것은 중요합니다. 이러한 지식이 없으면 표현식이 필요한 객체를 정확히 대상으로 삼지 못할 수 있습니다.

괄호는 다양한 연산자에 대해 정의된 우선순위 체계에서 가장 높은 우선순위를 가지며, 사용자가 괄호를 제공하지 않았을 때 소프트웨어가 쿼리를 어떻게 해석할지를 결정합니다. 우선순위는 높은 것부터 낮은 것까지 다음과 같습니다:

  1. 괄호 ()
  2. Not
  3. ^, *, /, Div, Mod, And
  4. +, -, Or, Xor
  5. =, <>, <, >, <=, >=
  6. &&, ||
이 우선순위는 Pascal 계열 언어에서 사용되는 것과 유사합니다. 모호성은 왼쪽에서 오른쪽으로 처리하면서 해소됩니다. 괄호는 안쪽에서 바깥쪽으로 평가되며, 동일한 수준은 왼쪽에서 오른쪽으로 평가됩니다.
쿼리가 올바르게 해석되지 않을 가능성이 조금이라도 있다면, 괄호를 사용하는 것을 강력히 권장합니다. 괄호를 충분히 사용하면 의심의 여지가 줄어들고, 다른 사람이 결과 쿼리를 읽기도 더 쉬워집니다.

전역 시스템 쿼리 함수

Query Helper 대화상자에 표시되는 전역 시스템 쿼리 함수
Query Helper 대화상자에 표시되는 전역 시스템 쿼리 함수

이 섹션에서는 Altium Designer의 회로도, PCB 및 라이브러리 문서에서 사용할 수 있는 쿼리 언어 키워드를 자세히 설명합니다. 특정 쿼리 키워드에 대한 도움말이 필요하면, 아래의 접을 수 있는 섹션을 사용하거나 Query Helper의 특정 키워드를 강조 표시(또는 내부를 클릭)한 다음, Filter 패널 또는 PCB 설계 규칙의 Query 필드에서 F1을(를) 눌러 해당 섹션으로 바로 이동할 수 있습니다.

Altium Designer의 특정 편집기 및 도구에서 사용할 수 있는 쿼리 언어 키워드에 대한 자세한 내용은 다음 페이지를 참조하십시오:

Arithmetic Functions

삼각함수

지수 및 로그 함수

집계 함수

System Functions

AI-LocalizedAI로 번역됨
만약 문제가 있으시다면, 텍스트/이미지를 선택하신 상태에서 Ctrl + Enter를 누르셔서 저희에게 피드백을 보내주세요.
기능 제공 여부

사용 가능한 기능은 보유하고 계시는 Altium 솔루션에 따라 달라집니다. 해당 솔루션은 Altium Develop, Altium Agile의 에디션(Agile Teams 또는 Agile Enterprise), 또는 활성기간 내의 Altium Designer 중 하나입니다.

안내된 기능이 고객님의 소프트웨어에서 보이지 않는 경우, 보다 자세한 내용을 위해 Altium 영업팀 에 문의해 주세요.

구버전 문서

Altium Designer 문서는 더 이상 버전별로 제공되지 않습니다. 이전 버전의 Altium Designer 문서가 필요하신 경우, Other Installers 페이지의 Legacy Documentation 섹션을 방문해 주세요.

콘텐츠