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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 36376|回复: 76

[原创] 十字标尺 crossruler 简洁写法 ^.^

[复制链接]
发表于 2019-1-29 17:46:18 | 显示全部楼层 |阅读模式

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

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

x
附件内容和下方代码内容一致,我可以用这个求赏赐一些积分吗?
crossruler.il.txt (381 Bytes, 下载次数: 341 )






  1. procedure(CreateCrossRuler()
  2.         point=enterPoint()
  3.         leCreateRuler(geGetEditRep() list(point xCoord(point)+50:yCoord(point)))
  4.         leCreateRuler(geGetEditRep() list(point xCoord(point)-50:yCoord(point)))
  5.         leCreateRuler(geGetEditRep() list(point xCoord(point):yCoord(point)+50))
  6.         leCreateRuler(geGetEditRep() list(point xCoord(point):yCoord(point)-50))
  7. ); end procedure CreateCrossRuler


复制代码

补充内容 (2021-5-18 10:15):
chinarml :获取鼠标点坐标的函数enterPoint()只在当前层有效,如果从上层x进去底层,就找不到正确的点了。可以用point=hiGetPoint(hiGetCurrentWindows())替代。

补充内容 (2021-5-27 22:05):
point=hiGetPoint(hiGetCurrentWindow())
去掉Windows中的“s”
发表于 2019-1-31 15:03:51 | 显示全部楼层
 楼主| 发表于 2019-1-31 17:38:58 | 显示全部楼层
回复 2# xxmule


    谢谢~
    标尺的长度可以改的,我写的是50,单位默认是um,你还可以设置不同的长度,用于不同的场景。
发表于 2019-2-11 15:44:38 | 显示全部楼层


回复  xxmule


    谢谢~
    标尺的长度可以改的,我写的是50,单位默认是um,你还可以设置不同的长 ...
yanpflove 发表于 2019-1-31 17:38




   可以利用@optinal (X 50) 平时默认50是  需要其他值就只有函数(数值) 自己写就好了 免得改脚本
 楼主| 发表于 2019-2-13 09:33:45 | 显示全部楼层
回复 4# hccaiwh

是哎,这个好用。




  1. procedure(CreateCrossRuler(@optional (length 50))
  2.         point=enterPoint()
  3.         leCreateRuler(geGetEditRep() list(point xCoord(point)+length:yCoord(point)))
  4.         leCreateRuler(geGetEditRep() list(point xCoord(point)-length:yCoord(point)))
  5.         leCreateRuler(geGetEditRep() list(point xCoord(point):yCoord(point)+length))
  6.         leCreateRuler(geGetEditRep() list(point xCoord(point):yCoord(point)-length))
  7. ); end procedure CreateCrossRuler


复制代码
发表于 2019-2-22 11:41:34 | 显示全部楼层
回复 5# yanpflove


   我把这个文件改成。il文件 然后load成功后 怎么使用啊
 楼主| 发表于 2019-2-22 12:54:18 | 显示全部楼层
回复 6# lhc703

这些代码定义了函数CreateCrossRuler(),load之后,
1,你可以在CIW输入CreateCrossRuler()画出默认的50um长的十字标尺,或者使用CreateCrossRuler(10)画出长度为10um的标尺。
2,手动输入函数名来调用函数是比较麻烦的,那你可以设置Bindkey啊,按一个按键就可以调用这个函数来画十字标尺了。
发表于 2019-3-6 10:25:33 | 显示全部楼层
测试成功,非常感谢
发表于 2019-3-7 17:21:41 | 显示全部楼层
回复 1# yanpflove

你好,刚开始学习skill语言,请问怎么入门skill的,可以分享一下经验吗,十分感激
 楼主| 发表于 2019-3-7 18:19:38 | 显示全部楼层
本帖最后由 yanpflove 于 2019-3-8 11:31 编辑

回复 9# a495136580

您好,
1,我的学习背景:有个项目需要转换工艺,替换器件,人工手动一个一个修改器件太过于麻烦,所以想写个脚本来进行替换。
2,我的学习方式:我是一个人自学的,因为公司只有我一个版图工程师,没有人作伴,-_-
3,我的学习途径:主要是skill user guide和cadence virtuoso自带的help,外加上在EETOP论坛上看一些别人分享的例子。
    具体讲,通读了两遍skill user guide,当然主要是前面几章啦,目的是了解skill语言的基本语法,后面的高级章节我是扫了一眼就翻过去了。应该说,skill的语法还是很简单的,这个过程对我来说最难的地方在于某些概念的理解,因为我没有同伴,没有师傅领进门,而且文档是英文的,有一些基本概念理解起来特别费劲,比如“list”,“lambda”,“symbol”等。
    cadence virtuoso自带的help很好用,它的说明还是很详细的,startFinder也可以很方便地查找函数。当正式开始写脚本的时候,常常是明知道skill应该有某个函数可以实现这个功能,但是因为我见识少,我就是不知道这个函数名是什么。所以,利用一切资源找函数是我初学的主要内容。
    EETOP上有同学分享的例子,有的还写了注释,我们可以学习他们的实现方式,学习新函数。
4,我目前的水平,在修改属性,替换器件这方面已经可以满足设计师的需要了;在layout方面,我一无所知,还不知道如何才能用脚本函数一键画出差分对。
5,我的学习时间,从2018年11月中旬开始,隔三岔五零星地学习。
6,我的幻想,同事里要是能有个前辈指导一下,那可真是太美好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-22 08:43 , Processed in 0.022632 second(s), 8 queries , Gzip On, Redis On.

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