發表文章

目前顯示的是有「LISP」標籤的文章

AutoCAD LISP 使用 VS Code 編輯器

圖片
  一、介紹 Visual Studio Code(簡稱 VS Code)是一款由微軟開發且跨平台的免費原始碼編輯器。 該軟體以擴充元件的方式支援語法突顯、智慧型程式碼補全(又稱 IntelliSense)、程式碼重構功能,並且內建了命令列工具和 Git 版本控制系統。使用者可以更改佈景主題和鍵盤捷徑實現個人化設定,也可以透過內建的擴充元件程式商店安裝其他擴充元件以加強軟體功能。 而 Autodesk 在 AutoCAD 的2021版加入支援 Visual Studio Code 編輯器,可以使用 Visual Studio Code 編輯器來在AutoCAD中Debug 。並且可以選擇編輯器使用原本內建編輯器還是 Visual Studio Code 編輯器。 二、下載 下載 Visual Studio Code 編輯器 免安裝版請下載上面網址的ZIP檔 VS Code 網頁版  (網頁版不能安裝延伸模組,沒辦法安裝AutoLISP擴展套件) 三、中文化 下載後打開是預設是英文介面。 需要下載套件才能中文化。 1. 點選左側功能[ 延伸模組(Extensions) ],快捷鍵Ctrl+Shift+X 2. 搜尋打[ 中文 ]或[ Chinese ]找到[ Chinese (Traditional) Language Pack for Visual Studio Code ] 3. 點選[ 安裝(Install) ]按鈕 4. 安裝完成後,你可以在右下角看到一則詢問訊息,該訊息是問你是否要切換成剛剛下載好的繁體中文套件,就按下[ Change Language and Restart(切換語言並重新開啟) ]的按鈕。 5.重新啟動後,介面變中文。 四、載入AutoCAD套件 需要下載套件才能支援AutoCAD LISP。 1. 點選左側功能[ 延伸模組( Extensions ) ],快捷鍵Ctrl+Shift+X 2. 搜尋 [ AutoCAD AutoLISP Extension ] (此為Autodesk官方套件) 3. 點選[ 安裝 (Install) ]按鈕 五、基本使用 稍後補充 1. 選擇程式語言 選擇AutoLISP 或 DCL,預設純文字檔。 2. 選擇檔案編碼 可選常見UTF-8(預設)或是Big5 六、切換...

