클래스는 객체 유형의 하위 집합에 대해 다양한 명령을 작동하게 하기 위해 제공됩니다. 예를 들어, 부품 그룹이나 네트 그룹 등이 있습니다. 객체는 하나 이상의 클래스에 속할 수 있습니다.
클래스는 다음을 위해 생성될 수 있습니다:
- 네트
- 부품
- 레이어
- 패드
- 프롬-투
- 차동 쌍
- 디자인 채널
- 폴리곤
- xSignals
또한, 구조 클래스를 생성할 수 있습니다. 구조 클래스는 그 멤버로 어떤 유형의 클래스든지 포함할 수 있는 특별한 유형의 클래스입니다.
Schematic(회로도)에서 클래스의 생성 및 동기화
Schematic에서 PCB로 디자인을 전환할 때, Altium Designer는 컴포넌트와 넷 클래스의 생성을 지원합니다. PCB 도메인으로 이동하기 전에 클래스를 구성하는 데 시간을 할애하면 PCB 공간에서 많은 시간을 절약할 수 있으며 Schematic이 디자인 정보의 진정한 참조임을 보장할 수 있습니다.
Schematic에서 생성되어 PCB로 동기화될 수 있는 클래스에는 두 가지 유형이 있습니다:
- 자동 클래스 - 버스/하네스, 컴포넌트 또는 시트 내용에서 파생됨; 그리고
- 사용자 정의 클래스 - 디자이너가 배치한 디자인 지시문에서 파생됨.
이것들의 생성은 프로젝트 옵션(Project Option) 대화 상자의 클래스 생성 탭에서 설정되며(동기화는 비교기 탭의 옵션에 의해 제어됩니다). ![디자인 동기화 중에 필요한 자동 생성 클래스를 구성하고 사용자 정의 클래스를 생성하려면 클래스 생성 탭의 옵션을 사용하세요. 디자인 동기화 중에 필요한 자동 생성 클래스를 구성하고 사용자 정의 클래스를 생성하려면 클래스 생성 탭의 옵션을 사용하세요.](/documentation/sites/default/files/wiki_attachments/322743/ClassGeneration_Rooms.png)
디자인 동기화 중에 필요한 자동 생성 클래스를 구성하고 사용자 정의 클래스를 생성하려면 클래스 생성 탭의 옵션을 사용하세요.
제약 관리자(Constraint Manager) 기능을 사용할 때, 매개변수 세트 지시문을 사용하여 정의된 자동 생성된 넷 클래스는 Schematic에서 PCB로 업데이트할 때 감지되고 전송되지 않는다는 점에 유의하십시오. 제약 관리자에서 정의된 넷 클래스만 전송됩니다.
Schematic에 배치된 지시문에서 규칙, 넷 클래스, 차동 쌍, 차동 쌍 클래스를 제약 관리자의 물리적 또는 전기적 뷰에서 마우스 오른쪽 버튼 메뉴의 지시문에서 가져오기 명령을 사용하여 가져올 수 있습니다 – 자세히 알아보기.
자동 생성된 넷 클래스
다음 그룹의 넷에 대해 넷 클래스를 자동 생성할 수 있습니다:
-
버스용 넷 클래스 생성 - 이 옵션을 선택하면 디자인의 각 버스에 대해 자동으로 넷 클래스를 생성합니다. 클래스의 멤버는 버스에서 생성된 해당 클래스의 개별 구성 넷이 됩니다.
생성된 넷 클래스는 버스의 이름을 사용하여 명명됩니다.
-
부품 용 넷 클래스 생성 - 이 옵션을 선택하면 디자인의 각 부품에 대해 자동으로 넷 클래스를 생성합니다. 클래스의 멤버는 부품의 핀에 연결된 관련 넷이 됩니다(해당 클래스가 생성된 부품에서).
생성된 넷 클래스는 부품의 지정자를 사용하여 <ComponentDesignator>_Nets 형식으로 명명됩니다.
- 버스 섹션 용 별도 넷 클래스 생성 - 이 옵션을 선택하면 각 버스 섹션에 대해 별도의 넷 클래스를 자동 생성합니다. 버스 섹션은 실제로 더 큰 버스의 섹션인 버스를 지정하여 생성됩니다. 예를 들어, 버스
D[15..0]
에서.
-
명명된 신호 하네스용 넷 클래스 생성 - 이 옵션을 활성화하면 디자인의 각 명명된 신호 하네스에 대해 자동으로 넷 클래스를 생성합니다. 클래스의 멤버는 명명된 신호 하네스에 의해 수집된 신호와 관련된 넷이 됩니다(해당 클래스가 생성된 신호 하네스에서).
명명된 신호 하네스는 넷 라벨이 부착되어 있습니다. 생성된 넷 클래스는 신호 하네스에 부착된 넷 라벨의 이름을 사용하여 명명됩니다.
- 시트 레벨 클래스 생성 그리드 - 이 영역을 사용하면 개별 Schematic 시트 레벨에서 부품 및/또는 넷 클래스의 자동 생성을 제어할 수 있습니다. 프로젝트의 모든 소스 Schematic 시트가 다음 정보와 함께 나열됩니다:
- 시트 이름 - Schematic 문서의 이름입니다.
- 전체 경로 - 문서가 있는 폴더의 절대 경로입니다.
- 부품 클래스 - 시트에 대해 부품 클래스를 생성하도록 이 옵션을 선택합니다.
- 넷 클래스 범위 - 시트에 대해 넷 클래스를 생성할지 여부를 결정하고, 생성한다면 생성 범위를 결정하는 필드입니다. 필드의 드롭다운은 다음 선택지를 제공합니다:
- None - 이 시트에 대해 넷 클래스를 생성하지 않습니다.
- Local Nets Only - 이 시트에 대해 넷 클래스를 생성하지만 시트에 로컬인 멤버 넷만 포함합니다.
- All Nets - 이 시트에 대해 넷 클래스를 생성하며 시트와 관련된 모든 멤버 넷(로컬 및 그 외의 넷)을 포함합니다.
- 구조 클래스 생성 구조 - 시트에 대해 구조 클래스를 생성하도록 이 옵션을 선택합니다.
열에 대한 마우스 오른쪽 클릭 컨텍스트 메뉴에서 사용할 수 있는 명령을 사용하여 부품 클래스 생성을 활성화/비활성화하거나 넷 클래스 생성 범위를 전체적으로 설정합니다. 표준 다중 선택 기법(Ctrl+클릭, Shift+클릭, 클릭&드래그)을 사용하여 여러 시트 항목을 선택할 수 있습니다.
상위 시트의 부품 및/또는 넷에 대한 각각의 부품 및/또는 넷 클래스는 Schematic 문서 이름을 사용하여 명명됩니다. 하위 시트의 부품 및/또는 넷에 대한 각각의 부품 및/또는 넷 클래스는 시트 심볼 지정자를 사용하여 명명됩니다.
이 지역 하단의 텍스트는 선택에 따라 동적으로 변경되며 자동으로 생성될 클래스의 요약을 제공합니다.
자동 생성된 컴포넌트 클래스
Schematic 프로젝트가 여러 개의 시트를 기반으로 구조화되는 것이 일반적이며, 각 시트는 전체 설계의 논리적 블록을 나타냅니다. 이를 지원하기 위해, 프로젝트의 각 Schematic 시트에 있는 모든 컴포넌트를 포함하는 컴포넌트 클래스를 자동으로 생성할 수 있으며, 적절한 컴포넌트 클래스 체크박스를 활성화함으로써 가능합니다. PCB 컴포넌트 클래스는 해당 Schematic 시트를 참조하는 시트 심볼의 지정자와 동일한 이름을 가집니다. 시트에 컴포넌트가 없는 경우 컴포넌트 클래스는 생성되지 않습니다.
자동 생성된 방
방은 컴포넌트 배치를 돕는 다각형 모양의 객체입니다. 방 생성 체크박스가 활성화된 각 Schematic 시트에 대해 방이 자동으로 생성됩니다.
Generate Rooms 옵션은 새 PCB 디자인 프로젝트의 Schematic 시트에 대해 기본적으로 Class Generation 탭의 Project Options 대화 상자에서 비활성화되어 있습니다.
자동 생성된 구조 클래스
구조 클래스는 멤버로 넷 클래스, 부품 클래스 및 하위 계층 구조 클래스를 포함할 수 있습니다. 옵션이 활성화된 각 시트에 대해 구조 클래스가 생성되며, 해당 시트에 대해 해당 옵션이 활성화된 경우 시트 수준 부품 및 넷 클래스를 포함합니다. PCB 편집기에서 구조 클래스를 편집하여 다른 넷 / 부품 / 구조 클래스를 추가하세요. 구조 모드의 PCB 패널을 사용하여 해당 구조 클래스의 부품과 넷을 찾으세요.
사용자 정의 클래스 생성
관련 부품이나 네트워크에 매개변수를 첨부함으로써 사용자 정의 부품 클래스 및 네트 클래스도 생성할 수 있습니다. 적절한 사용자 정의 클래스 체크박스가 프로젝트 옵션 대화 상자의 클래스 생성 탭에서 활성화되어 있으면 PCB 부품 및 네트 클래스가 생성됩니다.
사용자 정의 네트 클래스
객체 페이지: 매개변수 설정
PCB 넷 클래스에 넷(또는 버스나 신호 하네스의 넷)을 추가하려면, 해당 넷/버스/하네스에 파라미터를 연결해야 합니다. 이는 아래 이미지에 표시된 것처럼 넷/버스/하네스에 닿는 끝 부분에 파라미터 세트 객체를 배치함으로써 수행할 수 있습니다(배치 » 지시문 » 파라미터 세트 명령).
패널의 클래스 섹션에서, 아래 이미지에 표시된 것처럼 넷 클래스의 이름을 입력합니다.
다양한 위치의 스키매틱에 여러 파라미터 세트 객체를 배치하여, 동일한 PCB 넷 클래스에 여러 개별 넷을 추가할 수 있습니다.
![사용자 정의 넷 클래스](/documentation/sites/default/files/wiki_attachments/322743/Net_Class_Power_Parameterset_AD20_0.png)
PCB 넷 클래스에 넷을 추가하려면, Schematic 넷에 파라미터 세트 객체를 연결한 다음, 파라미터 세트 객체에 클래스 정의를 추가합니다.
사용자 정의 컴포넌트 클래스
Schematic에서, Schematic이 PCB와 동기화될 때 컴포넌트가 PCB 컴포넌트 클래스에 추가되도록 지정할 수 있습니다.
그렇게 하려면 컴포넌트에 매개변수를 추가하고, 이름 문자열을 ClassName
으로 설정하고, 값 문자열을 필요한 값으로 설정합니다.
블랭킷을 사용하여 여러 넷에 지시사항 적용하기
객체 페이지: 블랭킷
또한 여러 넷을 PCB 넷 클래스에 추가할 수 있습니다. 이는 모든 넷에 지시사항을 적용할 수 있게 해주는 블랭킷 지시사항을 배치함으로써 가능합니다(블랭킷 아래에 있는 넷 식별자, 예를 들어 넷 라벨이나 파워 포트 또는 블랭킷 내에 종단 정점을 가진 넷으로 식별된 넷 모두에 적용됩니다).
파라미터 세트 지시문을 전선에 닿게 배치하는 대신, 아래 이미지에서 보이는 것처럼 담요의 가장자리에 닿게 배치합니다. 파라미터 세트 객체 내의 파라미터 값이 PCB 넷 클래스 이름을 정의한다는 점에 유의하세요, 파라미터 세트 객체의 디스플레이 이름이 아닙니다. 아래 예시 이미지에서, 파라미터 세트는 라우팅 폭 설계 규칙을 정의하는 데에도 사용됩니다.
![Blanket Directive](/documentation/sites/default/files/wiki_attachments/322743/Net_Class_Power_ParameterSet_AD20.png)
Blanket 지시문을 사용하여 그 아래의 모든 네트를 Power라는 PCB 넷 클래스로 묶는 방법입니다. 매개변수 세트 객체 이름은 명명에 사용되지 않으며 시각적 참조일 뿐입니다.
PCB에서 클래스 작업하기
활성 PCB 문서의 객체 클래스는 두 가지 주요 위치에서 탐색하고 관리할 수 있습니다:
- 클래스 영역은 PCB 패널의 관련 모드에 있습니다. 여기에서 새로운 사용자 정의 클래스를 추가할 수 있습니다(마우스 오른쪽 버튼 클릭 후 클래스 추가 선택), 또는 기존 사용자 정의 클래스의 멤버십을 편집할 수 있습니다(더블 클릭 또는 마우스 오른쪽 버튼 클릭 후 속성 선택). 클래스의 이름과 멤버는 해당 클래스 편집 대화 상자에서 정의됩니다.
사용자 정의 클래스만 추가 및 편집할 수 있습니다. 기본 시스템 클래스는 편집할 수 없습니다.
기존 사용자 정의 부품 클래스의 속성에 대한 예시 접근, PCB 패널에서 (그것의 부품 모드로 설정됨).
편집 클래스 대화 상자의 옵션 및 컨트롤
- PCB 편집기의 주요 디자인 메뉴에서 클래스 명령을 선택하여 오브젝트 클래스 탐색기 대화 상자에 접근할 수 있습니다.
오브젝트 클래스 탐색기 대화 상자
대화 상자에는 왼쪽에 고정된 창과 왼쪽의 선택에 따라 컨텍스트가 변경되는 오른쪽의 주 편집 영역이 포함되어 있습니다.
왼쪽 창
대화 상자 왼쪽의 폴더 트리 창에서 지원되는 각 객체 클래스 유형이 객체 클래스 폴더 아래에 나열됩니다. 다음 클래스 유형이 지원됩니다:
- 넷 클래스
- 컴포넌트 클래스
- 레이어 클래스
- 패드 클래스
- 프롬 투 클래스
- 차동 페어 클래스
- 디자인 채널 클래스
- 폴리곤 클래스
- 구조 클래스
- x시그널 클래스
모든 객체 클래스 유형에 대해 정의된 모든 특정 클래스의 요약 목록에 액세스하려면 루트 폴더를 클릭하십시오(뒷면 이미지에 표시됨).
해당 유형에 대해 정의된 모든 특정 클래스의 요약 목록에 액세스하려면 자식 객체 클래스 유형 폴더를 클릭하십시오. 새 PCB 문서에 대해 다양한 클래스 유형에 생성된 기본 클래스는 다음과 같습니다:
- 넷 클래스 - <모든 넷>.
- 컴포넌트 클래스 - <모든 컴포넌트>, <하단 사이드 컴포넌트>, <보드 내부 컴포넌트>, <보드 외부 컴포넌트>, <상단 사이드 컴포넌트>.
- 레이어 클래스 - <모든 레이어>, <컴포넌트 레이어>, <전기 레이어>, <시그널 레이어>.
- 패드 클래스 - <모든 패드>.
- 프롬 투 클래스 - <모든 프롬-투>.
- 차동 페어 클래스 - <모든 차동 페어>.
- 폴리곤 클래스 - <모든 폴리곤>.
- x시그널 클래스 - <모든 x시그널>.
기본(시스템) 클래스는 이름이 <>로 묶여 있어 구별됩니다. 이러한 클래스는 이름을 변경하거나 삭제할 수 없습니다.
해당 클래스 유형에 대한 기본 <모든> 클래스에 적용 가능한 디자인 객체가 생성/배치될 때마다 추가됩니다.
폴더 트리 창에서 특정 클래스 항목을 클릭하거나 요약 목록에서 항목을 더블 클릭하여 해당 클래스의 객체 멤버십을 관리하는 컨트롤에 액세스하십시오.
마우스 오른쪽 버튼 메뉴
창에 대한 마우스 오른쪽 버튼 컨텍스트 메뉴에서 다음 명령을 사용할 수 있습니다:
- 클래스 추가 - 현재 선택된 클래스 유형의 새 클래스를 추가하는 데 사용합니다. 클래스는 처음에 멤버가 없는 상태로 추가되며 기본 이름은 새 클래스입니다.
- 클래스 삭제 - 현재 선택된 클래스를 삭제하는 데 사용합니다.
- 클래스 이름 변경 - 현재 선택된 클래스의 이름을 변경하는 데 사용합니다.
기본(시스템) 클래스는 이름을 변경하거나 삭제할 수 없다는 것을 기억하십시오.
클래스를 한 번 클릭하여 선택한 다음 다시 클릭하여 편집 모드로 들어가서 클래스의 이름을 변경할 수도 있습니다.
주 편집 영역
이 대화 상자의 이 영역은 왼쪽 창에서 현재 선택된 내용에 따라 변경됩니다. 두 가지 다른 뷰를 제공합니다:
- 요약 목록 - 왼쪽 창에서 객체 클래스 루트 폴더 또는 자식 객체 클래스 유형 폴더 중 하나를 클릭하면 이 영역은 모든 정의된 클래스 또는 각각 선택된 클래스 유형의 모든 클래스의 요약 목록을 제공합니다. 각 클래스는 이름과 클래스 유형에 따라 나열됩니다.
- 멤버십 관리 - 왼쪽 창에서 특정 클래스가 선택되면 이 영역은 해당 클래스의 멤버 객체를 관리하는 컨트롤을 제공합니다.
- 비멤버 - 이 영역은 현재 해당 클래스의 멤버가 아닌 적용 가능한 유형의 모든 원시 요소를 나열합니다. 목록의 내용을 빠르게 필터링하기 위해 목록 위의 필드를 사용하십시오.
- 멤버 - 이 영역은 현재 해당 클래스의 멤버인 적용 가능한 유형의 모든 원시 요소를 나열합니다. 목록의 내용을 빠르게 필터링하기 위해 목록 위의 필드를 사용하십시오.
목록 위의 필드 중 하나에 입력하면 목록이 필터링되어 문자열과 일치하는 문자열만 표시됩니다. 마스크 문자열에서
? (단일 문자) 및
* (모든 문자) 와일드카드를 사용할 수 있습니다. 예를 들어, "
*"를 사용하여 모든 원시 요소를 표시하거나 "
D?"를 사용하여
D 기존 사용자 정의 클래스를 클릭하면 해당 멤버가 표시되고 필요에 따라 수정할 수 있습니다. 새 사용자 정의 클래스를 추가하려면 생성하려는 클래스 범주 내에서 마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 클래스 추가를 선택하세요. 새 클래스가 기본 이름 새 클래스로 목록에 표시됩니다. 클래스 이름을 클릭하여 멤버에 접근하고 정의하세요. 클래스 이름을 변경하려면, 클래스 이름을 클릭한 다음 다시 클릭하여 편집 상태로 만들거나, 마우스 오른쪽 버튼으로 클릭하고 클래스 이름 변경을 선택하세요. 선택한 객체에 대한 전송 버튼이 있다는 점에 유의하세요. 종종 설계 공간에서 객체를 먼저 선택한 다음, 이 전송 선택 버튼을 사용하여 클래스를 구성하는 것이 더 쉽습니다. 유사한 객체 찾기 대화상자, PCB 패널, 목록 패널 등을 사용하여 사전에 선택을 생성한 경우, 아래 이미지에 표시된 버튼이 사용 가능해야 합니다. 이 버튼을 누르면 선택이 비회원 열에서 회원 열로 이동합니다.
선택된 객체에서 클래스 생성하기
PCB 에디터의 일부 객체에 대해서는 에디터의 특정 컨트롤을 사용하여 이러한 객체의 클래스를 생성할 수 있습니다:
![](/documentation/sites/default/files/wiki_attachments/322743/Object_Class_Name_AD18.png)
객체 클래스 이름(Object Class Name) 대화 상자
컴포넌트 클래스 생성기
부품(컴포넌트) 클래스를 추가하거나 편집할 때, 정의된 검색 기준을 기반으로 구성원을 빠르게 생성할 수 있는 기능이 있습니다. 이는 부품 클래스 생성기 대화 상자를 사용하여 수행되며, 클래스 생성기 버튼(부품 클래스 편집 대화 상자의 왼쪽 하단에 위치) 또는 부품 클래스 생성기 버튼(객체 클래스 탐색기 대화 상자의 왼쪽 하단에 위치)을 클릭하여 접근할 수 있습니다. 클래스 멤버로 추가하고자 하는 부품을 효과적으로 '포착'하기 위해 사용할 수 있는 다양한 속성이 있으며, 여기에는 Designator, Comment, 그리고 Footprint가 포함됩니다. 버튼을 한 번 클릭하면 검색 기준과 일치하는 모든 부품이 클래스에 추가됩니다.
![](/documentation/sites/default/files/wiki_attachments/322743/AccessComponentClassGeneratorDlg.png)
컴포넌트 클래스 생성기 대화 상자의 옵션 및 컨트롤
- 검색/필터 기준 - 대화 상자의 왼쪽에는 컴포넌트 클래스의 멤버로 추가될 컴포넌트를 대상으로 하는 검색/필터 기준을 정의하는 여러 필드가 있습니다. 다음 기준을 설정할 수 있습니다:
- 지정자 - 컴포넌트 지정자를 기반으로 검색/필터링하려면 이 필드를 사용하세요. 드롭다운을 사용하여 대상으로 할 컴포넌트 유형을 선택하세요. 보드 디자인에서 발견된 모든 고유 지정자 유형이 <DesignatorPrefix>?? 형식(예: U**, R**, C**)으로 나열됩니다. 지정자 유형에 관계없이 컴포넌트를 포함하려면 이 필드를 Any로 설정하세요.
- 주석 - 컴포넌트 주석을 기반으로 검색/필터링하려면 이 필드를 사용하세요. 드롭다운을 사용하여 대상으로 할 컴포넌트 주석을 선택하세요. 보드 디자인에서 발견된 모든 고유 컴포넌트 주석이 나열됩니다. 주석에 관계없이 컴포넌트를 포함하려면 이 필드를 Any로 설정하세요.
- 풋프린트 - 컴포넌트 풋프린트를 기반으로 검색/필터링하려면 이 필드를 사용하세요. 드롭다운을 사용하여 대상으로 할 풋프린트를 선택하세요. 보드 디자인에서 발견된 모든 고유 컴포넌트 풋프린트가 나열됩니다. 풋프린트에 관계없이 컴포넌트를 포함하려면 이 필드를 Any로 설정하세요.
- 레이어 - 컴포넌트가 위치한 보드의 어느 쪽을 기반으로 검색/필터링하려면 이 필드를 사용하세요. 드롭다운을 사용하여 TOP 또는 BOTTOM에 있는 컴포넌트를 대상으로 하세요. 어느 레이어에 있든 관계없이 컴포넌트를 포함하려면 이 필드를 Any로 설정하세요.
- 회전 - 컴포넌트 회전을 기반으로 검색/필터링하려면 이 필드를 사용하세요. 드롭다운을 사용하여 대상으로 할 특정 회전을 선택하세요. 보드 디자인에서 발견된 모든 고유 컴포넌트 회전이 나열됩니다. 방향에 관계없이 컴포넌트를 포함하려면 이 필드를 Any로 설정하세요.
- 잠김 - 컴포넌트의 잠김 상태를 기반으로 검색/필터링하려면 이 필드를 사용하세요. 드롭다운을 사용하여 잠긴(True) 또는 잠기지 않은(False) 컴포넌트를 대상으로 하세요. 잠김 상태에 관계없이 컴포넌트를 포함하려면 이 필드를 Any로 설정하세요.
- 선택 - 컴포넌트의 선택 상태를 기반으로 검색/필터링하려면 이 필드를 사용하세요. 드롭다운을 사용하여 작업 공간에서 현재 선택된(True) 또는 선택되지 않은(False) 컴포넌트를 대상으로 하세요. 선택 상태에 관계없이 컴포넌트를 포함하려면 이 필드를 Any로 설정하세요.
- 클래스 이름 - 클래스의 현재 멤버 목록 위에 직접 위치한 이 필드는 클래스의 현재 이름을 나타냅니다. 필요에 따라 이 필드를 편집하세요.
- 클래스 멤버십 - 클래스 이름 아래에 있는 이 영역은 현재 컴포넌트 클래스의 멤버인 모든 컴포넌트를 지정자별로 나열합니다.
- 일치하는 항목 추가 - 정의된 검색/필터 기준과 일치하는 모든 컴포넌트를 클래스 멤버십 영역에 추가하려면 클릭하세요.
- 선택된 항목 지우기 - 현재 클래스 멤버십 영역에서 선택된 모든 컴포넌트를 클래스에서 제거하려면 클릭하세요.
컴포넌트는 표준 다중 선택 기술을 사용하여 선택할 수 있습니다: Ctrl+클릭, Shift+클릭, 그리고 클릭+드래그.
구조 클래스 작업하기
Altium Designer는 이미 Schematic에서 PCB로 디자인을 전송할 때 클래스(컴포넌트 및 넷) 생성을 위한 고품질의 견고한 지원을 제공했습니다. 이 지원은 PCB 문서에서 계층 구조의 클래스 생성을 정의할 수 있는 기능으로 다음 단계로 발전되었습니다. 본질적으로, 이는 시트 레벨에서 컴포넌트 및/또는 넷의 클래스를 그 시트에서 생성된 부모 클래스로 그룹화할 수 있게 해주며, 이는 다시 상위 부모 클래스의 자식이 될 수 있으며, 궁극적으로는 최상위 레벨 시트까지 이어집니다. 이 최상위 레벨 시트는 본질적으로 최상위 생성된 부모 클래스(또는 '슈퍼 클래스')의 출처로, 클래스 구조 계층의 머리입니다. 이러한 생성된 각 부모 클래스는 구조 클래스라고 합니다. 구조 클래스는 고급 탐색을 위해 Schematic 문서 구조를 PCB 도메인 내에서 재현할 수 있게 해주는 것뿐만 아니라, 예를 들어 디자인 규칙의 범위를 지정하거나 필터링할 때 논리적 쿼리에도 사용될 수 있습니다.
구조 클래스 개념
구조 클래스는 클래스의 멤버로 어떤 유형의 클래스든지 보유할 수 있는 특별한 유형의 클래스입니다:
- 넷 클래스
- 컴포넌트 클래스
- 레이어 클래스
- 패드 클래스
- 프롬 투 클래스
- 차동 페어 클래스
- 디자인 채널 클래스
- 폴리곤 클래스
- 기타 구조 클래스.
프로젝트의 각 Schematic 시트에서 구조 클래스를 자동으로 생성함으로써 – 컴포넌트 및/또는 넷을 포함하여 – 디자인을 PCB로 전송할 때 프로젝트의 구조를 PCB 측면에서 충실하게 표현할 수 있습니다.
부품과 네트의 회로도 시트를 본질적으로 '구획화'하는 깔끔한 방법으로, 구조 클래스 객체는 PCB에서 계층적 클래스 구조를 구성하는 주요 동력입니다. 구조 클래스를 사용하면 어떤 깊이의 계층 구조도 구축할 수 있습니다. 기본적으로 구조는 회로도 소스 문서의 계층적 특성에 의해 정의되지만, 원한다면 PCB 측에서 직접 구조 클래스를 추가, 관리 및 삭제할 수 있습니다.
![](/documentation/sites/default/files/wiki_attachments/322743/StructureClassConcept.png)
PCB에 클래스 계층 구조를 도입하는 개념 - 구조 클래스는 프로젝트 계층 구조를 충실하게 재현하며, 각 구조 클래스는 기본적으로 단일 회로도 시트를 대표하며, 여기에 포함된 부품 및/또는 네트의 생성된 하위 클래스를 나타냅니다.
구조 클래스는 회로도 시트 자체의 설계 계층 구조를 반영합니다. 부품 및 네트 클래스의 멤버십은 물론, 원본 회로도 시트에서 부품 및 네트 클래스를 생성할 때 지정된 옵션에 따라 달라질 것입니다.
구조 클래스의 멤버십을 귀하의 필요에 맞게 조정하세요. 프로젝트 계층 구조는 자동화된 방식으로 가져올 수 있지만, 초기 멤버십은 부품 클래스 및/또는 네트 클래스 및/또는 다른 구조 클래스가 될 것입니다. 기존 구조 클래스를 사용하거나, 필요에 따라 PCB 문서의 다른 클래스 유형을 조직하기 위해 전체 계층 구조 내에서 새로운 것을 생성하세요.
구조 클래스의 자동 생성
PCB 설계 프로젝트의 회로도 시트에서 구조 클래스를 자동 생성하는 것은 프로젝트 옵션 대화 상자의 클래스 생성 탭(프로젝트 » 프로젝트 옵션)에서 정의됩니다. 프로젝트 내의 소스 회로도 시트에서 구조 클래스를 생성하려면, 구조 클래스 열에서 관련 생성 옵션을 활성화하기만 하면 됩니다.
![](/documentation/sites/default/files/wiki_attachments/322743/EnablingClassStructureHierarchy_AD22.png)
디자인이 PCB 문서와 동기화될 때 구조 클래스가 생성되도록 할 Schematic 시트를 지정합니다.
자동으로 생성된 각 구조 클래스는 해당 Schematic 하위 시트를 참조하는 시트 심볼/장치 시트 심볼의 지정자를 사용하여 명명됩니다. 이에 대한 예외는 최상위 시트로, 해당 구조 클래스는 그 시트의 파일 이름을 사용하여 명명됩니다.
비교기 및 ECO 생성 지원
소스 Schematic 문서와 PCB 간의 동기화는 Altium Designer의 비교 엔진을 통해 가능하며, 감지된 차이점은 엔지니어링 변경 명령(ECO)을 통해 수정하여 구현됩니다. 구조 클래스를 지원하기 위해, 비교기(Comparator)와 ECO 생성기는 그에 따라 향상되었습니다. 구조 클래스와 관련된 차이점 감지를 위해, 프로젝트 옵션 대화 상자의 비교기 탭에 새로운 섹션이 추가되었습니다 - 구조 클래스와 관련된 차이점
. ![](/documentation/sites/default/files/wiki_attachments/322743/ComparatorTab_StructureClassesSection_AD22.png)
구조 클래스에 대한 추가 비교 테스트. 변경 주문을 지원하여 동기화를 보장하기 위해 ECO 생성 탭의 프로젝트 옵션 대화 상자에 구조 클래스와 관련된 수정 사항
이라는 새로운 섹션이 추가되었습니다. ![](/documentation/sites/default/files/wiki_attachments/322743/ECOGenerationTab_StructureClassesSection_AD22.png)
구조 클래스에 대한 추가 수정 유형 - 소스 Schematic과 PCB 사이의 동기화를 유지하기 위해 적용 가능한 변경 주문을 생성하기 위해 사용됩니다. PCB에 구조 클래스를 추가하는 예시 ECO가 보여집니다.
구조 클래스의 수동 정의
PCB 문서의 다른 클래스 유형과 마찬가지로, 구조 클래스를 PCB 문서 내에서 직접 수동으로 생성하고 관리할 수 있습니다. 이 작업은 PCB 패널에서 클래스 구조 계층을 탐색하거나 객체 클래스 탐색기 대화 상자(설계 » 클래스)에서 수행할 수 있습니다. 후자를 고려할 때, 구조 클래스는 구조 클래스
폴더 아래에 정의되며, 필요에 따라 추가, 이름 변경 또는 명령 삭제와 같은 익숙한 명령이 마우스 오른쪽 버튼 메뉴에 있습니다. 새로운 또는 기존의 구조 클래스에 대해, 필요에 따라 멤버를 정의하십시오. 이들은 PCB 설계에서 사용하기 위해 지원되는 클래스 유형 중 어느 것이든 포함할 수 있습니다.
![](/documentation/sites/default/files/wiki_attachments/322743/ObjectClassExplorer_SCManagement_AD22.png)
PCB에서 다른 종류의 클래스를 관리하듯이 오브젝트 클래스 탐색기 대화 상자를 직접 사용하여 구조 클래스를 생성 및 관리하세요.
클래스 구조 계층 탐색하기
PCB 패널의 구조 클래스 모드에서는 세 가지 주요 영역이 다음과 같이 변경됩니다(위에서부터 순서대로):
- PCB 문서에 현재 정의된 모든 구조 클래스 목록; 회로도 시트에서 자동 생성된 것뿐만 아니라 PCB 자체에서 정의된 것들도 포함합니다.
- 선택된 구조 클래스의 정의된 멤버인 모든 클래스입니다.
- 각 클래스를 구성하는 개별 클래스 멤버(부품, 네트 등).
![](/documentation/sites/default/files/wiki_attachments/322743/BrowsingClassStructureHierarchy_AD22.png)
PCB 패널의 모드를 구조 클래스로 설정하여 PCB 문서의 전체 클래스 계층 구조를 탐색하세요. 패널의 다양한 영역에서 항목(또는 항목들)을 클릭하면 메인 디자인 창의 표시가 적용된 필터링을 반영하여 변경됩니다.
구조 클래스 영역
패널의 상단 영역은 PCB 문서에 현재 정의된 모든 구조 클래스를 나열합니다. 이들은 PCB 프로젝트의 소스 회로도 문서에서 자동으로 생성된 것들( 아이콘으로 표시됨)과 PCB 문서 자체에서 수동으로 정의된 것들( 아이콘으로 표시됨)을 포함합니다. 구조 클래스 옆의 화살표 아이콘을 클릭하면 해당 클래스에서 파생된 구조 클래스 계층이 표시됩니다. 최상위 구조 클래스를 확장하면 전체 계층을 볼 수 있습니다.
![](/documentation/sites/default/files/wiki_attachments/322743/Structure_Class1.png)
예제 PCB를 위한 구조 클래스
구조 클래스 항목을 더블 클릭하여 구조 클래스 편집 대화 상자에 접근할 수 있습니다. 여기서 클래스의 이름을 변경하고 필요에 따라 멤버(클래스 타입 중 하나)를 재정의할 수 있습니다.
![](/documentation/sites/default/files/wiki_attachments/322743/Edit_Structure_Class.png)
구조 클래스를 필요에 따라 변경하기 위한 친숙한 편집 대화 상자입니다.
이 영역의 마우스 오른쪽 버튼 메뉴는 다음 명령을 제공합니다:
- 모두 선택 – 현재 계층 구조의 분기에서 모든 구조 클래스 항목을 선택합니다.
- 필터 지우기 – 디자인 공간에서 필터링을 지웁니다.
- 보고서 – 정의된 모든 구조 클래스의 평면 목록을 제시하는 보고서를 생성합니다. 보고서는 보고서 미리보기 대화 상자에서 미리보기로 열립니다.
- 속성 – 현재 선택되고 초점이 맞춰진 구조 클래스에 대한 구조 클래스 편집 대화 상자에 접근합니다. 이 명령은 항목을 직접 더블 클릭하는 것과 동일합니다.
- 클래스 추가 – 새로운 구조 클래스를 추가합니다. 정의(이름과 멤버십)는 구조 클래스 편집 대화 상자에서 수행됩니다.
- 클래스 삭제 – 선택된 구조 클래스(들)을 삭제합니다.
클래스 영역
패널의 중간 영역은 위쪽 영역에서 현재 선택된 구조 클래스에 대한 모든 클래스 멤버를 나열합니다.
![](/documentation/sites/default/files/wiki_attachments/322743/Classes.png)
선택된 구조 클래스의 예시 클래스 멤버들.
클래스 항목을 더블 클릭하면 관련 편집 대화 상자에 접근할 수 있으며, 여기에서 클래스의 이름을 변경하고 필요에 따라 멤버를 재정의할 수 있습니다.
![](/documentation/sites/default/files/wiki_attachments/322743/Edit_Component_Class1.png)
컴포넌트 클래스 항목을 위한 관련 편집 대화 상자입니다.
이 영역에 대한 마우스 오른쪽 버튼 클릭 메뉴는 다음 명령을 제공합니다:
- 모두 선택 – 영역 내의 모든 클래스 항목을 선택합니다.
- 필터 지우기 – 디자인 공간에서 필터링을 지웁니다.
- 보고서 – 영역 내의 모든 클래스 목록을 제시하는 보고서를 생성합니다. 보고서는 보고서 미리보기 대화 상자에서 미리 볼 수 있습니다.
- 속성 – 현재 선택되고 초점이 맞춰진 클래스에 대한 관련 편집 대화 상자에 접근합니다. 이 명령은 항목을 직접 더블클릭하는 것과 동일합니다.
클래스 멤버
패널의 하단 영역은 위의 영역에서 현재 선택된 클래스(들)의 모든 멤버를 나열합니다.
![](/documentation/sites/default/files/wiki_attachments/322743/Class_Members.png)
선택된 클래스의 예시 멤버들.
클래스 멤버 항목을 더블 클릭하면 관련된 속성 패널의 모드에 접근할 수 있으며, 여기서 클래스의 이름을 변경하고 필요에 따라 멤버를 재정의할 수 있습니다.
이 영역의 마우스 오른쪽 버튼 메뉴는 다음 명령을 제공합니다:
- 전체 선택 - 영역 내의 모든 클래스 멤버 항목을 선택합니다.
- 필터 지우기 - 디자인 공간에서 필터링을 지웁니다.
- 보고서 - 영역 내의 모든 클래스 멤버 목록을 제시하는 보고서를 생성합니다. 보고서는 보고서 미리보기 대화 상자에서 미리보기로 열립니다.
- 속성 - 현재 선택되고 초점이 맞춰진 클래스 멤버에 대한 관련 속성/편집 대화 상자에 접근합니다. 이 명령은 항목을 직접 더블 클릭하는 것과 동일합니다.
- 선택한 항목 확대 - 이는 원시 객체 항목에만 사용할 수 있습니다. 디자인 공간은 정의된 확대 레벨에 따라 디자인 공간에서 해당 객체로 확대됩니다. 패널의 하이라이트 제어 기능의 일부로 확대 옵션이 활성화된 경우 이 명령은 효과가 없습니다.
논리적 쿼리에서 구조 클래스 사용하기
논리적 쿼리는 디자인에서 객체를 대상으로 할 때 기본적인 추진력입니다. 디자인 규칙을 특정(그리고 필요한) 방식으로 제한하기 위해 사용하거나 디자인 작업 공간에서 객체를 필터링할 때 사용할 수 있습니다. 쿼리 언어는 논리적 쿼리 표현을 구축할 때 구조 클래스의 사용을 지원하기 위해 향상되었습니다. 다음 키워드가 PCB 함수 - 멤버십 검사 섹션에 추가되었습니다:
InStructureClass
- 객체 클래스가 지정된 구조 클래스에 있는지 확인합니다.
이 키워드는 디자인 규칙을 범위 지정하기 위해 쿼리를 구성할 때도 사용할 수 있습니다. 쿼리 도우미 대화 상자와 쿼리 빌더 대화 상자 모두에서 사용이 지원됩니다.
![](/documentation/sites/default/files/wiki_attachments/322743/SC_ScopingaDesignRule_AD22.png)
서로 다른 구조 클래스 내에 포함된 멤버 객체 사이의 예시 클리어런스 규칙.
필터 표현식에서 사용될 논리적 쿼리를 생성할 때 이 키워드를 사용하세요 - 지정된 구조 클래스 내부에서 파생된 모든 하위 멤버 객체를 빠르게 필터링합니다.
![](/documentation/sites/default/files/wiki_attachments/322743/SC_FilterExpression_AD22.png)
설계 공간 내에서 특정 구조 클래스에 속하는 모든 객체를 빠르게 필터링합니다.