- UID
- 195831
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-11-23
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
以下各语句单独执行时没有错误,
即第一步:将一个原始文件fjm0(处于激活状态)
(vl-load-com)
(setq fjm0 "d:/CAD与数据开发/00BLOCK/电信井.dwg")
(vla-activate (vla-open (vla-get-documents (vlax-get-acad-object)) fjm0))
第二步:将文件另存fjm1
(setq fjm1 "d:/CAD与数据开发/00BLOCK/电信井33.dwg")
(command "_save" fjm1)
第三步:将原始文件关闭
(command "_close" fjm0) ;;关闭文件
第四步:打开另存文件,并激活文件,进行必要的图形操作
(setq fjm1 "d:/CAD与数据开发/00BLOCK/电信井33.dwg")
(vla-activate (vla-open (vla-get-documents (vlax-get-acad-object)) fjm1))
.........
第五步:保存并关闭另存文件fjm1
(command "_close" fjm1) ;;关闭文件
当我对图形进行了修改,而后进行关闭操作时,CAD都会提问:
Really want to discard all changes to drawing? <N> Yes or No, please.
而我竟然不能将这个参数加入到lisp命令中去,以在此处谢绝人机对话,也在此
请教各位 (command "_close" fjm1)后面的参数应该如何填,才能保存修改?
第六步:重复第一步,转入循环处理
但当我将他们放入一个函数里面时,却发生了错误,
其一是,不能关闭原始文件
其二是,不能打开另存的文件,关闭CAD再打开另存文件,里面是空白(单独执行有内容)
;;打开并另存激活一个dwg
(vl-load-com)
(defun c:opendwg ( )
(setq fjm0 "d:/CAD与数据开发/00BLOCK/电信井.dwg")
(vla-activate (vla-open (vla-get-documents (vlax-get-acad-object)) fjm0))
(setq fjm1 "d:/CAD与数据开发/00BLOCK/电信井33.dwg")
(command "_save" fjm1) ;;另存文件
(command "_close" fjm0) ;;关闭原始文件
(setq fjm1 "d:/CAD与数据开发/00BLOCK/电信井33.dwg")
(vla-activate (vla-open (vla-get-documents (vlax-get-acad-object)) fjm1))
; 打开另存文件,并激活文件
)
请教各位上述的错误在哪里?如何改正?并且对上述第一到第六步的操作有不有更好的处理方式,比如在第二步即将另存的文件激活,进行操作之后,存盘关闭。然后将原始文件再度激活另存为另外一个新的文件,进入循环处理。
陈四清 chen4@py.gov.cn |
|