怎么关闭CAD所有已经打开的只读图档???
本帖最后由 yu960312 于 2022-5-30 23:30 编辑公司有一台电脑有很多人用,有的人为了方便查数,就会打开很多已经打开的CAD图档,关闭CAD时就很麻烦了
想做一个功能:
1.关闭所有已经打开的CAD只读图档
2.缩放图纸范围 (COMMAND "_ZOOM" "_e")
3.保存所有图档 (MJ:SaveAllDocs)
[功能] 保存所有文档
(defun MJ:SaveAllDocs(/ item)
(setq *DOCS* (vla-get-Documents (vlax-get-acad-object)))
(vlax-for item *DOCS*
(vla-save item)
)
)
具体怎么操作,希望各路大神指导一下 (startapp "taskkill /F /IM acad.EXE /T")一句搞定 自贡黄明儒 发表于 2022-5-31 18:19
(startapp "taskkill /F /IM acad.EXE /T")一句搞定
大哥,打开的不是只读文件要保存的 本帖最后由 nyistjz 于 2022-6-10 16:32 编辑
[*](defun c:tt (/ *docs* active file name readonly saved)
[*](setq *docs* (vla-get-Documents (vlax-get-acad-object)))
[*](vlax-for item *docs*
[*] ;(vlax-dump-object item)
[*] (setq readonly (vla-get-ReadOnly item));判断读写属性
[*] (setq active (vla-get-active item))
[*] (setq saved (vla-get-saved item))
[*]
[*] (princ "\n==================================")
[*] (setq name (vlax-get-property item 'name));判断文件名
[*] (setq file (vlax-get-property item 'fullname));判断含路径名
[*] (princ (strcat "\n名字:" name))
[*] (princ (strcat "\n路径:" (if (= file "") "新建文件" file)))
[*] (princ (strcat "\n只读:"))(princ readonly1)
[*] (princ (strcat "\n激活:"))(princ active)
[*] (princ (strcat "\n保存:"))(princ saved)
[*] ;===============================================
[*] (terpri)
[*] (if (= :vlax-false active);未激活文档
[*] (cond
[*] ((= file "") nil)
[*] ((= :vlax-True readonly)
[*] (vla-close item :vlax-false);不保存关闭
[*] )
[*] ((= :vlax-True saved)
[*] (vla-close item :vlax-false);不保存关闭
[*] )
[*] (t
[*] ;(vla-ZoomExtents *acad*)
[*] (vla-close item :vlax-True);关闭并保存
[*] )
[*] )
[*] (cond
[*] ((= file "") nil)
[*] ((= :vlax-True readonly)
[*] (command-s "close" "Y");不保存关闭
[*] )
[*] ((= :vlax-True saved)
[*] (command-s "close" "Y");不保存关闭
[*] )
[*] (t
[*] ;(vla-ZoomExtents *acad*)
[*] (command-s "close" "n");n为保存后关闭
[*] )
[*] )
[*] )
[*])
[*](princ)
[*])
[*]
[*](c:tt)
nyistjz 发表于 2022-6-10 16:03
[*](defun c:tt (/ *docs* active file name readonly saved)
[*](setq *docs* (vla-get-Documents (v ...
学习了,大佬,感谢
页:
[1]