From 189b8381b6f19730785dfb68454d488f30534d91 Mon Sep 17 00:00:00 2001 From: simbilod Date: Mon, 6 Mar 2023 19:36:14 -0800 Subject: [PATCH] set grow/shrink to pdk grid --- gdsfactory/simulation/gmsh/parse_gds.py | 9 ++++++--- gdsfactory/simulation/gmsh/tests/test_meshing.py | 2 -- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/gdsfactory/simulation/gmsh/parse_gds.py b/gdsfactory/simulation/gmsh/parse_gds.py index 12cdb3eb76..884acc6683 100644 --- a/gdsfactory/simulation/gmsh/parse_gds.py +++ b/gdsfactory/simulation/gmsh/parse_gds.py @@ -21,16 +21,19 @@ def _round_coords(x, y, z=None): return shapely.ops.transform(_round_coords, geom) -def fuse_polygons(component, layername, layer, round_tol=4, simplify_tol=1e-4): +def fuse_polygons( + component, layername, layer, round_tol=4, simplify_tol=1e-4, offset_tol=None +): """Take all polygons from a layer, and returns a single (Multi)Polygon shapely object.""" layer_component = component.extract(layer) # gdstk union before shapely conversion helps with ill-formed polygons + offset_tol = offset_tol or gf.get_active_pdk().grid_size layer_component = gf.geometry.offset( - layer_component, distance=0.001, precision=1e-6, layer=layer + layer_component, distance=offset_tol, precision=1e-6, layer=layer ) layer_component = gf.geometry.offset( - layer_component, distance=-0.001, precision=1e-6, layer=layer + layer_component, distance=-offset_tol, precision=1e-6, layer=layer ) shapely_polygons = [ diff --git a/gdsfactory/simulation/gmsh/tests/test_meshing.py b/gdsfactory/simulation/gmsh/tests/test_meshing.py index f79741f481..ea7817769e 100644 --- a/gdsfactory/simulation/gmsh/tests/test_meshing.py +++ b/gdsfactory/simulation/gmsh/tests/test_meshing.py @@ -88,8 +88,6 @@ def test_gmsh_xyz_holes(): resolutions={}, filename="mesh.msh", verbosity=False, - simplify_tol=1e-3, - round_tol=2, )