@JeffYoung: Thanks, that seems to solve it. I will test in detail soon.
Feature Request: How about some error messages, if a rule parameter/variable cannot be understood.
"E.G. Could not find Layer “TOP1"”. That would make debugging easier.
First test impression: I would like to see the pad clearance only for padclearance, not for inner layers. E.g. here.
There is nothing on GND2, however it shows the pad clearance. I find that confusing.
I’m looking at this example and the Syntax Help. Except for these examples I don’t have an idea where the properties or functions in the expressions come from. I would like to see some reference to a place where I can find them, unless they can be put into the Syntax Help.
If i use the padclearance and fill with b, Kicad crashes.
If i use a wrong user-netname, kicad crashes.
If i reopen the project in pcbnow, kicad crashes as a subsequent error. If you save with a wrong rule (that cannot be read, there should be a warning wether i want to save the project).
We have a test-suite for the DRC engine that we’re building out; the purpose of the guinea pigs is more to find out what people try to do with it (so that we can see if the expressivity is sufficient). To that end I’m fixing bugs that keep people from trying it out, but there’s no expectation at present that it’s anywhere near stable.
The crashers should be fixed; I haven’t had a chance to look at the random zone filling yet…
@overthere, I can’t seem to find your board file. Can you send it again?
(I have a “SRC_Power_Adapter”, but it’s been cut down so much to isolate a bug that I can’t tell if it was the one you sent me or not. I also have a “vhf_uhf_com” and “motherboard” from about the right time-frame, but those don’t look right either.)
Aha! That is ingenious. (Or was it you? I’m not sure.)
Still I would like to know where they come from and preferably have some documentation - although many of them look self-explanatory.
Well, the whole thing is advanced functionality for power users as far as I can see, so I don’t expect it to be easy for beginners. But in the end it needs good documentation to be useful. It’s like a simple programming language and programming library!
This thing is still in heavy flux, people are debating what properties to include, what the syntax should be, etc. There will certainly be documentation after it is more settled
Do you invent the property and function names for each case for this rule system, or do they come from somewhere else? Are they in any way documented in the KiCad code?
And it uses last clearance, so the condition does not seem to have an effect. You can reproduce this with the testboard. (Blue and orange should not have the same distance)