AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

Join the forum, it's quick and easy

AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[討論]圖層轉線型後換圖層改顏色 Ioaoe110[討論]圖層轉線型後換圖層改顏色 2020-310[討論]圖層轉線型後換圖層改顏色 Oiu15010[討論]圖層轉線型後換圖層改顏色 2020-211[討論]圖層轉線型後換圖層改顏色 Ia15010[討論]圖層轉線型後換圖層改顏色 Aizyao10[討論]圖層轉線型後換圖層改顏色 Uos15010[討論]圖層轉線型後換圖層改顏色 BPl3tjj[討論]圖層轉線型後換圖層改顏色 Ziao1510
[討論]圖層轉線型後換圖層改顏色 Oo-2-110[討論]圖層轉線型後換圖層改顏色 Zuoiy_10[討論]圖層轉線型後換圖層改顏色 Aizyao11[討論]圖層轉線型後換圖層改顏色 Iyb_1510[討論]圖層轉線型後換圖層改顏色 Aoe1-111[討論]圖層轉線型後換圖層改顏色 Uos15011[討論]圖層轉線型後換圖層改顏色 Aoe2da10[討論]圖層轉線型後換圖層改顏色 Aoe2da11[討論]圖層轉線型後換圖層改顏色 Aoe10

[討論]圖層轉線型後換圖層改顏色

向下

[討論]圖層轉線型後換圖層改顏色 Empty [討論]圖層轉線型後換圖層改顏色

發表 由 wuwubaibai 2020-04-27, 23:51

