如何用autolisp獲取cad圖形文件中直線(xiàn)和多義線(xiàn)的圖層名

如何用autolisp獲取cad圖形文件中直線(xiàn)和多義線(xiàn)的圖層名?
用(cdr(assoc 8 (entget (car (entsel)))))就可以得到直線(xiàn)和其他實(shí)體的圖層名。
想要的程序是:點(diǎn)取一條直線(xiàn),得到該直線(xiàn)的層名,然后將該層所有直線(xiàn)的線(xiàn)寬改為某個(gè)值。我現(xiàn)在想要的是“點(diǎn)取直線(xiàn),獲得層名”這一步。
(setq lyname (cdr(assoc 8 (entget (car (entsel)))))) that's it!, What else d
(setq lyname (cdr(assoc 8 (entget (car (entsel)))))) that's it!, What else do you want?
繪圖過(guò)程中經(jīng)常會(huì)碰到這種情況:某個(gè)圖層已被“清空”,但卻無(wú)法將其刪除,究竟是什么回事?其實(shí),圖層中還可能含有不可見(jiàn)的實(shí)體。例如,使用mtext命令輸入一連串空格,即產(chǎn)生一個(gè)不可見(jiàn)實(shí)體。在實(shí)際繪圖中,我們當(dāng)然不會(huì)特意去建立這樣的實(shí)體,但無(wú)意的操作或者ACAD應(yīng)用程序的運(yùn)行都有可能產(chǎn)生“副產(chǎn)品”,要?jiǎng)h除這些不可見(jiàn)實(shí)體,如果單靠現(xiàn)成的ACAD命令是難以完成的,必須借助程序來(lái)進(jìn)行,下面的程序能夠刪除指定圖層內(nèi)的一切簡(jiǎn)單實(shí)體,從而能讓用戶(hù)進(jìn)一步使用layer或purge命令來(lái)刪除圖層。
需要注意的是,個(gè)別圖層即便使用下列程序處理后,仍可能關(guān)聯(lián)其他對(duì)象(注意,對(duì)象的概念較實(shí)體廣得多,包括標(biāo)注樣式等非實(shí)體對(duì)象)而不能被刪除,除非指定的圖層不再關(guān)聯(lián)圖塊或者不含有任何用戶(hù)定義的標(biāo)注樣式。這些圖層是:
1.被塊定義參照的圖層,如a層含有一個(gè)圖塊,塊內(nèi)某條線(xiàn)屬于b層;
2.名字為 DEFPOINTS 的特殊圖層(為某個(gè)標(biāo)注樣式所用)。
程序清單如下:
(defun c:de(/ et ln lay_name ss li)
(princ "刪除指定圖層內(nèi)的實(shí)體\n")
(setq li (entsel"\n請(qǐng)選擇指定圖層內(nèi)的任何一個(gè)實(shí)體<回車(chē)直接輸入層名>:"))
(if li
(progn ;選擇一個(gè)實(shí)體
(setq et (entget(nth 0 li)))
(setq lay_name (cdr (assoc 8 et)))
)
(progn ;直接輸入層名,理想的辦法是采用列表框選擇,大家可以自己試試。
(princ"輸入層名:")
(while (= ln nil)
(setq lay_name (getstring))
(setq ln (cdr (assoc 2 (tblnext "layer" t))))
(while (and ln (/= ln "%") )
(if (/= ln lay_name)
(setq ln (cdr (assoc 2 (tblnext "layer"))))
(setq ln "%")
;如指定的圖層名已存在,則設(shè)“%”標(biāo)志
)
)
(if (/= ln "%") ;錯(cuò)誤處理
(princ"指定的圖層不存在,請(qǐng)重新輸入:")
)
)
)
)
(setq ss (ssget "X"(list(cons 8 lay_name)))) ;構(gòu)造選擇集
(COMMAND "-layer" "u" lay_name "") ;圖層解鎖
(COMMAND "ERASE" ss "") ;清除所有實(shí)體
(princ "\n清除完畢!")
(princ)
)
;程序結(jié)束
相關(guān)文章
只需3步! DeepSeek配合Xmind自動(dòng)生成思維導(dǎo)圖詳細(xì)指南
最近,DeepSeek可謂是風(fēng)靡全網(wǎng),無(wú)數(shù)小伙伴體驗(yàn)后都贊不絕口,直呼太好用了!不過(guò),很多小伙伴也提出了一個(gè)很實(shí)用的問(wèn)題:如何結(jié)合XMind打造思維導(dǎo)圖的超酷組合?詳細(xì)請(qǐng)看2025-02-25- 很多朋友在問(wèn)美圖秀秀模板拼圖白色邊框怎么去掉,其實(shí)方法很簡(jiǎn)單哦,下面我們分享兩種方法,詳細(xì)入下2025-01-22
Blender初學(xué)者必備的10個(gè)基礎(chǔ)技巧
Blender作為一款強(qiáng)大的3D建模軟件,內(nèi)置了許多實(shí)用的小技巧,讓創(chuàng)作過(guò)程更加高效,以下是其中10個(gè)不可或缺的快捷操作,詳細(xì)請(qǐng)看下文介紹2024-10-17用Blender手搓P(guān)S5 Pro? 從建模到渲染的全攻略
索尼推出的PS5 Pro引發(fā)了游戲圈的熱議,盡管其昂貴的價(jià)格備受爭(zhēng)議,但妥妥的科技魅力吸引了大批玩家的關(guān)注,今天,我們就來(lái)探討如何使用Blender這款免費(fèi)開(kāi)源的3D建模軟件,2024-10-17浩辰CAD圖紙?jiān)趺刺砑犹畛鋱D案? CAD圖案填充操作詳解
圖案填充是一種常用的功能,用于在指定區(qū)域內(nèi)填充不同的圖案或顏色,以增強(qiáng)圖形的可讀性和美觀(guān)度,本文將詳細(xì)介紹如何在CAD中進(jìn)行圖案填充操作2024-10-02cad怎么畫(huà)逼真的草莓模型? 浩辰cad建模三維立體3D草莓的技巧
很喜歡吃草莓,想要使用cad建模一款立體漂亮且逼真的草莓模型,該怎么建模呢?下面我們就來(lái)看看cad畫(huà)草莓的方法2024-10-02怎能用cad設(shè)計(jì)玫瑰花和愛(ài)心圖案? 浩辰CAD建模玫瑰與愛(ài)心的技巧
很喜歡玫瑰與愛(ài)心,想要自己設(shè)計(jì)一款唯一的圖紙送給那個(gè)ta,該怎么繪制呢?下面我們就來(lái)看看使用浩辰cad繪制愛(ài)心和玫瑰的技巧2024-10-023D標(biāo)準(zhǔn)件螺栓太長(zhǎng)或太短怎么辦? 浩辰cad調(diào)整3d標(biāo)準(zhǔn)件螺栓長(zhǎng)短的技巧
cad圖紙繪制的時(shí)候,直接插入3D標(biāo)準(zhǔn)件螺栓發(fā)現(xiàn)長(zhǎng)度不合適,該怎么調(diào)節(jié)長(zhǎng)短呢?下面我們就來(lái)看看使用浩辰cad調(diào)整3d標(biāo)準(zhǔn)件螺栓長(zhǎng)短的技巧2024-10-02用浩辰CAD如何畫(huà)立交橋? 一文講透CAD立交橋設(shè)計(jì)技巧
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,CAD軟件已經(jīng)成為道路橋梁設(shè)計(jì)中不可或缺的工具,如何用CAD軟件畫(huà)立交橋呢?浩辰CAD這兩個(gè)步驟幫你輕松搞定2024-10-02CAD工程圖丟失鏈接怎么辦? 浩辰cad高效重新鏈接參考的解決技巧
浩辰cad中的工程圖紙丟失了參考鏈接,該怎么重新找回呢?下面我們就來(lái)看看參考鏈接丟失原因以及解決辦法2024-09-30