Skip to content
Snippets Groups Projects
Commit 17ee18ef authored by Andreas Westerwick's avatar Andreas Westerwick
Browse files

remove_polygons obsolete

parent 4375c312
No related branches found
No related tags found
No related merge requests found
......@@ -129,8 +129,21 @@ def generate_gds_file(layout_path,cellname):
cell=cell.add(gdspy.Rectangle(p11, p12, 1))
cell=cell.add(gdspy.Rectangle(p21, p22, 1))
cell=cell.flatten()
num_cores = multiprocessing.cpu_count()
Parallel(n_jobs=max(1,num_cores-2), verbose=50)(delayed(split_task)(p11,p12,p21,p22,cell,layername)for layername in layer_mapping)
assertflat=0
for layername in layer_mapping:
print(layername)
ncell=gdspy.Cell(layername)
thelayers=layer_mapping[layername]
for element in cell.polygons:
assert 1 == max(assertflat,len(element.polygons))
if element.layers[0] in thelayers: ncell.add(element)
ncell=ncell.add(gdspy.Rectangle(p11, p12, 1))
ncell=ncell.add(gdspy.Rectangle(p21, p22, 1))
ncell=ncell.flatten(single_layer=1,single_datatype=1)
newgdsii=gdspy.GdsLibrary("mask_"+layername)
newgdsii.add(ncell)
newgdsii.write_gds(layout_path+"/gds/mask_"+layername+".gds")
except Exception as e:
print("Can't do this:"+e)
......@@ -139,19 +152,6 @@ def generate_gds_file(layout_path,cellname):
gdspy.LayoutViewer()
def split_task(p11,p12,p21,p22,cell,layername):
ncell=cell.copy(layername,deep_copy=True)
thelayers=layer_mapping[layername]
ncell=ncell.remove_polygons(lambda pts, layer, datatype: layer not in thelayers)
ncell=ncell.add(gdspy.Rectangle(p11, p12, 1))
ncell=ncell.add(gdspy.Rectangle(p21, p22, 1))
ncell=ncell.flatten(single_layer=1,single_datatype=1)
newgdsii=gdspy.GdsLibrary("mask_"+layername)
newgdsii.add(ncell)
newgdsii.write_gds(layout_path+"/gds/mask_"+layername+".gds")
print(layername)
def show_help():
print("-n cellname:\tname of the cell to export")
print("-l:\t\tswitch to render library cells because default is layout cells")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment