KiCad 6.0.2.
Rule with “insideCourtyard” condition works well at Front.
But when I move IC to Back, rule does not work. I need to change “insideCourtyard” to “insideBackCourtyard” and add new rule with “insideFrontCourtyard”.
I think it’s not correct, “insideCourtyard” should work both at Front and at Back. Am i right?
Rule works well if i change insideCourtyard → insideBackCourtyard or change condition to
(rule “small IC”
(constraint clearance (min 0.15mm))
(condition " (A.insideBackCourtyard(‘DD*’) || A.insideFrontCourtyard(‘DD*’)) && A.Type==‘Pad’ && B.Type==‘Pad’ "))
It’s not a bug, of course, but wen i see set of {insideBackCourtyard; insideFrontCourtyard; insideCourtyard}
i think insideCourtyard == insideFrontCourtyard AND insideBackCourtyard
but not insideCourtyard == insideFrontCourtyard
Regarding insideCourtyard(), insideFrontCourtyard(), and insideBackCourtyard(), the documentation says:
Returns true if the any part of the object is inside the courtyard of the given footprint reference. [insideCourtyard()] checks both the front or back courtyard and returns true if the object is inside either one; [insideFrontCourtyard() and insideBackCourtyard()] check a specific courtyard. The * wildcard can be used in the reference: insideCourtyard('R*') would check all footprints with references that start with R .