Gerenciamento de regras de projeto com o Editor de Restrições
Num relance
- Como identificar se o seu projeto usa o Editor de Restrições ou o Gerenciador de Restrições e como alternar entre as visualizações disponíveis para o gerenciamento de regras.
- Como o Editor de Restrições organiza as regras por objetos de projeto e regras Avançadas, incluindo como funcionam a prioridade e a conversão de regras.
- Quais recursos práticos estão disponíveis para criar, editar, validar, salvar, importar, exportar e reutilizar regras de projeto.
O Constraints Editor é uma interface de usuário baseada em documentos que oferece uma abordagem alternativa para visualizar, criar e gerenciar as regras de restrição de projeto usadas nos layouts de PCB. O editor é organizado em seis seções de regras selecionáveis, em ordem crescente de prioridade – Nets, Diff Pairs, xSignals, Polygons, Components, e Advanced. Nessa organização, as cinco primeiras seções (Nets a Components) representam uma visualização das regras por objeto de projeto, enquanto a seção de visualização Advanced se aplica a regras mais complexas (normalmente usando consultas) que não podem ser expressas como regras mais simples orientadas a objetos de projeto.

O Constraints Editor – uma abordagem alternativa para gerenciar regras de projeto.
O Constraints Editor é acessado clicando no botão Switch to Document View na caixa de diálogo PCB Rules and Constraints Editor.

Alternando para a visualização Constraints Editor a partir da caixa de diálogo PCB Rules and Constraints Editor.
Algumas das vantagens de usar o editor são:
-
O uso de uma interface de apresentação baseada em documentos, em vez de uma caixa de diálogo, permite que o editor de PCB e suas funções associadas permaneçam ativos e acessíveis.
-
A mudança da definição do escopo de regras baseada em consultas para a correspondência por tipo de objeto aplicado simplifica a criação de regras de restrição.
-
A prioridade das regras é automática, com base na hierarquia natural dos objetos de projeto.
-
Verificação interativa de validação de regras para detectar erros comuns de sintaxe, atribuição e definição de escopo.
Tipos de regras de restrição
No Constraints Editor, as regras existentes que apresentam expressões de consulta mais complexas em seu escopo de correspondência são consideradas Advanced Rules (ou regras personalizadas), enquanto as regras mais simples são reformuladas como Basic Rules por tipo de objeto, ou seja, regras baseadas no tipo dos objetos de projeto que estão sendo verificados.
A maioria das regras no formato avançado (baseado em consultas) pode ser convertida em regras básicas mais simples arrastando e soltando a regra na listagem Basic Rules ou selecionando a opção Move Custom Rule to Basic no menu de contexto da regra avançada (ou usando o comando Tools » Convert » Migrate Advanced Rules to Basic nos menus principais). Após executar o comando, a caixa de diálogo Migration of Advanced Rules to Basic será exibida e fornecerá informações sobre quantas regras básicas podem ser migradas antes de solicitar a confirmação da migração. Na conversão, o escopo baseado em consultas da regra avançada será interpretado como a qualificação por tipo de objeto da regra básica.

