明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 639|回复: 12

[源码] 求助:CAD文件打开方式

[复制链接]
发表于 2020-5-28 23:02 | 显示全部楼层 |阅读模式
100明经币
求助:不关闭当前窗口CAD文件,再将其以只读方式重新打开。
            相当于CAD下打开的有两个,先打开的可编辑、保存,后打开的为只读。
            目的:有时侯尝试修改后不理想,undo次数过多

最佳答案

查看完整内容

(defun c:tt5 () (vl-load-com) (command "qsave") (vla-open (vla-get-documents(vlax-get-acad-object)) (strcat (getvar "DWGPREFIX") (getvar "DWGNAME"))) (princ) )
发表于 2020-5-28 23:03 | 显示全部楼层
(defun c:tt5 ()
(vl-load-com)
(command "qsave")
(vla-open (vla-get-documents(vlax-get-acad-object)) (strcat (getvar "DWGPREFIX") (getvar "DWGNAME")))
(princ)       
)

点评

请问如果要以只读方式打开指定的文档(a.dwg 已在搜索目录中)该怎么写啊?  发表于 2020-5-29 09:56

评分

参与人数 1明经币 +1 收起 理由
669423907 + 1 很好用,如果要以只读方式打开指定的文档(.

查看全部评分

回复

使用道具 举报

发表于 2020-5-28 23:33 | 显示全部楼层
输入SDI,将值设置为1。

点评

satan421你就是个彻头彻尾的杂碎。一毛不拨,对别人指手画脚。垃圾。  发表于 2020-5-30 22:05
回复

使用道具 举报

发表于 2020-5-29 10:26 | 显示全部楼层
(vla-open (vla-get-documents(vlax-get-acad-object)) "f:\\1.dwg" :vlax-true)
回复

使用道具 举报

发表于 2020-5-29 10:46 | 显示全部楼层
谢谢各位,打开之后,为什么不是切换(激活)到刚打开的文档窗口,而是在之前的文档窗口?
回复

使用道具 举报

发表于 2020-5-29 11:20 | 显示全部楼层
本帖最后由 start4444 于 2020-5-29 11:22 编辑
669423907 发表于 2020-5-29 10:46
谢谢各位,打开之后,为什么不是切换(激活)到刚打开的文档窗口,而是在之前的文档窗口?

激活新开文件在前面加个函数   (vla-Activate (vla-open ......)
回复

使用道具 举报

发表于 2020-5-29 11:32 | 显示全部楼层
start4444 发表于 2020-5-29 11:20
激活新开文件在前面加个函数   (vla-Activate (vla-open ......)

非常感谢你
回复

使用道具 举报

发表于 2020-5-29 11:51 | 显示全部楼层
start4444 发表于 2020-5-29 11:20
激活新开文件在前面加个函数   (vla-Activate (vla-open ......)

(vla-Activate (vla-open (vla-get-documents(vlax-get-acad-object)) (findfile (getvar "DWGNAME"))) )
出现新问题,运行 qw 关闭当前后卡死,不知道什么原因(没改前不会)
;不保存关闭当前
(defun c:qw()(command "close" "y")(princ))
回复

使用道具 举报

发表于 2020-5-29 12:06 | 显示全部楼层
669423907 发表于 2020-5-29 11:51
(vla-Activate (vla-open (vla-get-documents(vlax-get-acad-object)) (findfile (getvar "DWGNAME"))) ) ...

不保存不是应该 "N"吗?y就是保存啊
回复

使用道具 举报

发表于 2020-5-29 13:37 | 显示全部楼层
start4444 发表于 2020-5-29 12:06
不保存不是应该 "N"吗?y就是保存啊

n是保存,y是不保存,

我已经这样用了好久了(08版)

;保存关闭当前
(defun c:wq()(c:pu)(command "close" "n")(princ))

;不保存关闭当前
(defun c:qw()(command "close" "y")(princ))
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 16:09 , Processed in 0.270490 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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