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

Skill语言学习(4)

使用Skill语言将MOS管源漏端的M1层复制并加宽

image-20260302104944024

Skill版本:

getSkillVersion
"SKILL35.00"
> 

学习参考:

[ Skill ] Cadence Skill 语言入门 - YEUNGCHIE - 博客园

脚本思路:

1、找到框选区域所有的M1层并复制为新列表;

2、设定新Width为0.38;

3、将新列表中所有“竖”M1的宽度变为0.38;

设计操作:

1、找到框选区域所有的M1层并复制为新列表;

获取当前处于编辑状态的 CellView 的数据库 ID,赋值给 cv。

cv = geGetEditCellView()

调用交互函数enterBox,参数 ?points mouseAddPt() 表示通过鼠标添加点来定义矩形,返回该矩形的坐标列表(格式如 ((x1 y1) (x2 y2)));

bBox = enterBox(?points mouseAddPt())

在当前CellView中查询所有位于矩形bBox内、层名为 "M1"、类型为 "drawing" 的图形。返还一个包含图形ID和变换信息的列表,赋值给hier_list;

hier_list = dbShapeQuery(cv list("M1" "drawing") bBox)

从层级结构中复制M1图形,并将其ID保存在新列表中;

foreach(hier hier_listhier_trans = dbGetInstTransform(hier)newFig = dbCopyFig(car(last(hier)) cv hier_trans)when(newFigcopiedFigsList = cons(newFig copiedFigsList));when
);foreach

正确执行完上述脚本后,M1列表在CIW中应显示为:

copiedFigsList
(db:0x24038525 db:0x2403852a db:0x24038532)
> 

MOS管的源漏栅极的M1层均被复制。

image-20260302153803851

整合上述代码:

cv = geGetEditCellView()
bBox = enterBox(?points mouseAddPt())
hier_list = dbShapeQuery(cv list("M1" "drawing") bBox)
copiedFigsList = nil
foreach(hier hier_listhier_trans = dbGetInstTransform(hier)println(hier)println(hier_trans)newFig = dbCopyFig(car(last(hier)) cv hier_trans)println(newFig) when(newFigcopiedFigsList = cons(newFig copiedFigsList));when
);foreach

2、设定新Width为0.38;

根据实际工艺的要求设定M1的宽度;

newWidth = 0.38

3、将M1列表中所有“竖”的M1,宽度变为0.38;

foreach(fig copiedFigsListoldBBox = fig~>bBoxwidth = caadr(oldBBox) - caar(oldBBox)  height = cadadr(oldBBox) -  cadar(oldBBox)when(height > width && abs(width - newWidth) > 0.001centerX = (caadr(oldBBox) + caar(oldBBox)) / 2.0centerY = (cadadr(oldBBox) + cadar(oldBBox)) / 2.0newBBox = list(list(centerX - newWidth/2.0, centerY - height/2.0),list(centerX + newWidth/2.0, centerY + height/2.0))fig~>bBox = newBBox);when
);foreach

正确执行完上述脚本后,所有“竖”的M1宽度应变为0.38,如下图:

image-20260302154653838

整合上述代码,并绑定快捷键:

procedure(CopyM1FromHierarchy_1()let((cv hier_list hier_trans newFig bBox hier copiedFigsList oldBBox width height centerX centerY newBBox)cv = geGetEditCellView()bBox = enterBox(?points mouseAddPt())hier_list = dbShapeQuery(cv list("M1" "drawing") bBox)copiedFigsList = nilforeach(hier hier_listhier_trans = dbGetInstTransform(hier)newFig = dbCopyFig(car(last(hier)) cv hier_trans)when(newFigcopiedFigsList = cons(newFig copiedFigsList));when);foreachnewWidth = 0.38foreach(fig copiedFigsListoldBBox = fig~>bBoxwidth = caadr(oldBBox) - caar(oldBBox)  height = cadadr(oldBBox) -  cadar(oldBBox)when(height > width && abs(width - newWidth) > 0.001centerX = (caadr(oldBBox) + caar(oldBBox)) / 2.0centerY = (cadadr(oldBBox) + cadar(oldBBox)) / 2.0newBBox = list(list(centerX - newWidth/2.0, centerY - height/2.0),list(centerX + newWidth/2.0, centerY + height/2.0))fig~>bBox = newBBox);when);foreach);let
);procedurehiSetBindKey("Layout" "Ctrl<Key>3" "CopyM1FromHierarchy_1()")

