發表文章

目前顯示的是 12月, 2021的文章

VBA 複製資料夾內的所有資料夾(不含檔案)到另一個資料夾內

想要複製資料夾內的所有資料夾,但不含檔案到另一個資料夾內 VBA Copy Folder only to another Folder Sub Copy_Folder()     Dim fs, f, f1, s, sf     Dim xFiDialog As FileDialog     Dim xFiDialog2 As FileDialog     Dim xPath As String, xPath2 As String     Set xFiDialog = Application.FileDialog(msoFileDialogFolderPicker)     If xFiDialog.Show = -1 Then         xPath = xFiDialog.SelectedItems(1)     End If     Set xFiDialog = Application.FileDialog(msoFileDialogFolderPicker)     If xFiDialog.Show = -1 Then         xPath2 = xFiDialog.SelectedItems(1)     End If     Set xFiDialog = Nothing     Set fs = CreateObject("Scripting.FileSystemObject")     Set f = fs.GetFolder(xPath)     Set sf = f.SubFolders     For Each f1 In sf         If fs.FolderExists(xPath2 + "\" + f1.Name) Then         s = s & f1.Name & " :已有資料夾" & vbCrLf         Else         fs.CreateFolder (xPath2 + "\" + f1.Name)         s = s & f1.Name & " :已建立資料夾" & vbCrLf         End If     Nex

Revit 解決族群或樣板版本升級時當機或無法操控

圖片
 在Revit中,使用低版本的族群或樣板,程式會自動升級到目前版本。 發生狀況:載入低版本的族群或樣板,發生版本升級後,當機或無法操控程式,按ESC鍵也沒效果,只能用工作管理員關閉程式。 原因:微軟的 IME 中文輸入法新版本「相容性」問題 解決方式:將微軟的 IME 中文輸入法切換成舊版本 1. 右下角的功能列 2. 微軟注音的 [中] 字按右鍵,按下 [設定] 3. 在設定視窗的微軟注音,選取 [一般] 選項 4. 在最下面有 相容性 ,使用 <舊版的微軟注音> 選擇 [開啟] 5. 出現< 變更IME版本> 視窗,選取 [確定] ,切換成舊版微軟注音

AutoCAD 如何載入LISP

圖片
 備註:AutoCAD LT版(2023以下) 不能載入LISP等外掛程式,因為LT版為部分功能刪減 (AutoCAD 2024 LT版 開始可以使用LISP,但會有部分函數不能使用,仍須注意) 一.開啟 載入/卸載應用程式 介面 開啟此介面: 方法1:輸入指令  appload   方法2:點選功能列表,工具->AutoLISP ->載入應用程式 方法3:點選面板,管理->載入應用程式 二、手動選取檔案載入 1. 出現視窗後,即可選取你要載入檔案後,選取 <載入> 即可 三、如何每個檔案都自動載入 1. 選取右下角[啟動套件]的 <內容> 按鈕 2. 出現 [啟動套件] 視窗後,選取 <加入> 按鈕來加入妳要開啟檔案都自動載入LISP檔案。(備註:會在下次開啟檔案時才自動載入,目前檔案不會載入) 四、LISP載入的安全性 在早期有LISP病毒的問題,所以後來新版的CAD加入安全性提示視窗(舊版本沒有) 選擇 <永久載入> 在下次載入同個檔案不會跳出提示 選擇 <載入一次> 在下次載入同個檔案會再跳出提示 選擇 <不載入> 在LISP檔案不會被載入 另外,也可以把檔案放入可信任的位置的資料夾內,也不會跳出提示 使用指令 Options 叫出 [選項] 視窗,可以在 [檔案] 頁籤中的 可信任位置 或 支援檔路徑 加入 五、如何呼叫指令(不懂程式請參閱) 如果該LSP檔沒寫如何呼叫該LISP指令的話,請看程式碼內容 找尋 (defun C: XXX 開頭 後面的 XXX 就是指令名 在指令列中輸入 XXX 即可(可能該LSP檔有多個指令可以使用) 例如: (defun C: Test ( / )   (prompt "\n這是結果。")   (princ)   );_end 在指令列中輸入 Test 即可

AutoCAD 解決圖層工具列下拉式清單沒有排序

圖片
 發現只有特定檔案的圖層工具列下拉式清單沒有排序 原因:該檔案的圖層數量超過1000個 解決方式:如果圖層數量超過1000個,設定MAXSORT (系統變數)超過該檔案的圖層數量 該系統變數是設定在對話方塊、下拉式清單和選項板中根據字母順序排序之項目 (例如檔案名稱、圖層名稱、圖塊名稱) 的最大數目。 如果項目 (又稱具名物件) 的總數超過這個值,將無法排序任何項目。 MAXSORT 的值是介於 0 與 32767 之間的整數。

AutoCAD 解決圖塊現地編輯無法儲存

圖片
圖塊現地編輯後,儲存時出現視窗顯示無法儲存  常見原因: 1.多重引線(mleader)或引線:有引線關連到非圖塊內物件 解決方式:使用 DIMDISASSOCIATE指令,選取 引線取消關聯 2. 圖塊或檔案有問題 解決方式:使用AUDIT指令或DRAWINGRECOVERY指令,來修復檔案錯誤

AutoCAD LISP 命名空間通信函數參考(AutoLISP)

函數 描述 (vl-bb-ref  'variable ) 從 blackboard 命名空間返回變量的值 (vl-bb-set  'variable value ) 設置黑板命名空間中變量的值 (vl-load-all  "filename" ) 將文件加載到所有打開的 AutoCAD 文檔中,並加載到當前 AutoCAD 會話期間隨後打開的任何文檔中 (vl-propagate  'variable ) 將變量的值複製到所有打開的 AutoCAD 文檔中,並複製到當前 AutoCAD 會話期間隨後打開的任何文檔中 相關連結 應用程序處理函數參考(AutoLISP) 算術函數參考(AutoLISP) 等式和條件函數參考(AutoLISP) 錯誤處理函數參考(AutoLISP) 功能處理函數參考(AutoLISP) 列表操作函數參考(AutoLISP) 字串函數查找表(AutoLISP) 符號處理函數參考(AutoLISP) AutoCAD LISP 函數參考  

AutoCAD LISP VLX命名空間函數參考(AutoLISP)

 下面列出的VLX命名空間函數適用於單獨命名空間的VLX應用程序。這些函數允許從文檔命名空間訪問單獨的命名空間VLX函數,啟用相關文檔命名空間中的變量的檢索和更新,並為單獨的命名空間VLX函數提供錯誤處理例程。 函數 描述 (vl-arx-import  [ function | application] ) 將 ADS-DEFUN 函數導入單獨的命名空間 VLX (vl-doc-export  'function ) 使加載在 VLX 名稱空間中的函數可用於當前文檔 (vl-doc-import  ['function | application] ) 導入先前從另一個單獨命名空間 VLX 導出的函數 (vl-doc-ref  symbol ) 從關聯文檔的命名空間中檢索變量的值 (vl-doc-set  symbol value ) 設置關聯文檔命名空間中變量的值 (vl-exit-with-error  "msg" ) 將控制從 VLX 錯誤處理程序傳遞給  * 錯誤 *  相關文檔命名空間的功能 (vl-exit-with-value  value ) 返回調用 VLX 的文檔命名空間的值 (vl-list-exported-functions  [ “ appname ” ] ) 列出指定應用程序導出的所有函數,如果未指定應用程序,則列出所有導出函數 (vl-list-loaded-vlx) 返回與當前文檔關聯的所有單獨命名空間 VLX 文件的列表 (vl-unload-vlx  "appname" ) 卸載在其自己的命名空間中加載的 VLX (單獨的命名空間 VLX ) (vl-vlx-loaded-p  &

AutoCAD LISP 反應器功能參考(AutoLISP / ActiveX)

 注意: AutoLISP中的ActiveX支持僅限於Windows。 反應器功能定義,查詢和刪除反應堆和反應堆屬性。在使用這些功能之前,必須通過發出以下函數來加載AutoLISP reactor支持: (vl-load-com) 該 (vl-load-com) 函數初始化reactor支持和許多其他AutoLISP擴展。 函數 描述 (vl-load-com) 加載 AutoLISP 反應器支持功能和其他 AutoLISP 擴展 (vlr-acdb-reactor  data callbacks ) 構造數據庫(全局) reactor 對象 (vlr-add  obj ) 啟用已禁用的 reactor 對象 (vlr-added-p  obj ) 測試以確定是否啟用了 reactor 對象 (vlr-beep-reaction  [args] ) 發出嗶嗶聲 (vlr-command-reactor  data callbacks ) 構造一個通知命令事件的編輯器反應器 (vlr-current-reaction-name) 如果從 reactor 的回調中調用,則返回當前事件的名稱(符號) (vlr-data  obj ) 返回與 reactor 相關的特定於應用程序的數據 (vlr-data-set  obj data ) 覆蓋與反應器關聯的特定於應用程序的數據 (vlr-deepclone-reactor  obj data ) 構造一個編輯器反應器對象,該對象提供深度克隆事件的通知 (vlr-docmanager-reactor  obj data ) 構造一個 reactor 對象,該對象提供與 MDI 相關的事件的通知

AutoCAD LISP 繪圖對象函數參考(AutoLISP / ActiveX)

 注意: AutoLISP中的ActiveX支持僅限於Windows。 下表提供了用於處理圖形對象的AutoLISP函數的摘要說明。 函數 描述 (vlax-create-object  "prog-id" ) 創建 ActiveX 對象的新實例 (vlax-dump-object  obj ) 列出對象的方法和屬性 (vlax-erased-p  obj) 確定對像是否已被刪除 (vlax-get-acad-object) 檢索當前 AutoCAD 會話的頂級 AutoCAD 應用程序對象 (vlax-get-object  "prog-id" ) 返回 ActiveX 對象的運行實例 (vlax-get-or-create-object  "prog-id" ) 返回 ActiveX 對象的運行實例(如果存在),否則啟動該對象的新實例 (vlax-import-type-library :tlb-filename  filename  [ :methods-prefix  mprefix :properties-prefix  pprefix  :constants-prefix  cprefix ]) 從類型庫導入信息 (vlax-method-applicable-p  obj method ) 確定對像是否支持特定方法 (vlax-object-released-p  obj ) 確定是否已釋放對象 (vlax-read-enabled-p  obj ) 確定是否可以讀取對象 (vlax-release-object  obj ) 釋放繪圖對象 (vlax