Python-gdstk 的 API

一、基础语法

1、lib

        在 gdstk 中,lib 是最上层的东西,原话是这样说的,The GDSII file is called a library, which contains multiple cells。即:GDSII 文件称为库,其中包含多个单元格。我们保存 gds 文件就是通过 lib 来保存的,在后面会看到创建 lib 的代码。

2、cell

        cell,就是我们上面提到过的单元格,我们创建的图形和图像会保存在这里。另外,也可以通过 cell 来保存 SVG 图像,保存的是这一个 cell 里面的内容。

3、rectangle

import gdstk as gk
point1 = (0,0)
point2 = (2,1)
lib = gk.Library()
cell = lib.new_cell("cell_1")
rect = gk.rectangle(point1,point2)
# 打印矩形的四个点
print(rect.points())

        在上面的代码中,我们定义了两个点,一个是矩阵的左下角顶点,另一个是矩阵的右上角顶点。然后,我们创建了一个 Library,在 lib 中创建了一个 cell。最后,创建了一个矩形,打印出矩形的顶点。但是现在我们还没有把他加入到 cell 单元格中。

4、Polygon

        根据一系列的点,创建一个多边形,但是多边形的边不能穿插而过。

5、Curve及segment

角点,segment,relative。

6、layer and datatype

        官方文档提到,layerdatatype 没有任何提前定义的实际含义,我们可以根据自己的需要来定义。比如 layer 是层数,datatype 可以代表不同的光刻水平或制造掩膜。

二、图形操作

1、平移

relative,位置的相对移动。

2、截取

slice ,切片。

3、旋转

引用的时候有个rotation,单位是弧度。

4、transform

三、读取gds文件

1、加载gds文件

lib = gdstk.read_gds("poly.gds")
print(lib,type(lib))

info = lib.layers_and_datatypes()
print(info)

2、获取文件信息

# 获取文件信息
lib = gdstk.read_gds("poly.gds")
print(lib,type(lib))

# 层数和datatype信息
info = lib.layers_and_datatypes()
print(info)

# 精度 1e-9
pre = lib.precision
# unit 单位 1e-6
unit = lib.unit

3、获取单元格信息

3.1 获取单元格名称

# 获取所有单元格名称
cells = {c.name for c in lib.cells}

4、获取单元格内容

# 获取单元格内容

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值