發表文章

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

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 匯出圖片方法整理

 有時候會做簡報或是跟業主或同事溝通,想要簡單快速顯示想表達圖面的部分,通常會想用圖片呈現,但是不同方法又有不同優缺點,在此做些列出並比較。 一、指令輸出法(OUT系指令) 使用內建指令輸出圖片檔案。 可選檔案格式:JPG、PNG、BMP、TIF、WMF......等多種。 使用指令: BMPOUT 指令:將選取的物件儲存至獨立設備點陣圖格式(BMP檔)的檔案中。 JPGOUT 指令:將選取的物件儲存為 JPEG 檔案格式的檔案。 TIFOUT 指令:將選取的物件以 TIFF 檔案格式儲存至檔案。 PNGOUT 指令:將選取的物件儲存為可攜式網路圖形格式(PNG檔)的檔案。 WMFOUT 指令:將選取的物件儲存至 Windows 中繼檔(WMF檔)。(背景為透明)(會建立包含向量資料和 TrueType 字體) PSOUT 指令:從 DWG 檔建立 PostScript 檔案。 EXPORT 指令:將選取的物件儲存為其他檔案格式。(在儲存視窗選擇儲存格式) 使用方法:使用指令後,出現視窗選擇儲存位置及檔名後,選取要輸出物件,即可輸出檔案。 優點: 1. 可以快速輸出圖片檔案。             2. 可以選取需要的物件輸出。(未被選取不會輸出)             3. 選擇Windows 中繼檔(WMF檔)可以背景為透明。 缺點: 1. 此方法是類似 CAD 顯示畫面擷取,導致物件大小會跟顯示畫面內的物件相關             2. 匯出圖片長寬比跟顯示畫面相同             3. 匯出圖片會有選取的物件範圍旁容易有留白問題(不會因為選取的物件而裁減)             4. 在模型使用會有背景是黑色問題(WMF檔例外)             5. 無法使用類似出圖型式表(.ctb)來快速轉換替代色(例如:黃色轉黑色) 二、列印輸出法(PLOT指令) 使用...

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 模型或配置出圖設定

  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 約束參數 顯示 隱藏 刪除

  DCDISPLAY (指令):將選取物件選集顯示或隱藏與物件選集相關聯的動態約束。 DELCONSTRAINT (指令):從選取物件的選集中移除所有幾何圖形和尺度約束。

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

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

AutoCAD 多重引線文字對齊排列教學

圖片
 如何使用內建指令把多重引線文字對齊並排列 使用指令 mleaderalign 可以設定對齊方式:分散對齊(D)/使引線線段平行(P)/指定間距(S)/使用目前的間距(U) (文字對齊textalign使用方式相同) 1. 分散對齊 可以讓在選定距離內分散對齊 2. 使引線線段平行 會使第一引線線段平行,但文字不會對齊 3. 指定間距 可以指定對齊之間的間距距離 4. 使用目前的間距 使用原本間距來對齊

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. 設定 FILLMODE=1 方法2. 在某些 視埠 才出現,是因為視圖不是 上視圖 ,而是 自訂視圖 方法3. 一樣左上角, 視覺樣式 ,改回 2D線架構 可能被改成 線架構 或 隱藏 的 視覺樣式

AutoCAD 常見問題:原本指令有視窗選擇變成在指令列上輸入

圖片
 問題:原本指令有視窗選擇(對話視窗)變成在指令列上輸入 常見於:開啟檔案....有對話框出現的指令 或是選取替代字型時 解決方式:在指令列輸入 FILEDIA (系統變數) ,如果是 0 請改成 1 ,就可恢復出現視窗 。 系統變數 FILEDIA 功能是抑制檔案導覽對話方塊的顯示。 FILEDIA=0,不顯示對話方塊。在回應指令提示時輸入波狀符號 (~),仍然可以顯示檔案對話方塊。 FILEDIA=1,顯示對話方塊。 其他系統變數也會影響對話方塊的顯示: ATTDIA 控制 INSERT 指令是否使用對話方塊來輸入屬性值。 CMDNAMES 顯示目前作用中的指令與透通指令的名稱 (英文)。 EXPERT 控制是否顯示某些警告對話方塊。 HPDLGMODE 可控制「填充線與漸層」對話方塊和「填充線編輯」對話方塊的顯示。 知識補充: 有些功能既可以在指令行使用,也可以在對話方塊內使用。 在許多情況下,您可以在指令前面輸入一個連字符號( - )來限制對話方塊,並改為在指令行上顯示提示。 例如:在指令行中輸入 layer ,將顯示圖層性質管理員。在指令行中輸入 -layer ,將顯示對等的指令行選項。 抑制此對話方塊有助於與舊版 AutoCAD 應用程式相容及使用腳本檔。 在對話方塊的選項與指令行的選項之間,可能會有些許差異。

AutoCAD 常見問題: 標註後會被自動分解

圖片
發現問題: 1.在使用標註後發現標註被自動分解了。 解決方法: 1. 使用DIMASSOC (系統變數),設定2。(會自動分解的話是設定0) 此系統變數控制標註物件的關聯性以及是否會分解標註。 數值 功能 0 建立分解的標註。標註的不同元素之間沒有關聯。 標註的線、弧、箭頭和文字都繪製成個別的物件。 1 建立非關聯式標註物件。標註的各種元素被組成一個單一的物件。 如果標註的其中一個定義點移動,則標註將更新。 2 建立關聯式標註物件。標註的各種元素被組成一個單一的物件, 且該標註的一個或多個定義點與幾何物件上的關聯點相聯結。 如果幾何物件上的關聯點移動,則標註位置、方位與值都將更新。

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 常見解決檔案異常大的方法

檔案異常大有很多原因: 1.未使用物件過多(例如圖塊、線型...等) 使用 PURGE 指令來清除未使用物件 2.DGN線型問題 這也有可能造成開啟檔案變慢(開啟檔案超過3分鐘有可能是此問題) 此需要用外掛來清除 (因為 PURGE 指令無法清除) 關於AutoCAD DWG檔案異常容量變大 關於AutoCAD DWG檔案異常容量變大-II 3.錯誤的圖層過濾器 使用-LAYER指令清除 新版本有異常以會跳出提醒是否清除 [教學]錯誤的圖層過濾器-造成檔案異常容量變大 4.錯誤的註解比例(比例清單) 新版本有異常以會跳出提醒是否清除 [教學]錯誤的註解比例(比例清單)-造成檔案異常容量變大