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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 779|回复: 16

[求助] 求助skill脚本transform相关的问题

[复制链接]
发表于 2024-3-1 14:04:37 | 显示全部楼层 |阅读模式

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

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

x
我想抓取底层所有pad cell上面CB层的bBox坐标信息,并transform到顶层,transform=dbGetInstTransform(pad),bbox=dbTransformBBox(CB~>bBox tansform),但是当底层pad为单个cell阵列出来的话,只能抓取阵列之前的单个cell,阵列出来的其他CB层抓不到,怎么解决呢?
发表于 2024-3-1 15:03:51 | 显示全部楼层
用dbGetOverlaps()和dbGetInstTransform()配合就行了
发表于 2024-3-1 15:13:13 | 显示全部楼层
dbShapeQuery()也可以
 楼主| 发表于 2024-3-1 15:29:35 | 显示全部楼层


着着着火了 发表于 2024-3-1 15:03
用dbGetOverlaps()和dbGetInstTransform()配合就行了


我就是用的这两函数配合的,唯一的问题就是阵列的pad  cell只能抓到一个,大佬能帮忙详细说下怎么用吗
发表于 2024-3-1 15:49:52 | 显示全部楼层


sr1245648455 发表于 2024-3-1 15:29
我就是用的这两函数配合的,唯一的问题就是阵列的pad  cell只能抓到一个,大佬能帮忙详细说下怎么用吗
...


有两个思路:

第一个思路是dbGetOverlaps()可以得到array的阵列信息,通过(0 0)的那个cell的坐标和uX、uY和oration计算出其它array的坐标,然后该怎么处理就怎么处理。
第二个思路是再加一个dbCopyFig()来配合。先把所有的CB层copy到editCellView,然后该怎么处理就怎么处理,最后再删掉copy出来的CB。
第二个方法会更简单一点
 楼主| 发表于 2024-3-1 16:23:08 | 显示全部楼层


着着着火了 发表于 2024-3-1 15:49
有两个思路:

第一个思路是dbGetOverlaps()可以得到array的阵列信息,通过(0 0)的那个cell的坐标和uX、u ...


大佬,把CB  copy上来需要transform信息,array出来的pad的transform信息还是得不到
发表于 2024-3-1 16:35:14 | 显示全部楼层


sr1245648455 发表于 2024-3-1 16:23
大佬,把CB  copy上来需要transform信息,array出来的pad的transform信息还是得不到
...


objs=dbGetOverlaps(cv bBox list("CB" "drawing") 32 t)

foreach(obj objs
    transform=dbGetInstTransform(obj)
    tempObj=cadr(obj)
    while(listp(obj)
        tempObj=cadr(tempObj)
    );end while
    tempCB=dbCopyFig(tempObj cv transform)
    CBs=append1(CBs tempCB)
);end foreach
~~~~~~~~~~~~~
tempCB就是复制到edit cell view的CB,CBs就是这堆CB的list,后面留着或者删掉看你自己了
 楼主| 发表于 2024-3-6 09:36:01 | 显示全部楼层


着着着火了 发表于 2024-3-1 16:35
objs=dbGetOverlaps(cv bBox list("CB" "drawing") 32 t)

foreach(obj objs


谢谢哥,还有个问题,我现在想把pad  cell复制到顶层,这种transform怎么转换呢
发表于 2024-3-6 11:45:13 | 显示全部楼层


sr1245648455 发表于 2024-3-6 09:36
谢谢哥,还有个问题,我现在想把pad  cell复制到顶层,这种transform怎么转换呢
...


不需要转化啊,tempObj是啥就复制啥,让tempObj=cell_id不就行了
发表于 2024-3-12 14:49:13 | 显示全部楼层
本帖最后由 着着着火了 于 2024-3-12 15:05 编辑


sr1245648455 发表于 2024-3-6 09:36
谢谢哥,还有个问题,我现在想把pad  cell复制到顶层,这种transform怎么转换呢
...


之前的回复说错了一个点,改正一下:获取transform用dbGetHierPathTransform()替代dbGetInstTransform()。

对于非inst/mosaic而言,dbGetInstTransform()和dbGetHierPathTransform()而言得到的结果一样,可以通用。但对于inst/mosaic而言得到的结果并不一样,如果只是获取inst/mosaic在当前cv的Transform,用dbGetInstTransform();如果要把这个获取的Transform作为dbCopyFig()之类的函数的参数的话,用dbGetHierPathTransform()。


所以在获取Transform作为copy类函数的参数的时候统一用dbGetHierPathTransform(),可以适用于所有类型的obj。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-19 09:29 , Processed in 0.028528 second(s), 8 queries , Gzip On, Redis On.

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