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

标题: [已解决]请教 skill中怎么抓出跟一个cell接触的所有cell [打印本页]

作者: oneway    时间: 2018-9-18 14:02
标题: [已解决]请教 skill中怎么抓出跟一个cell接触的所有cell
本帖最后由 oneway 于 2018-9-20 10:45 编辑

skill 新手
请教请教
有一个思路 将cell boundary 层 放大一点,然后跟这层有overlap的cell 都抓出来。skill怎么实现呢?
作者: lzjlov    时间: 2018-9-19 17:21
说一个思路,top cell下找到所有cell的四个点的坐标。
目标cell左下角坐标点x1 y1,右上角坐标点x2 y2,假如其他cell四个坐标点任意一个 x y,满足x1<x<x2,y1<y<y2则代表此cell与其关联。
作者: oneway    时间: 2018-9-19 18:44
回复 2# lzjlov


是个思路,就是我语法不行。可以帮忙看一下 下面的语句

wshapes=setof(x,cv~>shapes,x~>lpp==list("prBoundary""drawing"))

wring=setof(x,cv~>shapes,x~>lpp==list("text""drawing"))

[size=14.6667px]foreach(wshape wshapes if( ((dbLayerAnd cv "text" wshape wring) != "nil") print car(wshape~>name)) )

[size=14.6667px]*Error* dbLayerAnd: argument #3 should be a list (type template = "dgllxg") - db:0x26263cbf


[size=14.6667px]可以看出来第三句问题在哪里吗?

[size=14.6667px]谢了


作者: 天牛不唱歌    时间: 2018-9-19 20:34
“test” 改成list("text" "drawing")
作者: oneway    时间: 2018-9-19 22:21
本帖最后由 oneway 于 2018-9-19 22:34 编辑

回复 4# 天牛不唱歌
一样的报错
#3变量指的wshape这个变量

wshapes=setof(x,cv~>shapes,x~>lpp==list("prBoundary""drawing"))
这个wshapes 是多个shape的集合
但是foreach 一下,wshape好像已经不是单个shape变量了

wshapes~>name
("AA" "BB" "CC" "DD")
foreach(wshape wshapes wshape~>name)
(db:0x262633da db:0x262633db db:0x262633dc db:0x262633dd)

作者: lzjlov    时间: 2018-9-20 08:53
回复 3# oneway

不太清楚你foreach要干嘛?
   (dbLayerAnd cv "text" wshapes wring)可以生成图形
作者: oneway    时间: 2018-9-20 10:44
回复 6# lzjlov

这个问题自己解决了,谢谢了各位!!
   foreach(X XXX re=car((dbLayerAnd cv list("prBoundary" "fill") list(X) Xring)) (if (re != nil)  (fprintf p "%s\n" X~>name) ))




欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) Powered by Discuz! X3.4