It looks like you're new here. If you want to get involved, click one of these buttons!
I have the next rule-deck kladrc.drc to select LAY1 polygons without holes:
report("Output database", "drc.lyrdb")
LAY1 = input(1, 0)
LAY1_HOLES = LAY1.holes
LAY1_UNHOLED = LAY1.not_interacting(LAY1_HOLES)
I run this deck with command: klayout -b -r kladrc.drc
If the test cell contains both a polygon with a hole (like a zero-character),
and a polygon without a hole (like a one-character),
than I see in the output only the one-character detected as a LAY1_UNHOLED (as expected).
If the test cell contains only polygons without a hole (like one-characters),
than I see in the output the one-characters NOT detected as a LAY1_UNHOLED.
I suspect that the command layer.not_interacting(other)
(see at https://www.klayout.de/doc-qt5/about/drc_ref_layer.html#h2-1093)
doesn't give output if the 'other'-layer is empty.
I didn't expect this.