找回密码
 注册
关于网站域名变更的通知
查看: 767|回复: 11
打印 上一主题 下一主题

【求助】自己写的程序导入dxf文件失败

[复制链接]
  • TA的每日心情
    郁闷
    2022-6-24 15:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    跳转到指定楼层
    1#
    发表于 2022-6-13 16:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x
    请教一下大佬们,自己写了一个导入dxf文件的程序,用的dxf2a批处理命令,日志都显示跟手工导入一样,没有别的报错信息,为啥就是导入不成功呢

    导入部分程序如下:
    cmdImport = strcat("dxf2a.exe -u MILS -v MM"  " -a 2 -g " " test.cnv " " xx200.dxf " "M_XXX00009VB.brd")
    ipcBatchProcess(cmdImport "" "importDrc.log")


    日志如下,跟手工导入dxf产生的日志对比了,没差别:
    Reading Layer Conversion File
    Reading DXF file...
    NOTE: Replacing illegal character * with X in *Model_Space.
    NOTE: Replacing illegal character * with X in *Paper_Space.

    ...

    Layer conversion file: test.cnv
    DXF file: vs200g-x540.dxf
    BRD file: M_ETH00009VB.brd
    Update existing design?: YES
    Use default text?: NO
    DXF units: MILLIMETERS
    Design units: MILS
    Design precision: 2
    dxf2a complete.

    dxf-log.png (23.6 KB, 下载次数: 0)

    dxf-log.png
  • TA的每日心情
    奋斗
    2025-7-7 15:38
  • 签到天数: 83 天

    [LV.6]常住居民II

    2#
    发表于 2022-6-13 16:25 | 只看该作者
    我用过这个函数,但是建议你比对一下手动导入和SKIL导入的cnv文件。

    点评

    参数用的就是手动导入dxf文件时生成的那份cnv文件,保证内容一致,应该是别的原因,还没发现  详情 回复 发表于 2022-6-13 17:32
  • TA的每日心情
    郁闷
    2022-6-24 15:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    3#
     楼主| 发表于 2022-6-13 17:32 | 只看该作者
    db-_- 发表于 2022-6-13 16:25
    我用过这个函数,但是建议你比对一下手动导入和SKIL导入的cnv文件。

    参数用的就是手动导入dxf文件时生成的那份cnv文件,保证内容一致,应该是别的原因,还没发现

    点评

    想不到别的了,貌似只有cnv你没传上来了。命令看着没问题。  详情 回复 发表于 2022-6-13 18:04
  • TA的每日心情
    奋斗
    2025-7-7 15:38
  • 签到天数: 83 天

    [LV.6]常住居民II

    4#
    发表于 2022-6-13 18:04 | 只看该作者
    小烟雨的人家 发表于 2022-6-13 17:32
    参数用的就是手动导入dxf文件时生成的那份cnv文件,保证内容一致,应该是别的原因,还没发现

    想不到别的了,貌似只有cnv你没传上来了。命令看着没问题。

    点评

    cnv文件,中间太多省略了。用这个cnv文件手工导入dxf可以成功,代码就是不行,也没有报错,执行完事了看上去啥也没发生:  详情 回复 发表于 2022-6-14 09:23
  • TA的每日心情
    郁闷
    2022-6-24 15:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    5#
     楼主| 发表于 2022-6-14 09:23 | 只看该作者
    db-_- 发表于 2022-6-13 18:04
    想不到别的了,貌似只有cnv你没传上来了。命令看着没问题。

    cnv文件,中间太多省略了。用这个cnv文件手工导入dxf可以成功,代码就是不行,也没有报错,执行完事了看上去啥也没发生:

    #This is the Layer Conversion File used for
    #importing DXF data into Allegro/APD.

    #CLASS!            SUBCLASS!                 DXF_LAYER!

    BOARD GEOMETRY!
                       2022-6-11-dxf!            0!
                       2022-6-11-dxf!            DEFAULT_1!
                       2022-6-11-dxf!            DEFAULT_2!
                       2022-6-11-dxf!            DEFAULT_3!
                       2022-6-11-dxf!            00_COMPONENTS!
                       2022-6-11-dxf!            01_ALL_DTM_PLN!
                       2022-6-11-dxf!            01__ASM_ALL_DTM_PLN!
                                           
                                       ...

    #END
  • TA的每日心情
    郁闷
    2022-6-24 15:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    6#
     楼主| 发表于 2022-6-14 13:30 | 只看该作者
    zs_king 发表于 2022-6-14 11:51
    是不是因为,你要导入的层,还没进行创建。 所以,没有啊?  手动操作的话,貌似可以选择新建层。

    应该不是这个原因,程序创建层还没写,但是我先手动创建好了的层用于测试导入能不能成功的,实在想不出还有什么别的原因了
  • TA的每日心情
    郁闷
    2022-6-24 15:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    7#
     楼主| 发表于 2022-6-14 13:42 | 只看该作者
    zs_king 发表于 2022-6-14 11:51
    是不是因为,你要导入的层,还没进行创建。 所以,没有啊?  手动操作的话,貌似可以选择新建层。

    大神,我参考了你用a2dxf命令导出dxf文件,感觉导入dxf理论上用dxf2a肯定可以成功的哇,而且对照help文档参数应该都正确了,转换文件cnv应该也没有问题,层我也手动创建好了,想不通为啥不能成功
  • TA的每日心情
    奋斗
    2025-7-7 15:38
  • 签到天数: 83 天

    [LV.6]常住居民II

    8#
    发表于 2022-6-14 14:40 | 只看该作者
    cmdImport = strcat("dxf2a.exe -u MILS -v MM"  " -a 2 -g " " test.cnv " " xx200.dxf " "M_XXX00009VB.brd")
    ipcBatchProcess(cmdImport "" "importDrc.log")

    改成下面这个试试。

    cmdImport = strcat("dxf2a.exe -u MILS -v MM"  " -a 2 -g " " test.cnv " " xx200.dxf " "%%s")
    axlRunBatchDBProgram("dxf2a" cmdImport ?noUnload nil  ?logfile "importDrc.log" ?warnProgram t ?noExitMsgs t ?noLogview t ?silent nil)

    点评

    大佬我重新打开设计就看到dxf文件导入进去了,回头程序增加一个刷新函数应该就可以了; 这个axlRunBatchDBProgram用了一直进度条结束不了,不知道啥情况,我再研究一下,非常感谢  详情 回复 发表于 2022-6-14 15:16
  • TA的每日心情
    郁闷
    2022-6-24 15:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    9#
     楼主| 发表于 2022-6-14 15:13 | 只看该作者
    zs_king 发表于 2022-6-14 14:42
    大神,我参考了你用a2dxf命令导出dxf文件,感觉导入dxf理论上用dxf2a肯定可以成功的哇,而且对照help文档 ...

    牛批哇,大佬,重新打开确实就看到了,是不是程序结束增加一个刷新设计的函数就可以了;
    至于你跟楼上的大佬说的axlRunBatchDBProgram函数,我试了一下没跑成功,进度条一直结束不了,不知道啥原因,我再仔细研究看看,非常感谢

    点评

    抱歉,还要修改一下。 改成 cmdImport = strcat("dxf2a.exe -u MILS -v MM" " -a 2 -g " " nbu_20220601c_rf_l.cnv " " nbu_20220601c_rf.dxf " "M_XXX00009VB.brd") axlRunBatchDBProgram("dxf2a" cmdImport  详情 回复 发表于 2022-6-16 09:53
  • TA的每日心情
    郁闷
    2022-6-24 15:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    10#
     楼主| 发表于 2022-6-14 15:16 | 只看该作者
    db-_- 发表于 2022-6-14 14:40
    cmdImport = strcat("dxf2a.exe -u MILS -v MM"  " -a 2 -g " " test.cnv " " xx200.dxf " "M_XXX00009VB.b ...

    大佬我重新打开设计就看到dxf文件导入进去了,回头程序增加一个刷新函数应该就可以了;
    这个axlRunBatchDBProgram用了一直进度条结束不了,不知道啥情况,我再研究一下,非常感谢
  • TA的每日心情
    奋斗
    2025-7-7 15:38
  • 签到天数: 83 天

    [LV.6]常住居民II

    11#
    发表于 2022-6-16 09:53 | 只看该作者
    小烟雨的人家 发表于 2022-6-14 15:13
    牛批哇,大佬,重新打开确实就看到了,是不是程序结束增加一个刷新设计的函数就可以了;
    至于你跟楼上的 ...

    抱歉,还要修改一下。

    改成cmdImport = strcat("dxf2a.exe -u MILS -v MM"  " -a 2 -g " " test.cnv " " xx200.dxf " "M_XXX00009VB.brd")
    axlRunBatchDBProgram("dxf2a" cmdImport ?noUnload nil  ?logfile "dxf2a.log")


    然后 reopen


    点评

    好的感谢大佬,已经搞定了,确实可行的  详情 回复 发表于 2022-6-17 09:08
  • TA的每日心情
    郁闷
    2022-6-24 15:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    12#
     楼主| 发表于 2022-6-17 09:08 | 只看该作者
    db-_- 发表于 2022-6-16 09:53
    抱歉,还要修改一下。

    改成cmdImport = strcat("dxf2a.exe -u MILS -v MM"  " -a 2 -g " " test.cnv " ...

    好的感谢大佬,已经搞定了,确实可行的
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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