测试该脚本:

image-20260302155554373

将该脚本写入.cdsinit文件自动load

在桌面打开Terminal,输入:
cd
gedit .cdsinin
在.cdsinit文件内,load脚本的全路径:
load("/home/~~/~~/~~/CopyM1FromHierarchy_1.il")
如下:

image-20260304153001639

综上完成了从底层复制M1层,并加宽的功能🎉🎉🎉

http://www.jsqmd.com/news/435725/

相关文章:

  • 2026年GRG/GRC/UHPC构件厂家推荐:广东饰纪上品建材科技,全系产品供应建筑装饰领域 - 品牌推荐官
  • 基于Omron PLC和组态王的全自动洗衣机控制系统:梯形图程序、接线图原理图、IO分配及组态画面
  • 2026年磷酸盐系列化工原料厂家推荐:潍坊华博化工,磷酸三钠/六偏/二氢钾等全系供应 - 品牌推荐官
  • GitHub免费开源!World Monitor:开源全球情报仪表盘
  • 2026年漂移窗/平开窗/推拉窗/侧压窗/全景推拉门窗厂家推荐:曼亭鸟门窗多场景解决方案 - 品牌推荐官
  • 比话AI和率零哪个好?降AI效果、价格、体验全方位对比 - 还在做实验的师兄
  • 研究生论文降AI工具深度评测:比话AI的Pallas引擎为什么更适合学术场景 - 还在做实验的师兄
  • 论边云协同架构在自动驾驶平台中的应用
  • 2026年全国动态压力传感器厂家哪家好?实力过硬适配多场景需求 适配军工科研等领域 - 深度智识库
  • 解读江西AIGC影视动漫设计学校选购要点,怎么选更明智? - 工业品网
  • 2026年成都房产典当公司推荐:基于企业融资与应急场景的深度评测与排名 - 品牌推荐
  • 2026年异型钢管厂家实力推荐:聊城市硕鑫钢管有限公司,椭圆/凹槽/三角/六角钢管全系供应 - 品牌推荐官
  • 5款降AI工具终极横评:比话、嘎嘎、率零、去AIGC、率降谁最值得买? - 还在做实验的师兄
  • 测试折叠代码块
  • 2026知网AIGC检测算法再升级!比话AI的应对策略全解析 - 还在做实验的师兄
  • SQL 核心与大数据开发实战:从原理到落地的体系化认知
  • 论文AIGC检测率太高怎么办?这5款降AI工具亲测有效 - 还在做实验的师兄
  • 东方博宜OJ 1435:数池塘(八方向)← Flood fill
  • 2026年成都房产典当公司推荐:多维度市场趋势评价,涵盖企业周转与个人应急场景 - 品牌推荐
  • 2026年聚氨酯材料厂家推荐:山东伟胜防腐保温工程有限公司,软泡硬质AB料全系供应 - 品牌推荐官
  • 分析全国铝单板批量定制价格,中铭铝业收费多少? - 工业品牌热点
  • 从0到1的荆棘之路:vulhub漏洞复现合集
  • 榜单揭晓,2026年浙江制冷量高的驻车空调品牌推荐,助你选择最佳品质产品 - 睿易优选
  • 口碑好的粘度测定仪生产厂家推荐:复购率背后的硬实力 - 品牌推荐大师1
  • 启程国际旅行社票务服务是否靠谱,推荐选这家旅行社吗 - 工业品网
  • 论文降重不用愁!这几款软件让你轻松通过学校查重
  • 2026年工控一体机厂家推荐:工业自动化场景深度评测,解决定制化与稳定性痛点并附排名 - 品牌推荐
  • 0 基础写论文,被问爆了的 AI 写作软件合集!效率 × 质量双在线
  • 江西有哪些低空技术与无人机应用正规学校值得推荐? - 工业推荐榜
  • 完整教程:Android TCP连接实战:详解一个高效可靠的TCP客户端实现