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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: chinarml

[资料] 自己写的一些非常好用的skill脚本

[复制链接]
发表于 2020-7-8 14:24:15 | 显示全部楼层
大神你好,那个密度的脚本我在617上可以测试成功,在616上就报错:undefined founction:leComputeAreaDensity,不知道什么原因?
发表于 2020-7-8 15:24:31 来自手机 | 显示全部楼层
616应该不支持这个函数
发表于 2020-7-8 17:58:02 | 显示全部楼层


843071455 发表于 2020-7-8 15:24
616应该不支持这个函数


刚查了一下,确实没有这个函数

发表于 2020-7-9 22:36:08 | 显示全部楼层
thanks for share!
发表于 2020-7-10 14:44:06 | 显示全部楼层
大佬我这提示*Error* eval: undefined function - leConvertPolygonToPath 怎么办啊
用的你Cutbus那个脚本
发表于 2020-7-10 21:30:21 | 显示全部楼层


jincanc 发表于 2020-7-10 14:44
大佬我这提示*Error* eval: undefined function - leConvertPolygonToPath 怎么办啊
用的你Cutbus那个脚本 ...


cadence版本低了!函数不支持
 楼主| 发表于 2020-7-13 08:24:42 | 显示全部楼层
本帖最后由 chinarml 于 2020-7-14 11:32 编辑


jincanc 发表于 2020-7-10 14:44
大佬我这提示*Error* eval: undefined function - leConvertPolygonToPath 怎么办啊
用的你Cutbus那个脚本 ...


看置顶楼层,最后几个里面有一个是AddMosM1_custom.il那个,AddMosM1.il里面也用了leConvertPolygonToPath这个函数,有人和你一样,说没有这个函数。
我写了替代的自定义函数,然后整合到AddMosM1.il里面去了,就是AddMosM1_custom.il。里面多了一段procedure开头的自定义函数,然后把此函数的函数名替换leConvertPolygonToPath就行了。

注意,我这个自定义函数只适用于一条直线。如果原始的线有弯折是不生效的。

你在用的时候如果bus线有打弯的,你可以先全部切断,用完了之后再对接上。


另外此函数用到leConvertPolygonToPath的部分是用来判断线是否为polygon和pathSeg类型的线,如果是就转换成path,如果不是就不做修改。
所以如果你的线本身就是path,那么实际上是不需要这段判断句的,完全可以屏蔽掉。
;****************************************************************
;convert pathSeg to path
objs = setof(x objs x~>objType == "path" || x~>objType == "pathSeg")
Hlist = list()
Vlist = list()
foreach(obj objs
case(obj ~> objType
("rect" temp0 = leConvertPolygonToPath(obj) geSelectObject(temp0))
("pathSeg" temp0 = leConvertPolygonToPath(leConvertShapeToPolygon(obj)) dbDelectObject(obj) geSelectObject(temp0))
("path" temp0 = obj)
);case
objs_new = append1(objs_new temp0)
);foreach
;****************************************************************
把上面这一段改成:首位加红色分号是屏蔽一行,红色字体是新增加的一行,注意,不是全部都屏蔽掉的。
;****************************************************************
;convert pathSeg to path
; objs = setof(x objs x~>objType == "path" || x~>objType == "pathSeg")

objs_new = setof(x objs x~>objType == "path")
Hlist = list()
Vlist = list()
; foreach(obj objs
;  case(obj ~> objType
;  ("rect" temp0 = leConvertPolygonToPath(obj) geSelectObject(temp0))
;  ("pathSeg" temp0 = leConvertPolygonToPath(leConvertShapeToPolygon(obj)) dbDelectObject(obj) geSelectObject(temp0))
;  ("path" temp0 = obj)
;  );case
; objs_new = append1(objs_new temp0)
; );foreach
;****************************************************************

修改完成后保存退出。

上面说了两种方式处理脚本:
1,增加我的自定义函数,方法参照AddMosM1_custom.il
优点:保持原始脚本功能性不变,可以对polygon和pathSeg类型的线进行操作。
缺点:如果目标线中有polygon和pathSeg类型的线,那么只能处理矩形的线,对于弯折的线不能操作
2,直接跳过判断句,修改方法如上面贴的代码:
优点:修改简单
缺点:不能对polygon和pathSeg线操作
发表于 2020-7-14 10:14:20 | 显示全部楼层


chinarml 发表于 2020-7-13 08:24
看置顶楼层,最后几个里面有一个是AddMosM1_custom.il那个,AddMosM1.il里面也用了leConvertPolygonToPat ...


谢谢大佬,回复这么多,我认真看一下去试试,万分感谢
发表于 2020-7-14 17:23:27 | 显示全部楼层
楼主很用心,感谢分享。
发表于 2020-7-14 17:24:47 | 显示全部楼层


chinarml 发表于 2020-7-8 11:06
NOTICE!!!
NOTICE!!!
NOTICE!!!


连bug都是您自己发现的,真牛
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-2-22 16:46 , Processed in 0.023011 second(s), 5 queries , Gzip On, Redis On.

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