diff --git a/src/drc/drc/built-in-macros/_drc_layer.rb b/src/drc/drc/built-in-macros/_drc_layer.rb index b6fc6802b..089cb7115 100644 --- a/src/drc/drc/built-in-macros/_drc_layer.rb +++ b/src/drc/drc/built-in-macros/_drc_layer.rb @@ -1619,7 +1619,7 @@ CODE # # This method is available for polygon, text and edge layers. Edges can be selected # with respect to other edges or polygons. Texts can be selected with respect to - # polygons. + # polygons. Polygons can be selected with respect to edges, texts and other polygons. # # The following image shows the effect of the "interacting" method (input1: red, input2: blue): # @@ -1639,8 +1639,9 @@ CODE # It returns a new layer containing the selected shapes. A version which modifies self # is \select_not_interacting. # - # This method is available for polygon and edge layers. Edges can be selected - # with respect to other edges or polygons. + # This method is available for polygon, text and edge layers. Edges can be selected + # with respect to other edges or polygons. Texts can be selected with respect to + # polygons. Polygons can be selected with respect to edges, texts and other polygons. # # The following image shows the effect of the "not_interacting" method (input1: red, input2: blue): # @@ -1660,8 +1661,9 @@ CODE # It modifies self to contain the selected shapes. A version which does not modify self # is \interacting. # - # This method is available for polygon and edge layers. Edges can be selected - # with respect to other edges or polygons. + # This method is available for polygon, text and edge layers. Edges can be selected + # with respect to other edges or polygons. Texts can be selected with respect to + # polygons. Polygons can be selected with respect to edges, texts and other polygons. # %DRC% # @name select_not_interacting @@ -1673,8 +1675,9 @@ CODE # It modifies self to contain the selected shapes. A version which does not modify self # is \not_interacting. # - # This method is available for polygon and edge layers. Edges can be selected - # with respect to other edges or polygons. + # This method is available for polygon, text and edge layers. Edges can be selected + # with respect to other edges or polygons. Texts can be selected with respect to + # polygons. Polygons can be selected with respect to edges, texts and other polygons. # %DRC% # @name intersections @@ -1732,8 +1735,7 @@ CODE # # This method will neither modify self nor other. # - # This method is available for polygon layers. Other can be an edge or polygon layer. - # Edges or polygons can be selected with respect to polygons of self. + # This method is available for polygon, edge and text layers, similar to interacting. # %DRC% # @name pull_overlapping diff --git a/src/lay/lay/doc/about/drc_ref_layer.xml b/src/lay/lay/doc/about/drc_ref_layer.xml index 2f29c1d58..f2a1d8043 100644 --- a/src/lay/lay/doc/about/drc_ref_layer.xml +++ b/src/lay/lay/doc/about/drc_ref_layer.xml @@ -752,7 +752,7 @@ is select_interacting.

This method is available for polygon, text and edge layers. Edges can be selected with respect to other edges or polygons. Texts can be selected with respect to -polygons. +polygons. Polygons can be selected with respect to edges, texts and other polygons.

The following image shows the effect of the "interacting" method (input1: red, input2: blue):

@@ -1124,8 +1124,9 @@ otherwise individual shapes are selected. It returns a new layer containing the selected shapes. A version which modifies self is select_not_interacting.

-This method is available for polygon and edge layers. Edges can be selected -with respect to other edges or polygons. +This method is available for polygon, text and edge layers. Edges can be selected +with respect to other edges or polygons. Texts can be selected with respect to +polygons. Polygons can be selected with respect to edges, texts and other polygons.

The following image shows the effect of the "not_interacting" method (input1: red, input2: blue):

@@ -1440,8 +1441,7 @@ provides a way to pull shapes from other to the hierarchy to self.

This method will neither modify self nor other.

-This method is available for polygon layers. Other can be an edge or polygon layer. -Edges or polygons can be selected with respect to polygons of self. +This method is available for polygon, edge and text layers, similar to interacting.

"pull_overlapping" - Selects shapes or regions of other which overlap shapes from the this region

@@ -1655,8 +1655,9 @@ otherwise individual shapes are selected. It modifies self to contain the selected shapes. A version which does not modify self is
interacting.

