1樓:朱正偉
;一鍵,所有圖元顏色隨層顏色
(defun c:tes ( / block e obj ss)
(if (null vlax-dump-object) (vl-load-com) )
(if (setq ss (ssget "x"))
(progn
(vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
;; 塊定義內實體
(vlax-for block (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
(vlax-for obj block
(vla-put-color obj 256)))
(while (setq e (ssname ss 0))
(setq ss (ssdel e ss) obj (vlax-ename->vla-object e))
(vla-put-color obj 256)))
)(princ))
cad裡怎麼用lisp調出圖層管理器中的圖層過濾器,並且批量更改過濾出來的圖層顏色、凍結狀態?
2樓:匿名使用者
acaddoc.layers.count----得到圖中所有的圖層 的總層數
遍歷所有的層
某一層 lll=acaddoc.layers.item i------也就是得到第i層
用--lll.name----得到某一層的層名
通過比較 如果該層正是 你想要改顏色的那個 層,那就用 lll.turecolor ---來設定層的顏色
------------------對了,前提是圖中所有圖元的顏色都是"bylayer"--也就是「隨層」
3樓:人生丶也多礁
賤人工具箱不行嗎?圖層功能很強大了啊
cad 如何用lisp實現如圖層一到二十,把全部圖層變成8號色?然後其中的某個圖層為紅色
4樓:朱正偉
(defun c:tes ( / n tr)(setq n 0)
(while (< (setq n (1+ n)) 21)(setq tr (rtos n 2 0))(if (null (tblsearch "layer" tr))(entmake (list '(0 . "layer") '(100 . "acdbsymboltablerecord") '(100 .
"acdblayertablerecord") (cons 62 8) '(70 . 0) (cons 2 tr)))
);圖層**;62顏色,負值為關閉圖層;;290不列印0;列印1;;;370線寬0;預設線寬-3;;;70圖層可見0;凍結1+鎖定4
)(princ)
);複製到記事本,以【.lsp】為字尾命名,載入到cad,命令為【tes】(可以自己修改)
5樓:匿名使用者
程式設計思路如下:
1、介面上放兩個按鈕,
2、其中一個按鈕用來定義哪些層需要變成紅色的,裡邊讓使用者輸入字串,比如:aaa,bbb,,也就是定義為 aaa層與bbb層 將變成紅色,其它所有層變為8號色
3、另一個按鈕用來執行任務
遍歷所有圖層,將圖層名稱 逐一 與定義的字串比較,如果相同 則設為紅色,否則設為8號色---------------------------圖中 層的總個數 layers.count
------------------------------某一層 layerx= layers.item i
------------------------某一層的層名 :layerx.name
------------------改某一層 顏色用 layerx.truecolor tcolor
-------truecolor設定起來有點難度哦,你多想想
cad中,如何使用lisp進行qselect操作。有幾個引數,圖層,顏色??請大俠不 5
6樓:
如果文字的顏色是隨層,你就直接設定圖層顏色好了,如果不是隨層的話,那就需要想辦法將這些文字選出來,然後改顏色,你可以試試快速選擇qselect
7樓:秋水
感覺應該差不多是這樣,我也除錯不出來,如果用visual lisp應該可以
(command "qselect" "layer" "beam")
cad中用lisp程式實現批量偏移複製,並要求偏移好的線變色?
8樓:匿名使用者
能說明輸入什麼樣的引數
輸出什麼樣的圖形?
變色希望是什麼效果的?
(setq cs (getvar "osmode"))
(setvar "osmode" 0 )
(setq n1 (getint "\n個數:"))
(setq d1 (getint "\n間距:"))
(setq ent1 (car (entsel "\n選取圖元:")))
(setq p1 (getpoint "\n指定要偏移的那一側上的點:"))
(setq n 1)
(repeat n1
(command "offset" d1 ent1 p1 "e" )
(setq ent1 (entget (entlast)))
(setq ent1 (subst (cons 62 n) (assoc 62 ent1) ent1 ))
(entmod ent1)
(setq n (1+ n))
(setq ent1 (entlast))
)上面是基本意思,前提是原圖形的顏色不是隨層的,點選那一側上的點時儘量遠,因為這個點沒有隨著增加的線自動變化。
9樓:匿名使用者
不必非要用lisp程式,直接offset好了。
10樓:匿名使用者
看不懂,建議選相關參考書學習。
cad二次開發proe工程圖轉cad用一個鍵將裡面的東西分到各圖層,線型,顏色需隨層,請教高手該lisp程式格式. 20
11樓:匿名使用者
是不是想把proe轉到cad的工程圖,按照不同的線型、顏色,
(依據對照表,把不同的顏色線形的物件放置到不同的圖層中去)
類似「自動分類」?
autocad, 用lisp怎麼把block裡面的圖層轉換成0圖層,並且block裡面的圖層顏色是set by layer? 5
12樓:小白天然呆呀
見過類似的外掛。我只會用不會寫。。
如果你只是為了用這功能,可以搜**外掛 。
如果你是要知道 如何寫**。你或者聯絡那外掛設計者。
cad裡用lisp寫命令建圖層畫線
13樓:朱正偉
(if (null (tblsearch "layer" "圖層名稱"))
(entmake (list'(0 . "layer")'(100 . "acdbsymboltablerecord")'(100 .
"acdblayertablerecord") '(6 . "center") '(62 . 1) '(370 .
0) '(70 . 0) '(290 . 1) '(2 .
"圖層名稱")))
;6組碼【線型】,62組碼【顏色】,370組碼【線寬】,70組碼【可見】,290組碼【列印】,2組碼【圖層名稱】
);autolisp建立圖層
如何用cad算房間面積,如何用CAD算房間面積?
首先把你要計算的房間,外框用多義線 pl 畫成一個整體,輸入查詢面積輸令 aa 回車,輸入o選取已畫好的外框多義線,此時在命令欄內會自動彈出面積 周長,這就是你想要的面積了。 在cad中做個面積標註屬性塊,再將屬性與圖形關聯,就可以幫你自動計算面積 自動標註面積數值,當圖形形狀改變時面積值也將自動改...
如何用CAD繪製動物的圖案,如何用CAD繪製一個動物的圖案
1 首先將cad這款軟體開啟,然後在該介面內找到圓弧選項,2 選擇圓弧選項在繪圖區裡繪製出小豬佩奇的頭部圖形,3 再在繪圖區裡找到圓形命令選項,4 選擇圓形命令我們繪製出小豬的眼睛和鼻孔5 在選擇圓弧選項我們繪製出小豬的佩奇的兩隻耳朵,和嘴巴,6 再次使用圓弧命令繪製出小豬佩奇的身體,然後選擇直線將...
如何用cad畫施工總平面圖,如何用CAD畫施工總平面圖
和畫別的圖沒區別的,你先把總平圖的要點弄明白吧 用cad畫總平面圖?怎麼畫? 戲蕾孟雲 把你的區域性點和碎步點座標輸入進去,之後運用直線命令連線就行啦, 呼丹樊初夏 掌握cad的基本命令,什麼平面圖都可以畫。如果你指的是 建築平面圖 的話,可以裝一款 建築軟體 例如浩辰建築 天正建築。如何用cad畫...