1
\$\begingroup\$

I have a polygon pour whose contact to a pad shouldn't have a thermal relief, so the plane can dissipate the component's heat. All other polygons should keep the default rule, with reliefs.

How do I make a rule that targets that single polygon pour?

The polygon is named "5V_Dissipator". I've tried creating a rule that targets this polygon with InNamedPolygon('5V_Dissipator'), but when I repour it the PolygonConnect, which is set to All, always dominates making the contact with the pad have a thermal relief.

enter image description here

I've also tried Name = '5V_Dissipator' and InComponent('5V_Dissipator'), that don't work. I don't understand how this is supposed to work.

If I remove the thermal relief from PolygonConnect (by changing this rule's properties) it works well, the polygon repours correctly.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ You need to put your specialized rule before the general rule in the list of all Polygon Connect Style rules. Altium goes through the rules in order and applies the first rule it finds that fits. So if you have the 'All' rule first, that rule will always be used. \$\endgroup\$
    – The Photon
    Apr 1, 2018 at 19:45
  • \$\begingroup\$ You need to use Where the first object matches "InNamedPolygon('5V_Dissipator')" and Where the second object matches "IsVia". And you need to put that rule's priority ahead of the default, as ThePhoton mentioned. \$\endgroup\$
    – DerStrom8
    Apr 2, 2018 at 2:03

1 Answer 1

2
\$\begingroup\$

I needed to set rules priorities.

In the PCB Rules and Constraints Editor, I selected the bottom most group selecting the rules I want pro prioritize, named Polygon Connect Style, shown below.

enter image description here

Then I click Priorities... button on the bottom right, which brings up the Edit Rule Priorities dialog. Here you can change the priority of the rules.

Query for single object

The query Name = '5V_Dissipator' was the only one that worked, from the three queries mentioned in the question. I believe you can use any query of the type PropertyName = 'propertyValue' to target any individual object.

Wildcards in queries

Queries support wildcards if you use the Like operator. For example, Name Like '*_Dissipator' can be used to target all objects whose name ends in _Dissipator.

Testing queries

By far the best method to test the query you're creating is the PCB Filter Panel, shown bellow. It will dynamically show you what you're targeting.

enter image description here

\$\endgroup\$
1
  • \$\begingroup\$ Good job that you added your own detailed findings. \$\endgroup\$
    – pfabri
    Mar 20, 2020 at 12:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.