Regras avançadas baseadas em consultas podem ser convertidas em regras básicas mais simples.
Priorização de regras
Em geral, a prioridade das regras é tratada automaticamente pelo sistema. Isso é indicado pela disposição dos botões de visualização de regras na interface, posicionados por prioridade da esquerda para a direita – Nets tem a prioridade mais baixa.
- As regras avançadas (ou criadas de forma personalizada) têm precedência sobre a sequência de regras básicas por objeto e podem ser reordenadas manualmente na visualização avançada, arrastando suas entradas para cima ou para baixo.
- Por outro lado, as regras básicas são priorizadas automaticamente pelo sistema com base no tipo de objeto de projeto, conforme indicado pelas seções de objetos (Nets a Components) na interface do documento.
- Em cada uma das seções de regras (básicas) por objeto, a prioridade é ordenada de All (mais baixa) para classe de objetos e, em seguida, para objeto (mais alta). Por consequência, as regras com escopo All que foram convertidas em regras básicas terão a prioridade mais baixa.
- Para definir uma prioridade explícita para uma regra básica, clique com o botão direito na regra e selecione a opção Move Basic Rule to Advanced (ou use o comando Tools » Convert » Migrate Basic Rules to Advanced nos menus principais). Após executar o comando, a caixa de diálogo Migration of Basic Rules to Advanced será exibida e fornecerá informações sobre quantas regras básicas podem ser migradas antes de solicitar a confirmação da migração. Defina manualmente sua posição de prioridade na visualização avançada. Isso se aplica a regras diferentes daquelas com escopo All; por exemplo, na visualização de redes, uma regra com escopo Net Class ou Net especificado pode ser convertida (movida) para uma regra avançada.
Nova regra de restrição personalizada
Criar uma nova regra no modo padrão Advanced do editor (indicado e selecionado pelo botão é semelhante a criar uma regra na caixa de diálogo PCB Rules and Constraints Editor. Selecione Add Custom Rule no menu de contexto do botão direito (ou use o botão
ou o comando Edit » Add Constraint nos menus principais), adicione um escopo de correspondência baseado em consultas, se necessário , e insira os parâmetros de restrição na grade de colunas ou na representação gráfica inferior.

Crie sua própria regra de restrição personalizada
Para simplificar o processo repetitivo de criação de regras avançadas/personalizadas, o Constraints Editor permite armazenar escopos de correspondência de objetos baseados em consultas na caixa de diálogo Scopes Library (acesse clicando em
na coluna Object Match e selecionando Export to Library ou clicando no botão Edit Library na região Scopes Library do modo Advanced constraints options do painel Properties ). A biblioteca é apresentada no painel Properties, no qual os escopos personalizados podem ser importados, gerenciados e exportados para reutilização em outras regras de restrição personalizadas. O uso de um escopo da biblioteca em uma regra é indicado por um ícone na entrada da coluna Object Match dessa regra.

Use a biblioteca de escopos para simplificar a criação de regras personalizadas.
Opções e controles da caixa de diálogo Biblioteca de escopos
- Scope - lista todos os escopos que foram definidos.
- Expression - exibe a expressão definida para o escopo associado.
-
- abre a caixa de diálogo Auxiliar de consultas, que ajuda a escrever expressões de pesquisa.
-
- abre a caixa de diálogo Construtor de consultas, que ajuda a criar uma consulta.
- Update - use para atualizar a regra no Constraints Editor. Esta opção só fica disponível e acessível se uma alteração tiver sido feita.
- Import - use para importar o escopo selecionado para o Constraints Editor. Esta opção só fica disponível e acessível se um escopo selecionado na caixa de diálogo ainda não estiver no Constraints Editor.
Modos de restrição de objetos de projeto
Para adotar uma abordagem mais simples, orientada a objetos de projeto, na criação de regras de restrição, selecione um botão de modo de objeto adequado na parte superior da grade de regras para sair do modo Avançado padrão. Conceitualmente, esses modos apresentam uma interface de regras mais integrada, voltada a restringir (limitar) como os objetos de projeto podem ser aplicados, em vez de criar regras de projeto que podem ser violadas. A sequência de posições dos botões de objetos de projeto está relacionada à complexidade crescente dos objetos (e à prioridade das regras), desde Nets básicos (e classes), passando por Components unificados, até o modo Advanced.
No modo Advanced , as regras são agrupadas por tipo, como as regras de restrição básicas Via e Width mostradas nas imagens abaixo. É possível tornar as regras mais específicas adicionando outra regra e/ou incluindo um elemento da linguagem de consulta.

No modo Advanced do Constraints Editor, as regras são agrupadas por tipo.
Por outro lado, as visualizações orientadas a objetos (Nets a Components) organizam as regras por objetos de projeto (por exemplo, Nets) ou classes (por exemplo, Net Class) e, como resultado, fornecem uma visão geral direta de como as regras se aplicam ao projeto. Para ter uma visão geral das regras que se aplicam a um tipo de objeto, selecione um objeto ou uma classe na coluna à esquerda para ver todas as regras associadas, ou selecione All para ver todas as regras associadas ao tipo de objeto. O exemplo abaixo mostra a visão geral das regras associadas a Nets

Nas visualizações orientadas a objetos do Constraints Editor, as regras são agrupadas por objetos de projeto.
Ao usar a abordagem orientada a objetos de projeto, por exemplo, com o tipo de objeto Nets selecionado, conforme mostrado abaixo, as regras básicas de Via e Largura são integradas em uma única entrada composta. O layout da grade também permite adicionar mais restrições por objeto (Net) e classe.

Uma visualização orientada a objetos exibe as restrições do tipo de objeto selecionado.
Para adicionar restrições mais específicas neste exemplo, basta selecionar um Net ou Net Class e inserir valores adequados nas células da grade que correspondem ao tipo desejado de regra de restrição. Conforme mostrado abaixo, foi permitido um tamanho maior de via para as nets Power (definidas por sua classe), e uma largura máxima de trilha maior foi atribuída à net de alimentação 5V. Na prática, quatro regras são abrangidas em uma única visualização simples de grade, ou seja, uma restrição de largura para a net de 5 V, uma restrição de largura para todas as outras nets, uma restrição de tamanho de via para as nets de alimentação e uma restrição de tamanho de via para todas as outras classes de nets.

Adicione restrições mais específicas para diferentes objetos e seus grupos (por exemplo, nets e classes de nets).
Use o botão
para adicionar uma variação da regra de restrição selecionada, como no exemplo mostrado abaixo, em que uma regra adicional para a net 5V define uma largura preferencial para a camada Bottom.

É possível adicionar variações de uma restrição selecionada.
Observe que a disponibilidade dos tipos de regra nas entradas da grade é definida pelas colunas disponíveis, que, por sua vez, são especificadas pelas opções habilitadas na lista Rule Visibility do painel Properties. Por exemplo, habilitar a entrada Clearance na lista Rule Visibility adicionará a coluna Clearance ao tipo de objeto Nets, conforme mostrado abaixo. Para adicionar uma regra de espaçamento aplicável, basta inserir um escopo de net ou classe e os parâmetros de distância adequados.

Selecione as regras a serem exibidas em uma visualização orientada a objetos.
Validação de regras
A validade de todas as regras ativas pode ser verificada na região Rules/Constraints Checks do painel Properties clicando no botão
. Essa ação verifica as regras em busca de possíveis erros, como regras duplicadas, regras com o mesmo escopo e valores diferentes, regras com membros de classe sobrepostos (como nets) e regras com escopos não resolvidos. Cada entrada de tipo de violação pode ser expandida para mostrar as regras em violação; ao selecionar uma delas, a entrada específica da regra será aberta.

Verifique a validade das regras atualmente definidas no Constraints Editor.
Para executar a validação de regras, você também pode usar o comando Tools » Run Rules Validation Check nos menus principais
Violações de regras
As regras de restrição de projeto habilitadas são aplicadas ao projeto atual da placa por meio de diversos mecanismos, como a Verificação de Regras de Projeto Online em tempo real, o Verificador de Regras de Projeto em lote ou a execução seletiva pelo painel PCB Rules And Violations. As violações dessas regras de restrição — quando os limites especificados para o escopo são excedidos — são indicadas por elementos gráficos na placa, entradas no painel e relatórios, bem como por ícones de alerta no Constraints Editor. Além disso, as violações podem ser inspecionadas, analisadas e corrigidas enquanto o Constraints Editor está aberto, graças ao seu formato de documento de projeto, em vez de caixa de diálogo.

O Constraints Editor fornece informações sobre as regras que estão sendo violadas.
Painel Properties
Quando o Constraints Editor está ativo, o painel Properties apresenta o modo Document Options (ou o modo Advanced constraints options no modo Advanced do editor).
As seções recolhíveis a seguir contêm informações sobre as opções e os controles disponíveis:
Ações
- Switch to Dialog View – após executar o comando, o modo de visualização mudará de Document View para Dialog View, o que abre a caixa de diálogo PCB Rules and Constraints Editor.
Geral
- Show Default Values (somente no modo Document Options) – quando habilitada, os valores padrão aplicáveis serão exibidos para todas as entradas na área de grade do editor como texto esmaecido.
- Units – use para selecionar a unidade de medida desejada. As unidades de medida também podem ser selecionadas pelo menu Tools » Measurement Units.
Configurações da visualização de sondagem cruzada
- Select – quando habilitada, os objetos filtrados serão selecionados no espaço de projeto.
- Zoom – quando habilitada (padrão), os objetos filtrados serão ampliados e centralizados (quando possível) no espaço de projeto. Use o botão Zoom Level para ajustar o fator de zoom que será usado para ampliar os objetos filtrados.
-
Normal/Mask/Dim – lista suspensa que oferece opções para contrastar visualmente os objetos filtrados e não filtrados no espaço de projeto.
- Normal – os objetos filtrados ficam visíveis no espaço de projeto e a aparência dos objetos não filtrados permanece inalterada.
- Mask – os objetos filtrados são destacados no espaço de projeto, enquanto todos os demais objetos ficam monocromáticos.
- Dim – os objetos filtrados são destacados no espaço de projeto, enquanto todos os demais objetos mantêm suas cores, mas ficam esmaecidos.
Visibilidade das regras
Esta região do painel Properties está disponível somente no modo Document Options.
- Grid – use para configurar a disponibilidade dos tipos de regra na região de grade do editor.
Biblioteca de escopos
Esta região do painel Properties está disponível somente no modo Advanced constraints options.
- Scope – lista todos os escopos que foram definidos.
- Query – exibe as consultas definidas para o escopo associado.
- Import – use para importar o escopo selecionado para o Constraints Editor. Esta opção só fica disponível e acessível se o escopo selecionado na caixa de diálogo ainda não estiver no Constraints Editor.
- Export – use para exportar o escopo selecionado para o Constraints Editor.
- Edit Library – use para abrir a caixa de diálogo Biblioteca de escopos, onde você pode armazenar escopos de correspondência de objetos baseados em consultas. Os escopos personalizados podem ser importados, gerenciados e exportados para reutilização em outras regras de restrição personalizadas.
Verificações de regras/restrições
-
Check – use para iniciar a Verificação de Regras de Projeto (DRC). As violações das regras de restrição (ou seja, quando os limites especificados para o escopo são excedidos) serão indicadas automaticamente na última coluna de cada regra violada, identificadas por
, assim que a DRC for concluída. O número total de violações é exibido no canto superior direito do editor, ao lado do
.
Você também pode usar o Tools » Run DRC Rules Check nos menus principais para executar a DRC.
Verificação da aplicação das regras
O Constraints Editor inclui um recurso de sondagem cruzada que mostra o escopo de objetos de uma regra de restrição, destacando visualmente a rede e as conexões no layout de PCB correspondente. Para realizar a sondagem cruzada de qualquer regra na listagem da grade do editor, clique com o botão direito na entrada correspondente e escolha a opção Cross Probe no menu de contexto ou selecione Cross Probe no menu
de uma regra avançada.
Configure o Cross Probe View Settings (as opções Zoom e Select) no painel Properties e use a opção Clear Filter do editor de PCB para redefinir o destaque da sondagem cruzada.

Realize a sondagem cruzada do objeto abrangido pelo escopo de uma regra a partir do Constraints Editor.
