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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1014|回复: 5

[求助] 请skill大佬帮忙看下这个脚本代码问题在哪里

[复制链接]
发表于 2023-12-12 12:19:12 | 显示全部楼层 |阅读模式

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

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

x
hiSetBindKey("Layout" "<Key>F6" "Delete_AP()")
procedure(Delete_AP()
let((shapes Point cv a pin)
cv=geGetEditCellView()
a=geGetSelSet()
pin=car(setof(x a x~>lpp==list("AP" "pin")))
point=pin~>xy
shapes=dbShapeQuery(cv list("AP" "drawing") point)
foreach(shape shapes
dbDeleteObject(shape)
)))


脚本想实现的功能就是选中单个AP pin,然后删除pin上对应的AP层,运行报error: length:argument must be a list or an array -38.07   
刚学习skill不久,有点找不到问题了,请大佬们帮忙指点一下,多谢了
发表于 2023-12-12 16:11:03 | 显示全部楼层
dbShapeQuery(deGetCellView() list("AP" "drawing") car(pin~>bBox))   还有就是单个删除,不用foreach
 楼主| 发表于 2023-12-12 16:28:06 | 显示全部楼层


光非 发表于 2023-12-12 16:11
dbShapeQuery(deGetCellView() list("AP" "drawing") car(pin~>bBox))   还有就是单个删除,不用foreach ...


还是报同样的错,好像是坐标表达方式应该有问题
发表于 2023-12-12 16:51:09 | 显示全部楼层
本帖最后由 光非 于 2023-12-13 09:28 编辑


sr1245648455 发表于 2023-12-12 16:28
还是报同样的错,好像是坐标表达方式应该有问题


没错啊,你试试这个



  1. procedure(de_ap()
  2.         let((shape)
  3.         shape = dbShapeQuery(deGetCellView() list("AP" "drawing") css()~>bBox)
  4.         dbDeleteObject(car(shape))
  5.         );let
  6. );procedure


复制代码

 楼主| 发表于 2023-12-12 17:43:02 | 显示全部楼层


光非 发表于 2023-12-12 16:51
没错啊,你试试这个


哥,还有个问题就是  我想查找某坐标上的AP drawing层,但是AP不在当前层,在cell底层,用什么函数呢
发表于 2023-12-13 09:31:35 | 显示全部楼层


sr1245648455 发表于 2023-12-12 17:43
哥,还有个问题就是  我想查找某坐标上的AP drawing层,但是AP不在当前层,在cell底层,用什么函数呢
...


才发现昨天写错了,刚刚更新了,delete里面需要加一个car,在 cell 里面也可以 delete 掉啊,你就是需要改一下delete,改成
dbDeleteObject(cadar(shape))

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

本版积分规则

关闭

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


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

GMT+8, 2024-11-28 13:43 , Processed in 0.018331 second(s), 7 queries , Gzip On, Redis On.

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