当前位置: 首页 > news >正文

luceda ipkiss教程 74:布尔运算去掉部分图层

案例分享:通过布尔运算,将版图部分图层挖空
在这里插入图片描述

所有代码如下:

from si_fab import all as pdk
from ipkiss3 import all as i3
import numpy as npclass grating_coupler(i3.PCell):_name_prefix = "grating_coupler"r = i3.PositiveNumberProperty(doc="the radius of the first grating tooth")sector_angle = i3.AngleProperty(doc="the sector angle")grating_period = i3.PositiveNumberProperty(doc="the period of grating")duty_cycle = i3.PositiveNumberProperty(doc="the duty cycle of grating")period_number = i3.IntProperty(doc="number of grating periods")def _default_r(self):return 50.0def _default_sector_angle(self):return 20.0def _default_grating_period(self):return 4.0def _default_duty_cycle(self):return 0.5def _default_period_number(self):return 15class Layout(i3.LayoutView):def _generate_elements(self, elems):elem2 = []length_triangle = self.r + self.grating_period * self.period_number + 10elem2 += i3.Wedge(layer=i3.TECH.PPLAYER.SI,begin_coord=(0.0, 0.0),end_coord=(length_triangle, 0.0),begin_width=0.0,end_width=length_triangle * np.tan(np.radians(self.sector_angle / 2)) * 2,)for period in range(self.period_number):elem2 += i3.ArcPath(layer=i3.TECH.PPLAYER.SI_TRENCH,center=(0.0, 0.0),radius=self.r + period * self.grating_period,start_angle=-self.sector_angle / 2 - 0.001,end_angle=self.sector_angle / 2 + 0.001,line_width=self.grating_period * self.duty_cycle,)layer1 = i3.TECH.PPLAYER.SIlayer2 = i3.TECH.PPLAYER.SI_TRENCHgenerated1 = layer1 - layer2mapping = {generated1: layer1}elems +=elem2# elems += i3.get_elements_for_generated_layers(elem2, mapping)return elemsif __name__ == '__main__':grating_coupler().Layout().visualize()

运行结果:
在这里插入图片描述
将代码55和56行改为:

  # elems +=elem2elems += i3.get_elements_for_generated_layers(elem2, mapping)

运行结果如下:

在这里插入图片描述


http://www.mrgr.cn/news/35722.html

相关文章:

  • Vue实战教程:手动封装一个全局可自定义图标提示组件
  • 【Elasticsearch】-实现图片向量相似检索
  • 4 php7.4中开发一个websocket 聊天相关配置调用
  • echarts横向柱状图让Y轴的名字和数量在柱状图上方展示
  • 四川财谷通信息技术有限公司抖音小店领域的新势力
  • 保姆级教程!0基础小白也适用,教你用AI美女在小红书“疯狂上分”
  • 企业源代码也需要加密?2024十款源代码加密软件排行榜
  • ChatWiki大模型介绍
  • 黑芝麻大算力SOC,A1000
  • .NET 一款执行命令回显的微软白名单工具
  • MySQL 8 临时关闭缓存
  • 【高等代数笔记】线性空间(十-十三)
  • 国产操作系统
  • MySQL的乐观锁、悲观锁机制及实现
  • 葡萄城亮相2024全球产品经理大会,共探创新之旅
  • 公司用什么软件监控电脑?分享6个常见的电脑监控软件,赶紧Get吧!
  • mac-m1安装nvm,docker,miniconda
  • 电商时代,品牌控价的新征程
  • 9.创新与未来:ChatGPT的新功能和趋势【9/10】
  • 牛客小白月赛101(下)