- A+
所屬分類:cad
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 ;; 獲取插入點(diǎn) (setq insertionPoint (getpoint "指定插入點(diǎn): ")) ;; 遍歷并插入每個(gè)DWF文件 (foreach dwfFile dwfFiles (command "ATTACH" dwfFile insertionPoint "1" ) ) (princ (strcat "\n" (itoa (length dwfFiles)) " 個(gè)DWF文件已成功插入.")) ) (princ "\n文件夾中沒(méi)有DWF文件.") ;; 文件夾中沒(méi)有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 '()) ;; 用于存儲(chǔ)完整路徑的列表 (foreach dwf dwfFiles (setq dwfFilesWithPaths (append dwfFilesWithPaths (list (strcat folderPath "\\" dwf))))) ;; 合并路徑和文件名 dwfFilesWithPaths ;; 返回完整路徑列表 )
歷史上的今天:
贊
0
賞