利用ipkiss提供的 get_default_view(i3.LayoutView)可以获取器件端口坐标、尺寸等信息
from si_fab import all as pdk
from ipkiss3 import all as i3
dc=pdk.SiNDirectionalCouplerSPower(power_fraction=0.5, target_wavelength=1.55)
ports = dc.Layout().ports
x = ports["in1"].x
y = ports["in1"].y
print(x)
print(y)
center = dc.Layout().size_info().get_center()
print(center)
width=dc.Layout().size_info().width
print(width)
height=dc.Layout().size_info().height
print(height)
dc.Layout().visualize(annotate=True)
如,通过:
ports = dc.Layout().ports
x = ports["in1"].x
y = ports["in1"].y
获取端口in1的坐标(默认器件的中心在(0,0))
通过:
center = dc.Layout().size_info().get_center()
print(center)
获取器件的中心坐标
size_info()还有 width、height等信息
size_info()中更多的器件信息可以参考:
https://docs.lucedaphotonics.com/reference/layout/ref/ipkiss3.all.SizeInfo