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:
source("cell1.gds")
source.cell("cell1")
report("Output database", "drc.lyrdb")
LAY1 = input(1, 0)
LAY1_HOLES = LAY1.holes
LAY1_UNHOLED = LAY1.not_interacting(LAY1_HOLES)
LAY1.output("LAY1")
LAY1_HOLES.output("LAY1_HOLES")
LAY1_UNHOLED.output("LAY1_UNHOLED")

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.

Comments

  • 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.

    Matthias

Sign In or Register to comment.