找回密码
 注册
关于网站域名变更的通知

[SKILL分享]Draw Drill Hole钻孔内径绘制工具(源码)

查看数: 4281 | 评论数: 91 | 收藏 5
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-7-14 11:09

正文摘要:

replyreload += ',' + 3136475; 本帖最后由 db-_- 于 2025-7-14 11:09 编辑 根据以下帖子的框架重写了大部分函数。 https://bbs.eda365.com/forum.php?mod=viewthread&tid=134053&highlight=drill%2Bhole 并解 ...

回复

学无止境``` 发表于 2025-7-14 15:32
大佬,请教1个问题,我想要写1个等距离创建过孔的skill,如何点选1个过孔,然后按上下左右以等距离创建过孔?下面是我的代码,但是这个代码只能运行后再点选才能创建过孔,而且无法连续创建,怎么样先点选过孔,再创建
  1. defun( CopyViaBySameDimension (x_offset y_offset)
  2.     let((ViaDbid)
  3.         axlSetFindFilter(?enabled (list "noall" "VIAS") ?onButtons (list "VIAS"))
  4.         axlClearSelSet()
  5.         axlMsgPut("Select a via as reference...")
  6.         selectedVia = axlSingleSelectPoint()
  7.         ViaDbid = axlGetSelSet(selectedVia)                        ;获取选择对象的DBID
  8.                 ;unless(axlOKToProceed() axlShell("done"))
  9.                 when(ViaDbid
  10.                 padstackName = car(ViaDbid)->name      ;获取焊盘名称
  11.             ViaNet = car(ViaDbid)->net->name       ;获取当前选择过孔的网络名称
  12.                 ViaXY  = car(ViaDbid)->xy              ;获取当前选择过孔的坐标
  13.                 ViaRotation  = car(ViaDbid)->via->rotation  ;获取旋转角度
  14.                 ViaMirror  = car(ViaDbid)->via->mirrored  ;获取旋转角度

  15.                 x = xCoord(ViaXY)  ; 获取x坐标
  16.                 y = yCoord(ViaXY)  ; 获取y坐标
  17.                         ;点击左右则x变化,y不变
  18.                 x = x + x_offset
  19.                 ;点击上下则y变化,X不变
  20.                 y = y + y_offset
  21.                         ;unless(axlOKToProceed() axlShell("done"))
  22.                 newVia = axlDBCreateVia(padstackName , x:y , ViaNet, ViaMirror , ViaRotation , nil) ;创建过孔
  23.                         );end while
  24.                 when(newVia
  25.                         NewViaDbid = list(car(newVia))
  26.                     axlHighlightObject(NewViaDbid t)
  27.                 );end when
  28.                     
  29.     );end let   
  30. );end defun       
复制代码

点评

Q:但是这个代码只能运行后再点选才能创建过孔 A:没明白你的意思,代码不都是运行后点选再创建过孔的吗? Q:而且无法连续创建 A:连续创建需要加一个while循环函数。随便找一个类似的支持循环点击的功能源码看看  详情 回复 发表于 2025-7-14 17:39
db-_- 发表于 2025-7-14 17:39
学无止境``` 发表于 2025-7-14 15:32
大佬,请教1个问题,我想要写1个等距离创建过孔的skill,如何点选1个过孔,然后按上下左右以等距离创建过孔 ...

Q:但是这个代码只能运行后再点选才能创建过孔
A:没明白你的意思,代码不都是运行后点选再创建过孔的吗?

Q:而且无法连续创建
A:连续创建需要加一个while循环函数。随便找一个类似的支持循环点击的功能源码看看就知道了

点评

这个支持循环点击是什么意思  详情 回复 发表于 2025-7-15 09:52
这部分代码在form中Up Down Left Right这几个按钮的field下面调用的,是上下左右,点击Up按钮以后,才能点选VIA,创建过孔;无法先点选via,再点击Up按钮,创建VIA  详情 回复 发表于 2025-7-14 18:07
学无止境``` 发表于 2025-7-14 18:07
db-_- 发表于 2025-7-14 17:39
Q:但是这个代码只能运行后再点选才能创建过孔
A:没明白你的意思,代码不都是运行后点选再创建过孔的吗? ...

这部分代码在form中Up Down Left Right这几个按钮的field下面调用的,是上下左右,点击Up按钮以后,才能点选VIA,创建过孔;无法先点选via,再点击Up按钮,创建VIA

点评

你把获取器件信息放到主函数里,把创建via的函数放到上下左右按钮对应的回调函数里就行了。  详情 回复 发表于 2025-7-14 18:20
lhy123456 发表于 2025-11-6 15:32
正好需要

“来自电巢APP”

kuka_555 发表于 2025-10-26 18:31
学习学习,感谢分享
fymbl 发表于 2025-10-25 19:13
学习一下。。。。。。。。。
barry_chen 发表于 2025-10-21 17:28
感谢大佬 分享
Richard1203 发表于 2025-10-11 16:45
axlUIWExpose(axlUIViewFileCreate("fullPath" "None Drill Type" t))
Dc2024050416a 发表于 2025-9-29 00:34
学习中,感谢

“来自电巢APP”

nick_0625 发表于 2025-9-25 16:11
向大佬学习
q694635908 发表于 2025-9-17 15:01
xxfx
sick995 发表于 2025-9-16 23:47
流弊,看看
SSA 发表于 2025-9-15 10:52
.。。。。。。。。。。。。。。。。。。。
ben714 发表于 2025-9-13 16:46
大佬威武,围观看看
Kevin_Le 发表于 2025-9-10 15:47
厉害,学习学习
原来可以改用户名 发表于 2025-9-1 10:16
大佬威武,围观看看
奈何缘浅 发表于 2025-8-27 10:56
好东西感谢分享
懂我笑i 发表于 2025-8-27 09:41
学习学习学习
关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-22 02:09 , Processed in 0.171875 second(s), 32 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表