interacting doesn't show results if the other-layer is empty

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
doesn't give output if the 'other'-layer is empty.

I didn't expect this.


  • No, that would be a bug. "a.not_interacting(b)" gives the full a output if b is empty.

    I just checked with a simple script like this:

    input(1, 0).not_interacting(input(2, 0)).output(101, 0)

    And it gives 1/0 layer when 2/0 is empty ... Tested on 0.26.10.


Sign In or Register to comment.