AutoCAD LISP 載入或重新載入線型

 內建線型定義檔(.lin),acad.lin 用於英制單位,而 acadiso.lin 則用於公制單位。(在 AutoCAD LT 則是 acadlt.lin 和 acadltiso.lin) 範例1:載入或重新載入內建所有線型(使用 -linetype指令 ) ;;;程式說明:從 lin 檔案載入或重新載入內建所有線型 ;;;作者:ronjonp ;;;來源: lsp 從 .lin 檔案載入或重新載入所有線型 (defun c:loadlt (/ ex v va)   (setq va (mapcar 'getvar (setq v '(cmdecho expert))))   (mapcar 'setvar v '(0 5))   (foreach lt (if (= 0 (getvar 'measurement)) ; <-是否英制 ;; 或將您的自訂檔案新增至清單中,如果不在搜尋路徑中,請提供完整路徑 '("acad.lin") ;; 公制 '("acadiso.lin")       )     (and (findfile lt) (command "._-linetype" "_Load" "*" lt ""))   );_foreach   (mapcar 'setvar v va)   (princ) );_defun_end

AutoCAD LISP 圖層的性質與群組篩選方法

圖片
不想要一個一個手動新增,可以做成巨集或是LISP來快速新增圖層的性質 (Property) 與群組 (Group) 篩選 (Filter) 分類。  方法1:使用指令(-LAYER) 範例1:新增圖層的性質篩選(名稱:凍結圖層,性質:凍結圖層) 1. 輸入指令: -LAYER 輸入選項 [?/建立(M)/設定(S)/新建(N)/更名(R)/打開(ON)/關閉(OFF)/顏色(C)/線型(L)/線粗(LW)/透明度(TR)/材料(MAT)/出圖(P)/凍結(F)/解凍(T)/鎖住(LO)/解鎖(U)/狀態(A)/描述(D)/調和(E)/外部參考(X)]: 2. 輸入: filter  (此未顯示在指令選項中,為隱藏) 輸入圖層篩選選項 [新建(N)/設定(S)/更名(R)/編輯(E)/刪除(D)/結束(X)]: 3. 輸入: N (新建) 選取圖層篩選類型 [群組(G)/性質(P)]: 4. 輸入: P (性質) 輸入父系圖層篩選 <全部>: 5. 輸入:直接按下 Enter鍵 (此為不在任何分支之下;如果要在已有篩選之子項要輸入此項) 輸入性質篩選定義: 6. 輸入: frozen=="true" (此為凍結圖層)(如果多條件要同時輸入在此處) 輸入圖層篩選的名稱: 7. 輸入: 凍結圖層 (此為決定篩選名稱,不能空白或重複名稱) 輸入圖層篩選選項 [新建(N)/設定(S)/更名(R)/編輯(E)/刪除(D)/結束(X)]: 8. 輸入:直接按下 Enter鍵 結束指令 (如果沒有要繼續輸入) 這樣就新增圖層篩選完成 指令巨集: ^C^C-layer;filter;n;p;;frozen=="true";凍結圖層;; LISP: (Command "-layer" "filter" "n" "p" "" "frozen==\"true\"" "凍結圖層" "") 補充 性質篩選定義 : 名稱:NAME,要篩選的圖層名稱(可用萬用字元) 關閉:OFF,true/false 凍結:frozen,true/false 鎖住:locke...

AutoCAD LISP 無法預覽DCL 因無法建立 DCL 的暫存檔

圖片
 問題: AutoCAD Visual LISP 編輯器中 想要預覽DCL 但顯示錯誤 ; 警告: 無法建立 DCL 的暫存檔: "C:/Program Files/Autodesk/AutoCAD 2024/$vld$.dcl" 下圖為在LISP編輯器預覽DCL方法 解決方法: 方法1:更改暫存檔路徑 選項 → 檔案 → 支援檔搜尋路徑 按"加入"按鈕,再按"瀏覽"進入瀏覽資料夾對話框中 選取 D:\\CAD 即可,建議將加入之路徑移至最上端。 參考: Autocad 論壇 方法2:未有寫入權限(改善方式:增加寫入權限) 在該資料夾新增 $vld$.dcl 檔案 對該檔案 → 右鍵 → 內容 → 安全性 → 選擇使用者 → 新增寫入權限 參考: Autodesk visual-lisp-autolisp-and-general 討論區  

OpenDCL Studio (工作坊) 繁體中文版 下載

圖片
  OpenDCL Studio (工作坊) 繁體中文版 OpenDCL 是一個開源應用程式平台,專為希望以一組豐富的現代 Windows 使用者介面元素取代 AutoCAD 有限的 DCL(對話控制語言)使用者介面語言的 AutoLISP 程式設計師。  AutoCAD 應用程式開發人員和客製化人員可以使用 OpenDCL Studio 以互動方式設計現代、專業的使用者介面元素,以供 AutoCAD 中的 AutoLISP 程式碼使用。  OpenDCL Runtime 元件與應用程式一起部署,並為 OpenDCL 應用程式的最終使用者提供 AutoCAD 內部必要的執行時間框架。 這是AutoCAD對話框外掛,經由模組化後不用像舊的DCL一樣用程式碼做對話框, 而是像VBA一樣可以視覺化去設計版面。 下載分兩個部分 OpenDCL Studio    <--- 這是版面設計程式,只有設計者要安裝 OpenDCL Runtime <--- 這是 AutoCAD 外掛安裝檔,用來加載 OpenDCL 檔案,沒有這個無法執行(因為 OpenDCL 提供了 原本 DCL 更多的功能) OpenDCL Studio 繁體中文版 v9.1.5.2(翻譯版本14) 下載 協助中文版翻譯(目前翻譯未完全完成) Google 文件翻譯對照檔案 我是用簡體中文版進行翻譯(但看到裡面還有很多英文,所以心血來潮就進行翻譯) 所以有些可能會是對面用語 因為個人語言能力有限,有些還沒翻譯或不知道該如何翻就沒有翻譯 上面Google文件翻譯檔案只有介面翻譯檔案,沒有說明檔(因為原本官方提供是HTML檔,我還在想要怎麼處理) 回報翻譯問題

AutoCAD LISP 分享K函數庫

圖片
 理念     在學習或是開發AutoCAD LISP的時候,經常因為需要的功能沒有在內部函數中,而需要自行寫出相對的功能,在重複使用相同功能下,則自行定義成函數會方便重複使用,但同時在初期學習或是開發階段,這個過程會花上許多時間,所以我嘗試分享自己寫的函數。     寫成函數的好處: 1. 方便重複利用,可以減少寫得程式碼 2. 解讀程式碼方便,因為對應函數是對應功能,進而快速理解程式碼是做什麼 下載:(內含有說明) K函數庫V1.3.2 K函數庫V1.3.1 (修正部分函數沒有載入) K函數庫V1.3 K函數庫V1.2 AutoCAD 如何載入LISP檔案 範例: ;;;輸出點座標到TXT檔案 ;;;作者:夜源 ;;;時間:2024/10/20 ;;;需載入K函數庫 (defun C:output-point-coordinates ( / ss file)     (princ "\n 選取點物件:")     (cond ((not (setq ss (ssget '((0 . "POINT"))))) (princ "\n 沒有選取點物件") );_ ((not(setq file (getfiled "輸出資料到" "" "txt" 1))) (princ "\n 沒有選擇儲存檔案。") );_ (T (k:file_write      file      (mapcar '(lambda (x)       (K:list-str-combine   (mapcar 'rtos (cdr (assoc 10 (entget x))))   ",")       ) (K:ss->list ss))) );_T );_cond   (princ)   );_end ;;;載入TXT檔案的點座標到圖面繪製點 ;;;作者:夜源 ;;;時間:2024/10/20 ;;;需載入K函數庫 (defun...

AutoCAD 將配置複製到另一個檔案

圖片
     很多時候會需要製作多個設定相同配置的檔案,而減少重複製作時間,就是從別的檔案複製過來。 方法一:設計中心(指令ADCENTER) 此方法優點:可以一次複製多個配置到目前檔案 而缺點:必須打開要從位置來源的檔案 另外,此方法也可以適用複製圖層、文字型式、線型....等 方法二:配置的從樣板 1.指令: layout 輸入配置選項 [複製(C)/刪除(D)/新建(N)/樣板(T)...... 選取[ 樣板(T) ] 或是對配置按 右鍵 -> 從樣板 2.選取複製來源檔案 3.選取要複製的配置(可複選) 此方法優點:可以一次複製多個配置到目前檔案,並不用打開來源檔案 而缺點: 方法三:LISP 此方法優點:可以一次複製多個配置,並不用打開來源檔案 而缺點:不能打開來源檔案 此程式修改一小部分也可以變成將配置複製到其他檔案 (defun c:layouts (/ fname)   (and (setq fname (getfiled "選取匯入配置來源的圖面" "" "dwg" 0))        (imp_layouts fname)        )   (princ)   ) (defun imp_layouts (source / *acad* doc l_import odbx Doctest       path lays l_list)   (vl-load-com)   (setq *acad* (vlax-get-acad-object) doc (vla-get-activedocument *acad*))   ;;**** 檢查來源檔案是否開啟   (vlax-for oDoc (vla-get-documents *acad*)     (if (= (vla-get-fullname oDoc) source)       (setq Doctest t)))   (if (and (not Doctest) (findfile source)) ...

AutoCAD LISP 列示輸出所有圖層名稱等資訊

圖片
利用函數 tblnext 指定 LAYER 來遍歷所有圖層 利用函數 while 循環到沒有圖層 不過要注意要修改圖層資料需要另外用函數 tblobjname  來得到圖層實體 因為函數 tblnext 只會得到簡短資訊,如下: _$ (tblnext "LAYER" T) ((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 . "Continuous")) 用函數 tblobjname  來得到圖層實體,如下: _$ (tblobjname  "LAYER" "0") <圖元名稱: 240c7544870> 程式碼範例: 1.在命令列顯示所有圖層名稱、顏色號碼、線型名稱 動畫展示 程式碼: (defun c:promptlayers ( / lay layname laycolor layLTYPE) ;;;https://eakyle.blogspot.com/   (prompt "\n圖層名稱,顏色索引,線型名稱") ; 寫入標題列   (while (setq lay (tblnext "LAYER" (not lay))) ; 遍歷所有圖層     (setq layname (cdr (assoc 2 lay))) ; 取得圖層名稱     (setq laycolor (cdr (assoc 62 lay))) ; 取得圖層顏色索引       (setq layLTYPE (cdr (assoc 6 lay))) ;線型名稱     (prompt (strcat "\n" layname "," (itoa laycolor) "," layLTYPE)) ; 寫入圖層資料   );_while   (princ) );_end 2.將所有圖層名稱、顏色號碼、線型名稱輸出到CSV檔 動畫展示 程式碼: (defun c:exportlayers ( / csvpath csvfile lay layname laycolor layLTYPE) ;;;;;;https://eak...

AutoCAD LISP 模型或配置出圖設定

  1. 使用"-plot"指令(前面有" - "是隱藏視窗) ;;;使用-PLOT指令出圖-詳細設定 (defun C:tt ( / ) (command "-PLOT" "Y" ;_詳細出圖規劃?[是(Y)/否(N)]: "" ;_輸入配置名稱或 [?] <模型>: "DWG To PDF.pc3" ;_輸入輸出設備名稱或 [?] <無>: "" ;_輸入圖紙大小或 [?] <ANSI A (11.00 x 8.50 英吋)>: "M" ;_輸入圖紙單位 [英吋(I)/公釐(M)] <公釐>: "L" ;_輸入圖面方位 [直式(P)/橫式(L)] <橫式>: "N" ;_上下顛倒出圖?[是(Y)/否(N)] <否>: "W" ;_輸入出圖範圍 [顯示(D)/實際範圍(E)/圖面範圍(L)/視圖(V)/視窗(W)] <顯示>: ;;下面點座標為選取出圖範圍是視窗的窗選才有 (getpoint) ;_輸入視窗的左下角點 <0.000000,0.000000>: (getpoint) ;_輸入視窗的右上角點 <0.000000,0.000000>: "F" ;_輸入出圖比例 (出圖 公釐=圖面單位) 或 [佈滿(F)] <佈滿>: "C" ;_輸入出圖偏移 (x,y) 或 [中心點(C)] <0,0>: "Y" ;_以出圖型式出圖?[是(Y)/否(N)] <是>: "" ;_輸入出圖型式表名稱或 [?] (輸入 . 代表無) <>: "Y" ;_以線粗出圖?[是(Y)/否(N)] <是>: "A" ;_輸入描影出圖設定 [依顯示(A...

AutoCAD LISP 讀取TXT檔的內容

圖片
 利用getfiled 選取檔案 open 開啟檔案 read-line讀取一行 while循環到沒有內容 close關閉檔案 以下是LISP範例: (defun C:tt ( / file fl fil )     (setq file (getfiled "選取檔案" "D:\\" "txt" 0)) ;_選取檔案     (setq fl (open file "r")) ;_開啟檔案     (while (setq fil (read-line fl)) ;_讀取一行並循環 (prompt "\n")(prompt fil ) ;_輸出 ) ;_end while     (close fl) ;_關閉檔案   (princ)   );_end 展示: 相關連結: AutoCAD 如何載入LISP open 指令介紹 (AutoLISP) AutoLISP 如何將CAD的內容導出到TXT或CSV

AutoCAD Lisp 使用接合(JOIN)卻無法接合

  問題: 在LISP內,用 command 使用 join (接合)指令 卻 沒有接合 !!! 類似有選取物件,卻判別非可接合物件 解決方式: 情況1: 在前面一行加入(initcommandversion) 例如:  (initcommandversion) (command "_.join" "_All" "") 情況2: 可能程式判別非共通直線上或重合 檢查線段點座標是否共通直線上或重合,或是檢查Z值不為0導致

AutoCAD 常見問題:圖塊無法使用現地編輯

圖片
問題: 圖塊無法使用現地編輯 顯示錯誤 指令: _refedit 在其他物件的參考中找到錯誤: ** 缺少應用程式參考: ACAD,到 AcDbLinetypeTableRecord。 原因: 該圖塊內含有其他應用程式或外掛產生的物件, 產生附加有延伸資料(XData),無法解析導致。 解決方式: 移除延伸資料(XData) 使用下面LISP,在 圖塊編輯內使用指令daa ,但 請注意他會刪除所有延伸資料(XData) (defun DelXdata (ent app / entlst tmplst)     (setq entlst (entget ent app))     (foreach memb (cdr (assoc -3 entlst)) (setq tmplst (cons -3 (list (cons (car memb) nil)))       entlst (subst tmplst (assoc -3 entlst) entlst)       entlst (entmod entlst)       ) )     ) (defun C:daa (/ curass countr)     (setq curass (ssget "X" '((-3 ("*"))))   countr 0   )     (if curass (repeat (sslength curass)     (DelXdata (ssname curass countr) '("*"))     (setq countr (1+ countr))     ) )     (princ)     ) 相關連結 AutoCAD 如何載入LISP

AutoCAD 如何依條件篩選物件

圖片
       有時會需要選取相同條件物件,會是複數條件的需求。下列介紹內建指令: 1. 選取類似物件(SelectSimilar) 在目前圖面中尋找符合所選物件性質的所有物件,然後將其加入至選集。 可以在設定選單選擇篩選條件:顏色/圖層/線型/線型比例/線粗/出圖型式/物件型式/名稱。 優點:可依據選取物件快速篩選 缺點:1.篩選條件過多時需要選取更多物件             2. 無法把多條件混合,例如:需求條件1圖層A+顏色A,條件2圖層B+顏色B,不會選取圖層A+顏色B或圖層B+顏色A            3. 會選取圖面內所有篩選條件範圍內物件 2.快速選取(Qselect) 可以依據指定物件類型或性質的條件建立選集。 優點:1. 可以從部分範圍內篩選。             2. 篩選條件比選取類似物件(SelectSimilar)多。 缺點:1. 一次只能篩選一種條件,多個條件需要多次使用來加入或移出選集 3.篩選(Filter) 建立篩選條件清單來選取物件。 優點:1. 可以建立複雜的條件清單,並可以儲存下次使用             2. 可以選取目前圖面物件來快速加入篩選性質條件             3. 可以使用萬用字元 缺點:1. 雖然可以選取目前圖面物件來快速加入篩選性質條件,但是會一次把選取物件多個性質一次加入,要事後刪除不要的性質 使用LISP: 1.運用ssget函數 例如:篩選圖層:"A"+顏色:黃色(2號) (ssget '((8 . "A")(62 . 2)))

AutoCAD LISP 匯出CAD中的填充線樣式

     想要在該CAD中的填充線樣式(HATCH PATTERN),可以使用LISP匯出填充線樣式的PAT檔案。 下載LISP連結 (更新) AutoCAD 如何載入LISP 使用方式: 載入GETPAT.LSP檔案後 輸入指令GETPAT 選取要匯出的填充線樣式的填充線 就會匯出到桌面或是C:\Users\[用戶名]\文件 如果已有相同名稱填充線樣式,會跳出選取覆蓋或插入 如何在填充線樣式中找到自訂樣式? 把自訂的填充線樣式放入CAD支援路徑中 參考來源 How to Export custom hatch pattern in AutoCAD, and also import it

AutoCAD LISP 將物件設定RGB色碼的顏色(True Color)

         想要設定超出原有的256色時就需要設定RGB色碼。 方法1:修改群組碼420 ;;;將RGB碼轉成群組碼420數值 ;;;作者:許昱凱 ;;;時間:2022/012/19 (defun k:RGB2ass420 ( rgbnum / )   (+ (* (car rgbnum) 256 256)      (* (cadr rgbnum) 256)      (caddr rgbnum))     );_end (defun c:tt (  / obj rgb ass420  )   (setq obj (entget(car(entsel))))   (setq rgb '(50 200 50) ass420 (k:RGB2ass420 rgb))   (if (assoc 420 obj)     (setq obj    (subst (cons 420 ass420)   (assoc 420 obj)   obj))     (setq obj    (append      obj      (list (cons 420 ass420))))       ) ;_if   (entmod obj)   (princ)       );_end 方法2:使用 vla 函數 ;;;設定物件RGB碼 ;;;作者:許昱凱 ;;;時間:2022/012/19 (defun K:ChangeTrueColor ( vla-obj color  / tru )   (if (listp color)     (progn       (setq tru (vla-get-truecolor vla-obj))   ...

AutoCAD LISP 修改圖塊內物件顏色及圖層

         通常畫機電繪圖的人,收到的建築底圖,通常會把顏色改成8號灰色當底圖色,但圖塊內物件不見得會是依圖層色,這導致改顏色困難。而且圖層多樣時也可以都改成圖層0。          而內建沒有比較快的方式,這時就靠LISP。 1.把圖塊內物件顏色都改成ByLayer(依圖層): (備註:如果圖層被鎖住要記得解鎖) (defun C:ChangeBlockColorByLayer (/ ss e blk doc)   (setq doc (vla-get-activedocument (vlax-get-acad-object)))   (if     (setq ss (ssget ":L" '((0 . "INSERT"))))      (repeat (setq i (sslength ss))        (setq e (vlax-ename->vla-object (ssname ss (setq i (1- i)))))        (setq blk (vla-item (vla-get-blocks doc) (vla-get-Effectivename e)) )        (vlax-for x blk (vla-put-color x 256) )        )      )   (vla-regen doc acAllViewports)   (princ)   ) 2.把圖塊內物件顏色都改成8號色(灰色): (備註:如果圖層被鎖住要記得解鎖) (defun C:ChangeBlockColor8 (/ ss e blk doc)   (setq doc (vla-get-activedocument (vlax-get-acad-object)))   (if    ...

AutoCAD 解決畫2D圖物件有Z值

         在畫平面圖時,發現有時線段無法圓角或倒角,或是指令測量線段長度出現奇怪長度,這可能是物件Z值不為0的情形導致。          這時請點選物件看性質(快捷鍵Ctrl+1)的點座標Z值是否為0,如果Z值不為0,就需要使用下列方法修正: 1.指令Change修改 缺點:無法修改不同高程物件,無法修改圖塊內的Z軸 指命: change --> 選取物件: --> P --> E 最後輸入 0 2.指令Move修改 缺點:無法修改圖塊內的Z軸 指命: 步驟1:MOVE,Enter。 步驟2:ALL,Enter。 步驟3:0,0,1e99,Enter,Enter。 步驟4:MOVE,Enter。 步驟5:P,Enter。 步驟6:0,0,-1e99,Enter,Enter。 指令巨集: ^C^C_SELECT;\_MOVE;_p;;;0,0,1e99;_MOVE;_p;;;0,0,-1e99; LISP版(建立記事本,改副檔名成LSP, 如何載入LISP ): ;;Z值歸零 ;;;分享於 eakyle.blogspot.com (defun C:z0 ()   (command "_.UCS" "") ;_恢復為預設坐標系   (command "_.move" "_all" "" "" '(0 0 1e99) "_.move" "_p" "" "" '(0 0 -1e99) ) ;_使Z值為0   (princ "\nZ值已歸零.")   (princ)   );_end 3.指令FLATTEN(Express 工具)修改          指令FLATTEN是將 3D 幾何圖形轉換為投影的 2D 表現法。使用它將所選取物件的厚度和高程強制設定為 0。          此指令可以將圖塊內物件也改變,但注意: 多個相同圖塊將變成個別獨立圖塊。(也就是每個同一種圖塊會重新命名成不同圖塊,請慎用。) 4.LISP (建立記事本,改副檔名成LSP, 如何載入LISP ) 可修改圖塊內物件 ...

AutoCAD 常用的圖塊統計方法

圖片
     在使用AutoCAD時,經常會使用許多圖塊,而如何統計圖塊數量,請參考下列方式: 1. 選取類似的(SelectSimilar) 1.1 可以使用右鍵 <選取類似的> 或是指令 <SelectSimilar> 1.2 可以在指令 <SelectSimilar> 中[設定(SE)]性質類似依據設定:顏色、圖層、線型、線型比例、線粗、出圖型式、物件型式、名稱。 缺點:不能只對局部圖面使用。 2. 快速選取(qselect) 2.1 使用指令 <qselect > 2.2 物件類型:圖塊參考,名稱:圖塊名 缺點:圖塊名不一定好記,圖塊太多會很難找到要找的圖塊名 3.篩選(Filter) 3.1 使用指令 <Filter > 3.2 點選<加入選取物件>產生選取物件性質,再刪除不要篩選的性質後,按下套用,選取物件 缺點:對動態圖塊使用,圖塊名稱為*U開頭,不同的狀態下*U後面的數字也不同,無法找到所有同個圖塊。 4. 資料萃取(Dataextraction) 缺點:不能只對局部圖面使用。 優點:設定過資料萃取樣板後,可快速下次使用。 5. COUNT 指令 - 計數(AutoCAD 2022 新功能) 官方在AutoCAD 2022 新增功能,可以計算圖塊數量,附帶偵測重疊圖塊顯示。 請參考 說明 。 備註:計數清單包括巢狀在其他圖塊中的圖塊。(巢狀是指圖塊中的圖塊) 可以對屬性圖塊、動態圖塊做分類統計數量。 可自訂區分類別:(可複選,名稱會以選擇項目中間用底線區隔) 一般圖塊:圖層、比例、鏡射狀態。 屬性圖塊:屬性定義名稱。 動態圖塊:動態圖塊的動態參數。 COUNTLIST - 開啟「計數」選項板,以檢視和管理計算的圖塊。 可顯示可能有該圖塊重疊、分解或更名的物件的組合。 6. BCOUNT (Express Tool) 於「選取物件」提示下,使用選取方式選取您要計算數量的圖塊,或直接按 Enter 以全選目前圖面中所有的圖塊。計算結果將顯示在指令行中。 範例輸出: Block.....Count --------------- CHAIR ....10 TABLE ....9 DESK .....4 備註:BCOUNT 不會選取或計算巢狀圖...