lisp 批量插入“DWF”底圖;
(defun c:ssDWF (/ dwf-folder dwfFiles insertionPoint dwfFile) ;; 選擇文件夾 (setq dwf-folder (vl-file-syst-get-folder)) (if dwf-folder (progn ;; 獲取文件夾中所有DWF文件 (setq dwfFiles (get-dwf-files dwf-folder)) (if dwfFiles (progn ;; 獲取插入點 (setq insertionPoint (getpoint "指定插入點: ")) ;; 遍歷并插入每個DWF文件 (foreach dwfFile dwfFiles (command "ATTACH" dwfFile insertionPoint "1" ) ) (princ (strcat "\n" (itoa (length dwfFiles)) " 個DWF文件已成功插入.")) ) (princ "\n文件夾中沒有DWF文件.") ;; 文件夾中沒有DWF文件 ) ) (princ "\n未選擇文件夾.") ;; 未選擇文件夾 ) (princ) ) ;;================================= (defun vl-file-syst-get-folder () ;; 選擇文件夾并返回路徑 (vl-load-com) (setq objShell (vlax-create-object "Shell.Application")) (setq objFolder (vlax-invoke-method objShell 'BrowseForFolder 0 "選擇文件夾" 0)) (if objFolder (setq folderPath (vlax-get-property objFolder 'Self)) (setq folderPath nil) ) (if folderPath (setq folderPath (vlax-get-property folderPath 'Path)) ) folderPath ) ;;====================== (defun get-dwf-files (folderPath) ;; 獲取文件夾中所有DWF文件的路徑 (setq dwfFiles '()) ;; 初始化文件列表 (setq dwfFiles (vl-directory-files folderPath "*.dwf" 1)) ;; 獲取文件夾中的所有DWF文件 ;; 遍歷文件列表并合并文件夾路徑 (setq dwfFilesWithPaths '()) ;; 用于存儲完整路徑的列表 (foreach dwf dwfFiles (setq dwfFilesWithPaths (append dwfFilesWithPaths (list (strcat folderPath "\\" dwf))))) ;; 合并路徑和文件名 dwfFilesWithPaths ;; 返回完整路徑列表 )
文章源自四五設計網-http://www.133122.cn/52671.html 文章源自四五設計網-http://www.133122.cn/52671.html
繼續閱讀
我的微信
微信掃一掃

我的微信
惠生活福利社
微信掃一掃

我的公眾號

評論