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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7128|回复: 21

[解决] 如何运用dbLayersize、dbLayerAndNot等返回的值。

[复制链接]
发表于 2019-10-14 09:57:19 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 LLECP 于 2019-10-15 09:28 编辑

=>l_dbIdList:List of objects from the resulting layer operation.

1.首先想问此函数是否返回的points of list?

2.如果是的话为何不能直接运用到?pts 中?






 楼主| 发表于 2019-10-14 10:59:51 | 显示全部楼层
为什么返回值是 nil 呢??????为什么啊。。。为什么。。
 楼主| 发表于 2019-10-14 11:06:55 | 显示全部楼层
layer1pts =list(0:0 50:0 50:50 0:50)

layer2pts =list(10:10 40:0 40:40 10:40)

aa = dbLayerAndNot( pcCellView '("xxx" "drawing")  layer1pts layer2pts )


=>aa: nil
发表于 2019-10-14 13:46:20 | 显示全部楼层


LLECP 发表于 2019-10-14 11:06
layer1pts =list(0:0 50:0 50:50 0:50)

layer2pts =list(10:10 40:0 40:40 10:40)


l_dbIdList:List of objects from the resulting layer operation
这个你理解错了,这个dbIdList是参与AndNot运算的layers的dbId的list,不是points的list
 楼主| 发表于 2019-10-14 14:51:01 | 显示全部楼层


寻雨 发表于 2019-10-14 13:46
l_dbIdList:List of objects from the resulting layer operation
这个你理解错了,这个dbIdList是参与 ...


谢谢您,这个是我理解错了,您可以指点我一下以下代码问题出在哪了么。
A_ot = dbLayerSize( pcCellView '("Outie" "drawing") list( aa ) -a-b ) ;生成A_ot的layer,验证没有问题

A_it = dbLayerSize( pcCellView '("Outie" "drawing") list( aa ) -a+b );生成B_ot的layer,验证没有问题

dbLayerAndNot( pcCellView '("Outie" "drawing")  A_ot A_it )  ;想生成A_ot与非A_it的layer,但是没有实现,没报错。


以上局部变量已经定义。
发表于 2019-10-14 15:17:43 | 显示全部楼层


LLECP 发表于 2019-10-14 14:51
谢谢您,这个是我理解错了,您可以指点我一下以下代码问题出在哪了么。
A_ot = dbLayerSize( pcCellView  ...


刚刚试验了,你这部分代码应该是没有问题的,如果可以把所有代码发出来,我帮你看看
 楼主| 发表于 2019-10-14 15:25:06 | 显示全部楼层
本帖最后由 LLECP 于 2019-10-14 15:40 编辑


寻雨 发表于 2019-10-14 15:17
刚刚试验了,你这部分代码应该是没有问题的,如果可以把所有代码发出来,我帮你看看
...


好的,谢谢您.

 楼主| 发表于 2019-10-14 15:29:34 | 显示全部楼层


寻雨 发表于 2019-10-14 15:17
刚刚试验了,你这部分代码应该是没有问题的,如果可以把所有代码发出来,我帮你看看
...


好的,那就麻烦您了~

pcDefinePCell(
list( ddGetObj( "Pcell_test_DYK" ) "cv" "layout" ) ; end of list for first argument

(
    ( layer1 string "X")
    ( ptList list(10:0 60:0 70:40 30:80 0:40))
    ( space1  int 5)
    ( space2  int 2)
    ( space3  float  5.0)
    ( space4  float  3.0)   


) ; end of pcell parameters


  let(
        (aa,caa,Create_outi_in,Create_outi_out) ; no local variables in this example   


;local value Defined


rodCreatePolygon(
                      ?name    "layer_Ori_BE"
                      ?cvId     pcCellView
                      ?layer    layer1
                      ?pts      ptList
                )

aa = rodGetObj("layer_Ori_BE")~>dbId

dbLayerSize( pcCellView '("Top_Moly" "drawing") list(aa) space1 )

dbLayerSize( pcCellView '("Si_Etch" "drawing") list(aa) space2 )

Create_outi_in = dbLayerSize( pcCellView '("XXXX" "drawing") list(aa) -space1-space3 )


Create_outi_out = dbLayerSize( pcCellView '("XXXX" "drawing") list(aa) -space1+space4 )


caa = dbLayerAndNot( pcCellView '("XXXX" "drawing") Create_outi_in Create_outi_out)

     ) ; end of body_of_code let

) ; end of pcDefinePCell

发表于 2019-10-14 15:54:06 | 显示全部楼层


LLECP 发表于 2019-10-14 15:29
好的,那就麻烦您了~

pcDefinePCell(


caa = dbLayerAndNot( pcCellView '("XXXX" "drawing") Create_outi_in Create_outi_out)
这句代码改成:caa = dbLayerAndNot( pcCellView '("XXXX" "drawing") Create_outi_out Create_outi_in)
因为layer Create_outi_out包含了layer Create_outi_in,Create_outi_in 和(非Create_outi_out)相与,它们之间没有交叠,结果肯定是空的
 楼主| 发表于 2019-10-14 15:58:57 | 显示全部楼层


寻雨 发表于 2019-10-14 15:54
caa = dbLayerAndNot( pcCellView '("XXXX" "drawing") Create_outi_in Create_outi_out)
这句代码改成 ...


我去。。。谢谢谢谢,糊涂了糊涂了 非常感谢您~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-25 19:16 , Processed in 0.021064 second(s), 6 queries , Gzip On, Redis On.

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