在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 17777|回复: 24

[求助] 求skill能将offgrid自动调整到格点上

[复制链接]
发表于 2014-9-18 12:39:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
求skill能将offgrid自动调整到格点上。新手上路,现在就遇到了一个问题,比较急!!!
昨天不小心修改了格点0.005变为0.001后忘了改回来,后来做的layout都是0.001的,这样DRC会有很多错,

所以求大神能给个简单的skill能修正这个错。谢谢!
发表于 2014-9-18 16:22:23 | 显示全部楼层
直接修改原点试试看
发表于 2014-10-23 15:05:12 | 显示全部楼层
能上eetop,还怕找不到这样的脚本?
发表于 2014-10-25 14:09:26 | 显示全部楼层
用layker stream in或out都可以把offgrid改回來的,
只是...因為每個layer的grid都不知道是多少,最後可能會有些誤差
发表于 2014-11-13 10:47:13 | 显示全部楼层
/* 本程序是通过把path转换成polygon,再对polygon的点做处理,CIW中load此程序,选中off grid图形,运行PutOnGrid(Grid), Grid工艺规定的最小格点,如0.005 */
;这里是单行注释,到行尾
;定义OnGrid函数
procedure( OnGrid( Point ) ;用procedure定义函数OnGrid
if( listp(Point) then
;如果Point是list的话,对list的每个元素递归重复OnGrid()函数,
;lambda定义一个没有函数名的函数
;mapcar函数用来根据一定的函数转换一个list,这里用递归的方法保留原来list的结构
;如’((1.2 2.6) (3.3 4.8)),如果Grid=0.5,则结果为’((1.0 2.5) (3.5 5.0))
mapcar( lambda( (x) OnGrid(x) ) Point)
else
;如果是一个数字的话,则通过Point/Grid取整,然后再乘以Grid,使图形的每个点移到格点上
round((Point/Grid))*Grid
);if then … else 语句结束
);procedure
;定义PutOnGrid函数
procedure( PutOnGrid( Grid )
let((SelectObj ) ;定义局部变量
SelectObj = geGetSelSet() ;版图中选定图形的函数,返回包含所有选中图形信息的一个list
foreach( Object SelectObj ;循环对每个选定的图形操作
cond(
(Object~>objType == "path" ;判定图形的类型是不是path
Polygon = leConvertShapeToPolygon(Object) ;path转成polygon
olygon对应的points属性(是一个list)中每个元素通过OnGrid函数移动到格点上,
;然后把转换后的list重新赋给Polygon~>points属性
Polygon~>points = OnGrid(Polygon~>points)
)
(Object~>objType == "polygon" ;判定图形的类型是不是polygon
Object~>points = OnGrid(Object~>points)
)
(Object~>objType == "rect" ;判定图形的类型是不是rect
;需要改变的是rect的bBox属性(这里和polygon的points不同)
Object~>bBox = OnGrid(Object~>bBox)
)
(Object~>objType=="inst" || Object~>objType=="mosaic"
;判定图形的类型是不是inst/mosaic,这里改变的是inst/mosaic的xy坐标
Object~>xy = OnGrid(Object~>xy)
)
);cond ;你可以加上其他的情况
);foreach
);let
);procedure加上关键词结尾的注释是个良好的习惯
程序的主要代码就是上面的这些,如果你还想要更方便的图形界面方式,一个快捷键就可以操作的话,可以参考Cadence User Interface中的Form相关的内容。

点评

非常感想,很实用,注释也十分详细  发表于 2024-5-9 13:48
发表于 2015-1-22 10:31:22 | 显示全部楼层
回复 1# dpiyssr


    streamout不是有snap to grid 的option么?
 楼主| 发表于 2015-2-4 14:46:30 | 显示全部楼层
回复 5# leshi


   感谢大神...对新手帮助很大
发表于 2015-3-18 14:57:11 | 显示全部楼层
回复 5# leshi


   大神,你好 ,我学习试用了你的小程序 ,发现object~>bBox=OnGrid(object~>bBox)不能被赋值。OnGrid函数计算是正确的 ,但是就是不能被赋值到object~>bBox ,layout的图形也没有改变。请问这是为什么 ?
发表于 2015-3-26 14:14:20 | 显示全部楼层
回复 5# leshi


    试了你贴的脚步很好用,代码注释也很详细,谢谢分享
发表于 2015-9-21 15:19:46 | 显示全部楼层
stream out strem in 可以!
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 09:00 , Processed in 0.031092 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表