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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: chinarml

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

[复制链接]
发表于 2020-6-4 14:54:16 | 显示全部楼层


dongyang5180 发表于 2020-6-3 18:15
大佬,MagicCopy 脚本有问题。在smic55环境下,也不行。另外Admos在618环境可以成功的实现了增强Metal1的 ...


你好,你在用MagicCopy的时候有什么报错吗?我什么也没有提示,框选后就结束了,也没有什么东西被覆盖,smic40。
发表于 2020-6-4 17:09:25 | 显示全部楼层
十分感谢,很有用
发表于 2020-6-5 11:30:13 | 显示全部楼层


wanchengchen 发表于 2020-6-4 14:54
你好,你在用MagicCopy的时候有什么报错吗?我什么也没有提示,框选后就结束了,也没有什么东西被覆盖,s ...


一样的,没有报错,但是没出来啥
发表于 2020-6-6 10:34:37 | 显示全部楼层
procedure(MagicCopy()
let((cv objs Box transList objList objTransList newObj)
cv=geGetEditCellView()
Box=enterBox()
Box=list(geWindowToEditPoint(hiGetCurrentWindow() xCoord(Box))
           geWindowToEditPoint(hiGetCurrentWindow() yCoord(Box)))
objs=dbShapeQuery(cv leGetEntryLayer() Box)
foreach(obj objs
        transList=nconc(transList list(dbGetHierPathTransform(obj)))
);foreach
objs=FlatList(objs)
objTransList==mapcar('list objs transList)
newObj=foreach(mapcar obj objTransList
dbCopyFig(car(obj) cv cadr(obj))
);foreach
foreach(obj newObj
        if(obj~>objType == "polygon" || obj~>objType == "rect" then
        obj=leConvertPolyToPath(obj)
        );if
);foreach
);let
);proc

procedure(FlatList(testList)
let((cv listNew)
listNew=nil
if(listp(testList)
then
        foreach(one testList
                if(listp(car(last(one)))
                then
                listNew=nconc(listNew FlatList(one))
                else
                listNew=append1(listNew car(last(one)))
                );if
        );foreach
else
error("FlatList():argument must be a list")
);if
listNew
);let
);proc

hiSetBindKey("Layout" "<Key>5" "MagicCopy()")
我这里输入没问题把  帮忙看下 为什么不行。没报任何信息。测试版本6.1.8
 楼主| 发表于 2020-6-6 17:52:02 | 显示全部楼层


maomao198477 发表于 2020-6-6 10:34
procedure(MagicCopy()
let((cv objs Box transList objList objTransList newObj)
cv=geGetEditCellView() ...


objTransList==mapcar('list objs transList)  多了一个等号,应该是objTransList=mapcar('list objs transList)

眼神不好,看过好几次都没发现。

你改了再试试,如果可以了回复一下,我再更新一版。

点评

大神,神奇的magiccopy,可以了  发表于 2020-6-10 20:17
 楼主| 发表于 2020-6-6 17:56:53 | 显示全部楼层
有回复说在使用AddMosM1脚本时,因为用的是616,copy上来的metal1转换成path的函数在616没有。
我这里写了两个脚本,一个是path转polygon的,一个是rect转path的。
注意,这里是rect转path,不是polygon转path。rect就是矩形,这个脚本简单,完全可以用来修复AddMOSM1这个脚本在616中的使用。
我另外写了一个polygon+rect转path的,那个很长,有机会我再写了上传。

用法:都是选中metal,按下快捷键,一个是小键盘4,一个是小键盘5.

convertPath2Polygon.il.rar

380 Bytes, 下载次数: 262 , 下载积分: 资产 -2 信元, 下载支出 2 信元

convertPolygon2Path.il.rar

500 Bytes, 下载次数: 271 , 下载积分: 资产 -2 信元, 下载支出 2 信元

点评

请教下跟AddMosM1怎么结合起来,先load 一个,再load 一个,还是两个procedure,还是一个procedure放一个procedure  发表于 2020-6-10 21:22
发表于 2020-6-8 17:15:24 | 显示全部楼层


chinarml 发表于 2020-6-6 17:52
objTransList==mapcar('list objs transList)  多了一个等号,应该是objTransList=mapcar('list objs tra ...


测试了一下Magiccopy  删除掉一个=后可以了,楼主有时间可以更改一下置顶,感谢楼主分享
发表于 2020-6-8 18:51:57 | 显示全部楼层


chinarml 发表于 2020-6-6 17:52
objTransList==mapcar('list objs transList)  多了一个等号,应该是objTransList=mapcar('list objs tra ...


:victory::victory::victory::victory:
 楼主| 发表于 2020-6-9 08:31:21 | 显示全部楼层
MagicCopy脚本中有一处错误,如下:
objTransList==mapcar('list objs transList)  多了一个等号,应该是objTransList=mapcar('list objs transList)

有下载了不能用的,可自行修改。这里再上传一个,与原本相比,改动只是删掉一个“=”:

MagicCopy.il.rar

608 Bytes, 下载次数: 61 , 下载积分: 资产 -2 信元, 下载支出 2 信元

发表于 2020-6-9 13:31:36 | 显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-28 01:03 , Processed in 0.030528 second(s), 7 queries , Gzip On, Redis On.

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