如何用lisp直接打开dwg文件
我现在编程遇到一个问题,我要打开某目录下的dwg文件,我想有没有办法通过lisp,直接打开这些文件,而不是通过open文件选择框打开这些文件.
本帖最后由 qcw911 于 2010-12-21 12:41 编辑
建议楼主先看看近期的帖子
(defun c:fd()
(setq path (vl-registry-read "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\win_path" "win_path"))
(if(= nil path)
(progn
(setq path (AddBS(Get_Folder)))
(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\win_path")
(vl-registry-write "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\win_path" "win_path" path)
(setq path (vl-registry-read "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\win_path" "win_path"))
)
)
(setq dwg (getstring "\n請輸入文件名:"))
;;; (setq path "D:\\temp\\")
(if (and (/= "" dwg)(findfile (strcat path dwg ".dwg")))
(vla-open (vla-get-documents(vlax-get-acad-object)) (strcat path dwg ".dwg"))
(alert "沒有該文件")
)
(princ "\n--------<<命令:FD >>---------")
(princ)
)
(defun Get_Folder( / path_object shell)
(setq shell (Vlax-Get-Or-Create-Object "Shell.Application" ))
(if (setq path_object (vlax-invoke shell 'BrowseForFolder 0 "" 0 0))
(vlax-get (vlax-get path_object 'Self) 'Path)
)
)
;;;==================================================================
;;; (AddBS cPath) 按需添加反斜杠符到路径中。
;;;------------------------------------------------------------------
;;; 参数:
;;; cPath使用路径。
;;;------------------------------------------------------------------
;;; 返回:
;;; cPath 添加了反斜杠符的路径
;;; 示例:(setq a "C:\\MyFolder")
;;; (AddBS a) ;
;;; 返回 "C:\\MyFolder\\"
;;;==================================================================
(defun AddBS (cPath)
(if(not (= (substr cPath (strlen cPath)) "\\"))
(strcat cPath "\\")
cPath
) ;_ end of if
)
先参考一下:
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=75760
页:
[1]