明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3623|回复: 11

[提问] 为何通过lsp在autocad中打开dwg图不成功?

[复制链接]
发表于 2014-8-5 19:44 | 显示全部楼层 |阅读模式
想通过lsp文件在AutoCAD中打开用户自选的文件,但是执行
(command "open")没有任何反应,没有预想的在autocad中弹出对话框选择文件
请问要如何才能做到这个效果?



"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-6-27 11:20 | 显示全部楼层
本帖最后由 张大锤 于 2018-6-27 11:27 编辑

我有办法 打开同文件夹里的 文件 是你要的吗?
(setq p1 (list -287084 -239660))
(setq path (getvar "dwgprefix"))
(setq filedxf (vl-directory-files path "*.dxf"))  
(setq intx (LENGTH filedxf))

(setq n 0)
(setvar "osmode" 0)   
(repeat intx
(setq filename (nth n filedxf))
(setq 1fp (wcmatch filename "***.dxf"))

(if (/= 1fp nil)
(command "-insert" filename p1 "1" "1" "0")
)

(setq n (1+ n))
)



这个不是我写的 但是可以 导入同文件夹的文件
发表于 2018-6-29 13:21 | 显示全部楼层
本帖最后由 llsheng_73 于 2018-6-29 13:24 编辑

;;调用open命令
(vla-SendCommand(vla-get-ActiveDocument(vlax-get-acad-object))(strcat"open"(chr 13)))
;;以后台方式打开指定文件
(vla-open(vla-get-Documents(vlax-get-acad-object))"C:\\Users\\Administrator\\Documents\\Tencent Files\\275988734\\FileRecv\\test.dwg")
 楼主| 发表于 2018-6-29 10:42 | 显示全部楼层
张大锤 发表于 2018-6-27 11:20
我有办法 打开同文件夹里的 文件 是你要的吗?
(setq p1 (list -287084 -239660))
(setq path (getvar "d ...

感谢你的回复
发表于 2014-8-6 09:47 | 显示全部楼层
并不是全部命令都能用command方式,command介绍已经说得很清楚,支持绝大部分的cad命令,并非全部。
1、可以采用vla-SendCommand;
2、不建议lisp用这种方式打开文件,打开文件后,lisp处理选中的文件比较难控制。
 楼主| 发表于 2014-8-6 11:08 | 显示全部楼层
我是看到有一个插件运行后在cad2008运行后相当于在cad里面输入了open命令,等你选择了打开的dwg文件后,然后他另存R14跟dxf文件的功能,因为是fas文件,想自己用lsp也写一个,但是摸索不到方式。
发表于 2014-8-6 15:11 | 显示全部楼层
getfiled,通过对话窗方式获得文件名。
再用(command "saveas")保存文件
 楼主| 发表于 2014-8-6 17:21 | 显示全部楼层
人家关键的运行步骤在于1程序加载 2执行cad的open命令让操作者打开需要的文件,3自动进行存盘转存。先打开文件再存盘确实可以通过getfiled得到文件名,但不是那个插件需要的步骤。
其实为何lsp不能执行在cad里面打开文件的操作呢?
发表于 2014-8-6 17:54 | 显示全部楼层
本帖最后由 819534890 于 2014-8-6 18:54 编辑

cad的lisp本来就是针对当前对象(也可以在当前对象中操作其他对象),一旦打开了其他文件,该文件就变成了当前,lisp程序就会暂停执行,直到切换回之前的对象。
你提到的操作,很可能是通过脚本执行的。
其实不用执着用open命令,可以用vla-open,把文件打开在后台,然后对该文件进行保持操作即可。
发表于 2018-6-26 17:40 | 显示全部楼层
没一句有用的话
发表于 2018-6-27 12:31 | 显示全部楼层
下面这个是别人的,我用来打开文件。你改下路径和命令名就好了。很好用。



本帖子中包含更多资源

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

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-3 23:11 , Processed in 0.510237 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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