-This method is available for polygon and edge layers. Edges can be selected -with respect to other edges or polygons. +This method is available for polygon, text and edge layers. Edges can be selected +with respect to other edges or polygons. Texts can be selected with respect to +polygons. Polygons can be selected with respect to edges, texts and other polygons.

"select_not_inside" - Selects shapes or regions of self which are not inside the other region

@@ -1688,8 +1689,9 @@ otherwise individual shapes are selected. It modifies self to contain the selected shapes. A version which does not modify self is
not_interacting.

-This method is available for polygon and edge layers. Edges can be selected -with respect to other edges or polygons. +This method is available for polygon, text and edge layers. Edges can be selected +with respect to other edges or polygons. Texts can be selected with respect to +polygons. Polygons can be selected with respect to edges, texts and other polygons.

"select_not_outside" - Selects shapes or regions of self which are not outside the other region

diff --git a/src/lay/lay/doc/manual/drc_runsets.xml b/src/lay/lay/doc/manual/drc_runsets.xml index dd7442135..cf1afed49 100644 --- a/src/lay/lay/doc/manual/drc_runsets.xml +++ b/src/lay/lay/doc/manual/drc_runsets.xml @@ -549,6 +549,8 @@ output(w, "width violations")
  • Boolean NOT with a polygon layer: will select those texts which are outside of any polygon. not_interact is a synonym for this operation.
  • +
  • As second layer for region interact: this way, polygons + can be selected which are tagged with certain texts.
  • Text filtering by string: texts can be filtered either by matching against a fixed text or a glob pattern. The methods provided for this purpose are: diff --git a/testdata/drc/drcSuiteTests.drc b/testdata/drc/drcSuiteTests.drc index 151cadaf8..55cbbedd2 100644 --- a/testdata/drc/drcSuiteTests.drc +++ b/testdata/drc/drcSuiteTests.drc @@ -662,6 +662,14 @@ def run_testsuite(dm, ic, tiled = false, hier = false) atdup = at.dup atdup.select_not_interacting(d) atdup.output(lb + 7, dm + 1) + p = d.interacting(at) + p.output(lb + 8, dm) + p = d.not_interacting(at) + p.output(lb + 8, dm + 1) + p = d.pull_interacting(at) + p.output(lb + 9, dm) + p = at.pull_interacting(d) + p.output(lb + 9, dm + 1) end diff --git a/testdata/drc/drcSuiteTests_au1.oas b/testdata/drc/drcSuiteTests_au1.oas index d985dfd03..47716726f 100644 Binary files a/testdata/drc/drcSuiteTests_au1.oas and b/testdata/drc/drcSuiteTests_au1.oas differ diff --git a/testdata/drc/drcSuiteTests_au2.oas b/testdata/drc/drcSuiteTests_au2.oas index b02e611c6..17b7942ef 100644 Binary files a/testdata/drc/drcSuiteTests_au2.oas and b/testdata/drc/drcSuiteTests_au2.oas differ diff --git a/testdata/drc/drcSuiteTests_au3.oas b/testdata/drc/drcSuiteTests_au3.oas index 003825e8c..eb87b64f1 100644 Binary files a/testdata/drc/drcSuiteTests_au3.oas and b/testdata/drc/drcSuiteTests_au3.oas differ diff --git a/testdata/drc/drcSuiteTests_au4.oas b/testdata/drc/drcSuiteTests_au4.oas index d657c9306..969c76839 100644 Binary files a/testdata/drc/drcSuiteTests_au4.oas and b/testdata/drc/drcSuiteTests_au4.oas differ diff --git a/testdata/drc/drcSuiteTests_au5.oas b/testdata/drc/drcSuiteTests_au5.oas index 1902b063c..f7bda7376 100644 Binary files a/testdata/drc/drcSuiteTests_au5.oas and b/testdata/drc/drcSuiteTests_au5.oas differ diff --git a/testdata/drc/drcSuiteTests_au6.oas b/testdata/drc/drcSuiteTests_au6.oas index 3efe81486..ae57f6a90 100644 Binary files a/testdata/drc/drcSuiteTests_au6.oas and b/testdata/drc/drcSuiteTests_au6.oas differ