diff --git a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal1.drc b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal1.drc
index c5fc609..9919d1a 100644
--- a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal1.drc
+++ b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal1.drc
@@ -37,7 +37,7 @@ if BEOL
 
   # Rule M1.2b: Space to wide Metal1 (length & width > 10um) is 0.3µm
   logger.info('Executing rule M1.2b')
-  wide_m1 = metal1.not_interacting(metal1.edges.with_length(nil, 10.um))
+  wide_m1 = metal1.sized(-5.um).sized(5.um) & metal1
   m12b_l1 = metal1.separation(wide_m1, 0.3.um, euclidian)
   m12b_l1.output('M1.2b', 'M1.2b : Space to wide Metal1 (length & width > 10um) : 0.3µm')
   m12b_l1.forget
diff --git a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal2.drc b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal2.drc
index 0b3aaaf..c0a08b3 100644
--- a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal2.drc
+++ b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal2.drc
@@ -35,7 +35,7 @@ if BEOL && (METAL_LEVEL == '3LM' || METAL_LEVEL == '4LM' || METAL_LEVEL == '5LM'
 
   # Rule M2.2b: Space to wide Metal2 (length & width > 10um) is 0.3µm
   logger.info('Executing rule M2.2b')
-  wide_m2 = metal2.not_interacting(metal2.edges.with_length(nil, 10.um))
+  wide_m2 = metal2.sized(-5.um).sized(5.um) & metal2
   m22b_l1 = metal2.separation(wide_m2, 0.3.um, euclidian)
   m22b_l1.output('M2.2b', 'M2.2b : Space to wide Metal2 (length & width > 10um) : 0.3µm')
   m22b_l1.forget
diff --git a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal3.drc b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal3.drc
index 719d70a..ac49bdf 100644
--- a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal3.drc
+++ b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal3.drc
@@ -36,7 +36,7 @@ if BEOL && (METAL_LEVEL == '4LM' || METAL_LEVEL == '5LM' || METAL_LEVEL == '6LM'
 
   # Rule M3.2b: Space to wide Metal3 (length & width > 10um) is 0.3µm
   logger.info('Executing rule M3.2b')
-  wide_m3 = metal3.not_interacting(metal3.edges.with_length(nil, 10.um))
+  wide_m3 = metal3.sized(-5.um).sized(5.um) & metal3
   m32b_l1 = metal3.separation(wide_m3, 0.3.um, euclidian)
   m32b_l1.output('M3.2b', 'M3.2b : Space to wide Metal3 (length & width > 10um) : 0.3µm')
   m32b_l1.forget
diff --git a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal4.drc b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal4.drc
index 636e405..8a95397 100644
--- a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal4.drc
+++ b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal4.drc
@@ -35,7 +35,7 @@ if BEOL && (METAL_LEVEL == '5LM' || METAL_LEVEL == '6LM')
 
   # Rule M4.2b: Space to wide Metal4 (length & width > 10um) is 0.3µm
   logger.info('Executing rule M4.2b')
-  wide_m4 = metal4.not_interacting(metal4.edges.with_length(nil, 10.um))
+  wide_m4 = metal4.sized(-5.um).sized(5.um) & metal4
   m42b_l1 = metal4.separation(wide_m4, 0.3.um, euclidian)
   m42b_l1.output('M4.2b', 'M4.2b : Space to wide Metal4 (length & width > 10um) : 0.3µm')
   m42b_l1.forget
diff --git a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal5.drc b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal5.drc
index 1769f58..c87d72b 100644
--- a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal5.drc
+++ b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metal5.drc
@@ -35,7 +35,7 @@ if BEOL && (METAL_LEVEL == '6LM')
 
   # Rule M5.2b: Space to wide Metal5 (length & width > 10um) is 0.3µm
   logger.info('Executing rule M5.2b')
-  wide_m5 = metal5.not_interacting(metal5.edges.with_length(nil, 10.um))
+  wide_m5 = metal5.sized(-5.um).sized(5.um) & metal5
   m52b_l1 = metal5.separation(wide_m5, 0.3.um, euclidian)
   m52b_l1.output('M5.2b', 'M5.2b : Space to wide Metal5 (length & width > 10um) : 0.3µm')
   m52b_l1.forget
diff --git a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metaltop.drc b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metaltop.drc
index 163eb73..9620bc1 100644
--- a/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metaltop.drc
+++ b/gf180mcuD/libs.tech/klayout/tech/drc/rule_decks/metaltop.drc
@@ -39,7 +39,7 @@ if BEOL
 
     # Rule MT.2b: Space to wide Metal2 (length & width > 10um) is 0.5µm
     logger.info('Executing rule MT.2b')
-    wide_top_metal = top_metal.not_interacting(top_metal.edges.with_length(nil, 10.um))
+    wide_top_metal = top_metal.sized(-5.um).sized(5.um) & top_metal
     mt2b_l1 = top_metal.separation(wide_top_metal, 0.5.um, euclidian)
     mt2b_l1.output('MT.2b', 'MT.2b : Space to wide Metal2 (length & width > 10um) : 0.5µm')
     mt2b_l1.forget
@@ -68,7 +68,7 @@ if BEOL
 
     # Rule MT.2b: Space to wide Metal2 (length & width > 10um) is 0.6µm
     logger.info('Executing rule MT.2b')
-    wide_top_metal = top_metal.not_interacting(top_metal.edges.with_length(nil, 10.um))
+    wide_top_metal = top_metal.sized(-5.um).sized(5.um) & top_metal
     mt2b_l1 = top_metal.separation(wide_top_metal, 0.6.um, euclidian)
     mt2b_l1.output('MT.2b', 'MT.2b : Space to wide Metal2 (length & width > 10um) : 0.6µm')
     mt2b_l1.forget