請問各位大大從CREO轉CAD圖層
如CREO轉到cad圖層為1.UP 2.DOWN 3.0 4.AXIS
其中要先由圖層改線型 圖層 1.UP 線型要改為 UP_LINE(自定義的) 後圖層自動轉換為BLOCK 顏色變為黃色
圖層 2.DOWN 線型要改為 DOWN_LINE(自定義的) 後圖層自動轉換為BLOCK 顏色變為13
圖層 3.0 線型要改為 BYLAER 後圖層不變 顏色為BYLAER
圖層 4.AXIS 線型要改為 BYLAER 後圖層自動轉換為bend 顏色為BYLAER
小弟完全不會LISP 故爬文了許久找到以下比較接近的lisp
參考自 https://blog.xuite.net/yakuei88/twblog/129509936-%E8%AE%8A%E6%9B%B4%E5%9C%96%E5%B1%A4
變更圖層lisp
(defun C:CL()
; 2005.04.23 YA-KUEI 2005.12.09 REV01
; 程式功能 : 變更圖層
; WHITE -> 1
; YELLOW -> 2
; CYAN -> 0
; RED -> 3

(setvar "cmdecho" 0)
(command ".-layer" "N" "0,1,2,3" "c" "CYAN" "0" "c" "WHITE" "1" "c" "YELLOW" "2" "c" "RED" "3" "")
(setvar "CLAYER" "0")

(setq a (ssget "X" '((8 . "WHITE"))))
(if a
(command "change" a "" "p" "La" "1" "") ;直接把"CHANGE"這個指令的順序寫成LISP語法就成了
)
(setq a (ssget "X" '((8 . "YELLOW"))))
(if a
(command "change" a "" "p" "La" "2" "")
)
(setq a (ssget "X" '((8 . "CYAN"))))
(if a
(command "change" a "" "p" "La" "0" "")
)
(setq a (ssget "X" '((8 . "RED"))))
(if a
(command "change" a "" "p" "La" "3" "")
)

(command ".-purge" "A" "*" "N")
(princ)
)

第二個是在討論區找到的資料

(defun c:CD ()
(setvar "CmdEcho" 0)
(CClay "DIM標註" 3 "DIMENSION") ;; 這句表示:將DIMENSION標注 物件歸類到 3 綠色 ,圖層 DIM
(CClay "Text" 1 "Text");; 這句表示:將 Text單行文字 物件歸類到 1 紅色 , 圖層 Text
(CClay "MText" 1 "Mtext");; 這句表示:將 MText多行文字 物件歸類到 1 紅色 , 圖層 MText
(CClay "Dim標註" 3 "Leader");; 這句表示:將 Leader引線 物件歸類到 3 綠色 , 圖層 Dim
(CClay "Hatch填充線" 55 "Hatch");; 這句表示:將 Hatch填充線 物件歸類到 55 褐色 , 圖層 Hatch填充線

(setvar "CmdEcho" 1)
(prompt "\n 自動歸類圖層已完成,請看圖層。")
(princ)
)


;;************CClay (使用者勿修改副程式)******************
(defun CClay (layname cc sObjTyp) ;;; layname 是圖層名稱,CC 是指訂圖層顏色,sObjtype 是物件類別(群碼索引值為 0)
(if (= nil (tblsearch "layer" layname))
(command "-layer" "n" layname "c" cc layname "")
)
(setq SS (ssget "x" (list (cons 0 sObjTyp) (cons 410 "Model"))))
(if (and (/= nil ss) (/= 0 (sslength SS)))
(command "chprop" SS "" "la" layname "")
)

(princ)
)

;;----------------------------------------------------------------------;;

(vl-load-com)
(princ)
(princ "\n:: CD.lsp | 作者不明 ::")
(princ "\n:: 說明: 陳建余 2017-01-26 ::")
(princ "\n:: 代碼 \"CD 自動歸類圖層\" ::")
(princ)

;;----------------------------------------------------------------------;;
;; End of File ;;
;;----------------------------------------------------------------------;;

以上想把兩個合併~因為自己不會lisp只好卯起來亂寫~請大大們幫幫小弟感恩~附上以下我混和的lisp讓大大們見笑了
(defun c:CD ()
(setvar "CmdEcho" 0);關閉指令回應
(setvar "CLAYER" "0") ;設定當前圖層為0層
(CClay "block" 3 "UP"CONTINUOUS") ;;; 這句表示:將UP 物件歸類到 3 綠色 ,圖層 block ,線型 CONTINUOUS
(CClay "Text" 1 "Text"bylayer");; 這句表示:將 Text單行文字 物件歸類到 1 紅色 , 圖層 Text
(CClay "MText" 1 "Mtext"bylayer");; 這句表示:將 MText多行文字 物件歸類到 1 紅色 , 圖層 MText
(CClay "Dim標註" 3 "Leader"bylayer");; 這句表示:將 Leader引線 物件歸類到 3 綠色 , 圖層 Dim
(CClay "Hatch填充線" 55 "Hatch"bylayer");; 這句表示:將 Hatch填充線 物件歸類到 55 褐色 , 圖層 Hatch填充線
(CClay "temp" byLayer "insert"bylayer");; 這句表示:將插入圖塊歸類到 byLayer , 圖層 temp

(setvar "CmdEcho" 1) ;開啟指令回應
(prompt "\n 自動歸類圖層已完成。")
(princ)
)

;;************CClay (使用者勿修改副程式)******************
(defun CClay (layname cc sObjTyp litp) ;;;; layname 是圖層名稱,CC 是指訂圖層顏色,sObjtype 是物件類別(群碼索引值為 0),litp 是指訂線型
(if (= nil (tblsearch "layer" layname)) ; 判定圖層名稱是否存在
(if (= nil (tblsearch "LINETYPE" )) ; 判定線型是否存在
(command "-layer" "n" layname "c" cc layname ""l"litp layname "") ;;;; 執行-layer,建立圖層,建立顏色,建立線型
)
(setq SS (ssget "x" (list (cons 0 sObjTyp) (cons 410 "Model") (0. "*"))))
(if (and (/= nil ss) (/= 0 (sslength SS)))
(command "chprop" SS "" "la" layname ""lt"layname "") ;變更變數(SS)物件性質的圖層名稱及線型名稱
)
(command ".-purge" "A" "*" "N") ; 清空未用圖層
(princ)
)


wuwubaibai
wuwubaibai
一般會員
一般會員

文章總數 : 69
年齡 : 41
來自 : 彰化市
職業 : 板金
愛好 : 電腦
個性 : 外向
使用年資 : 4
使用版本 : 2010
經驗值 : 4027
威望值 : 0
注冊日期 : 2014-04-18
男 獅子座 狗

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[討論]圖層轉線型後換圖層改顏色 Ioaoe110[討論]圖層轉線型後換圖層改顏色 2020-310[討論]圖層轉線型後換圖層改顏色 Oiu15010[討論]圖層轉線型後換圖層改顏色 2020-211[討論]圖層轉線型後換圖層改顏色 Ia15010[討論]圖層轉線型後換圖層改顏色 Aizyao10[討論]圖層轉線型後換圖層改顏色 Uos15010[討論]圖層轉線型後換圖層改顏色 BPl3tjj[討論]圖層轉線型後換圖層改顏色 Ziao1510
[討論]圖層轉線型後換圖層改顏色 Oo-2-110[討論]圖層轉線型後換圖層改顏色 Zuoiy_10[討論]圖層轉線型後換圖層改顏色 Aizyao11[討論]圖層轉線型後換圖層改顏色 Iyb_1510[討論]圖層轉線型後換圖層改顏色 Aoe1-111[討論]圖層轉線型後換圖層改顏色 Uos15011[討論]圖層轉線型後換圖層改顏色 Aoe2da10[討論]圖層轉線型後換圖層改顏色 Aoe2da11[討論]圖層轉線型後換圖層改顏色 Aoe10