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

[SKILL分享]:导出dxf(源码)

查看数: 5134 | 评论数: 37 | 收藏 15
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-2-11 10:07

正文摘要:

本帖最后由 db-_- 于 2022-2-11 10:38 编辑 使用方法:附件解压到任意skill目录中。在allegro.ilinit中输入load("export_dxf.il") 控制台中输入命令dbdxf 如果想修改layer convertion文件,请在_dbCreatD ...

回复

db-_- 发表于 2022-2-23 16:14
这有大佬写了生成钻孔shape的skill了。
先运行这个,再把这一层BOARD GEOMETRY/Drillhole加进去生成即可。我还是懒得写了。
或者直接在dxf的函数里,加上drill_hole_by(),这样运行一次就够了。

https://www.eda365.com/thread-134053-1-1.html
db-_- 发表于 2022-2-11 13:36
weigz 发表于 2022-2-11 13:13
感谢,找到原因了,生成SHAPE后,BRD必须存盘才可以。

SOGA 貌似是这样。可以再加上这些。

  1. res = axlUIYesNo("输出DXF文件需要保存文件,点击YES保存,点击NO取消。" "Save Design" 'yes) ;;同意是否保存
  2.         when(res
  3.                 res = axlSaveDesign(?design nil)        ;保存BRD
  4.                 when(res
  5.                         ;;创建临时文件
  6.                         addr1 = "./top_layer.cnv"
  7.                         addr2 = "./bottom_layer.cnv"
  8.                         _dbCreatDxfFile(addr1 "TOP")
  9.                         _dbCreatDxfFile(addr2 "BOTTOM")
  10.                         ......
  11.                 )
  12.         )
复制代码



weigz 发表于 2022-2-11 11:38
db-_- 发表于 2022-2-11 10:57
您是指需要导出所有钻孔(包括via,through pin)的内径吗。我没找到有哪一层能显示孔径这个圈的。

非 ...

在BOARD GEOMETRY  DRILL_HOLE层生成钻孔的Shape,也在您的SKILL那里面加了一句fprintf(file "                   DRILL_HOLE!                            BG_DRILL_HOLE!\n\n")但是就是无法导出钻孔。
db-_- 发表于 2022-2-11 12:05
weigz 发表于 2022-2-11 11:38
在BOARD GEOMETRY  DRILL_HOLE层生成钻孔的Shape,也在您的SKILL那里面加了一句fprintf(file "            ...

有几个地方要确认下:
1、这一行是加在OUTLINE!这一行下面吗。行错了会找错CLASS。
2、drill_hole层的shape是真的shape,不是图形吧。
3、有没有重新加载il或者重启brd。

我刚测试了一下,随便新建了一个user layer,随便画了一个shape,然后把这个layer加进去,这个shape是可以生成到DXF里面去的。
Dc2024050416a 发表于 2025-10-1 14:18

谢谢共享源码,顶一个
Dc2024050416a 发表于 2025-9-29 01:11
感谢分享

“来自电巢APP”

亦久忆旧 发表于 2025-6-8 16:14
大佬,整合到一起,发生了错误,方便帮忙整合一下,给出完整的代码嘛?
万里羊 发表于 2025-1-14 11:33
苦苦寻找
Trunktren 发表于 2024-12-2 13:49
db-_- 发表于 2024-11-29 19:30
差不多吧。

axlRunBatchDBProgram只能执行批处理命令,也就是cmd里面能执行的都能执行。

OK,感谢大哥!
db-_- 发表于 2024-11-29 19:30
Trunktren 发表于 2024-11-29 17:40
请教大哥两个问题:1. 函数是不是只有包含【Syntax】,才可以使用axlRunBatchDBProgram()
2.axlShell( ...

差不多吧。

axlRunBatchDBProgram只能执行批处理命令,也就是cmd里面能执行的都能执行。
axlShell只能执行控制台命令,也就是allegro的控制台里面能输入的指令都能执行。

比如记事本这种系统自带的,写了Syntax的都是批处理命令。
比如能记录下来的宏、常用指令move这些,都是控制台命令。
Trunktren 发表于 2024-11-29 17:40
请教大哥两个问题:1. 函数是不是只有包含【Syntax】,才可以使用axlRunBatchDBProgram()
2.axlShell()可以唤醒吗?
yinhaolin123456 发表于 2023-9-13 15:07
666
qingjuanliu 发表于 2023-9-13 13:57
谢谢分享!!!
pcblayout_bl 发表于 2022-6-14 00:07
威望不足,下载不了
db-_- 发表于 2022-5-31 18:18
小烟雨的人家 发表于 2022-5-31 15:05
a2dxf这个在skill接口文档中没找到哇,请教一下这是可以直接调用的接口吗

16.6以后都一直可以使用吧。16.6是可以的,再古老的版本我没测试。HELP文档里有。可以参考一下。
如果不能用,可以试试增加安装目录的bin文件夹到PATH环境变量再试试。
小烟雨的人家 发表于 2022-5-31 15:05
leilei4908 发表于 2022-2-11 16:49
res = strcat("a2dxf -u MM -a 4 -c l " addr1 " top " axlCurrentDesign())
这里的  -u  -a  -c l 能帮忙 ...

a2dxf这个在skill接口文档中没找到哇,请教一下这是可以直接调用的接口吗
db-_- 发表于 2022-5-5 17:46
hh3020 发表于 2022-5-5 16:54
用不了啊,能给qq号私聊一下吗

报什么错,可以描述一下。
hh3020 发表于 2022-5-5 16:54
用不了啊,能给qq号私聊一下吗
关闭

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

EDA365公众号

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

GMT+8, 2025-11-22 03:10 , Processed in 0.171875 second(s), 36 queries , Gzip On.

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

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

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