It looks like it is not the same thing to place conditions on multiple lines and to && them @eelik. The two rules below trigger on different vias in my project:
Same here (but i have a somewhat outdated 7.99 version).
The oneliner reports more errors. The diff of the report files:
2c2
< ** Created on 2023-10-03 14:50:30 **
---
> ** Created on 2023-10-03 14:51:06 **
4c4
< ** Found 143 DRC violations **
---
> ** Found 133 DRC violations **
314,325d313
< [microvia_drill_out_of_range]: Micro via drill out of range (rule L1 -> L5 burries via hole size min width 0.2000 mm; actual 0.1750 mm)
< Rule: L1 -> L5 burries via hole size; Severity: error
< @(84.0850 mm, 72.7020 mm): Micro Via [Net-(B1-In)] on L1.Cu - L2.Cu
< [microvia_drill_out_of_range]: Micro via drill out of range (rule L1 -> L5 burries via hole size min width 0.2000 mm; actual 0.1750 mm)
< Rule: L1 -> L5 burries via hole size; Severity: error
< @(87.4850 mm, 72.7020 mm): Micro Via [Net-(B1-In)] on L1.Cu - L2.Cu
< [microvia_drill_out_of_range]: Micro via drill out of range (rule L1 -> L5 burries via hole size min width 0.2000 mm; actual 0.1750 mm)
< Rule: L1 -> L5 burries via hole size; Severity: error
< @(86.9800 mm, 72.6958 mm): Micro Via [Net-(B1-In)] on L2.Cu - L3.Cu
< [microvia_drill_out_of_range]: Micro via drill out of range (rule L1 -> L5 burries via hole size min width 0.2000 mm; actual 0.1750 mm)
< Rule: L1 -> L5 burries via hole size; Severity: error
< @(84.3850 mm, 72.7020 mm): Micro Via [Net-(B1-In)] on L2.Cu - L3.Cu
329,346d316
< [microvia_drill_out_of_range]: Micro via drill out of range (rule L1 -> L5 burries via hole size min width 0.2000 mm; actual 0.1760 mm)
< Rule: L1 -> L5 burries via hole size; Severity: error
< @(108.4400 mm, 69.5700 mm): Micro Via [GND] on L1.Cu - L2.Cu
< [microvia_drill_out_of_range]: Micro via drill out of range (rule L1 -> L5 burries via hole size min width 0.2000 mm; actual 0.1750 mm)
< Rule: L1 -> L5 burries via hole size; Severity: error
< @(108.4800 mm, 70.3600 mm): Micro Via [GND] on L1.Cu - L2.Cu
< [microvia_drill_out_of_range]: Micro via drill out of range (rule L1 -> L5 burries via hole size min width 0.2000 mm; actual 0.1750 mm)
< Rule: L1 -> L5 burries via hole size; Severity: error
< @(109.1500 mm, 103.2000 mm): Micro Via [Net-(B7-In)] on L1.Cu - L2.Cu
< [microvia_drill_out_of_range]: Micro via drill out of range (rule L1 -> L5 burries via hole size min width 0.2000 mm; actual 0.1750 mm)
< Rule: L1 -> L5 burries via hole size; Severity: error
< @(115.6500 mm, 103.2000 mm): Micro Via [Net-(B7-In)] on L1.Cu - L2.Cu
< [microvia_drill_out_of_range]: Micro via drill out of range (rule L1 -> L5 burries via hole size min width 0.2000 mm; actual 0.1750 mm)
< Rule: L1 -> L5 burries via hole size; Severity: error
< @(115.2000 mm, 103.2000 mm): Micro Via [Net-(B7-In)] on L2.Cu - L3.Cu
< [microvia_drill_out_of_range]: Micro via drill out of range (rule L1 -> L5 burries via hole size min width 0.2000 mm; actual 0.1750 mm)
< Rule: L1 -> L5 burries via hole size; Severity: error
< @(109.6000 mm, 103.2000 mm): Micro Via [Net-(B7-In)] on L2.Cu - L3.Cu
Yeah, sorry, there are several other errors in that file by design. I am working on a design kit with rules for a new stack-up I am developing, and want to catch several errors, so adding them on purpose in that file. However, if you change between the two different version of the rule, you will find out that the results are different.
But actually, restarting KiCAD seem to change the behavior. After a restart, I can used multi-line conditions. However, I changed nothing in the rules, except commenting the milti-line vs. single line construction before restart, and then it did not work. So, don’t know… Seems hard to try to track down.
Anyways, now it seem to work. Thanks for the assistance!