国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > CAD > 正文

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

2024-07-16 17:16:26
字體:
來源:轉載
供稿:網友

如何用autolisp獲取cad圖形文件中直線和多義線的圖層名?
用(cdr(assoc 8 (entget (car (entsel)))))就可以得到直線和其他實體的圖層名。
想要的程序是:點取一條直線,得到該直線的層名,然后將該層所有直線的線寬改為某個值。我現在想要的是“點取直線,獲得層名”這一步。

(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?   
繪圖過程中經常會碰到這種情況:某個圖層已被“清空”,但卻無法將其刪除,究竟是什么回事?其實,圖層中還可能含有不可見的實體。例如,使用mtext命令輸入一連串空格,即產生一個不可見實體。在實際繪圖中,我們當然不會特意去建立這樣的實體,但無意的操作或者ACAD應用程序的運行都有可能產生“副產品”,要刪除這些不可見實體,如果單靠現成的ACAD命令是難以完成的,必須借助程序來進行,下面的程序能夠刪除指定圖層內的一切簡單實體,從而能讓用戶進一步使用layer或purge命令來刪除圖層。
需要注意的是,個別圖層即便使用下列程序處理后,仍可能關聯其他對象(注意,對象的概念較實體廣得多,包括標注樣式等非實體對象)而不能被刪除,除非指定的圖層不再關聯圖塊或者不含有任何用戶定義的標注樣式。這些圖層是:
1.被塊定義參照的圖層,如a層含有一個圖塊,塊內某條線屬于b層;
2.名字為 DEFPOINTS 的特殊圖層(為某個標注樣式所用)。
程序清單如下:
(defun c:de(/ et ln lay_name ss li)
(princ "刪除指定圖層內的實體/n")
(setq li (entsel"/n請選擇指定圖層內的任何一個實體<回車直接輸入層名>:"))
(if li
    (progn ;選擇一個實體
         (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)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉木萨尔县| 四子王旗| 湄潭县| 镇安县| 宁明县| 肥西县| 韶关市| 顺义区| 林周县| 汤原县| 女性| 安阳市| 普定县| 贵阳市| 四平市| 连江县| 汾阳市| 顺义区| 普安县| 平湖市| 论坛| 义马市| 宜兴市| 阿瓦提县| 靖远县| 永胜县| 扬州市| 大荔县| 蓬莱市| 湖州市| 临洮县| 疏附县| 延津县| 清涧县| 象山县| 綦江县| 兴和县| 精河县| 张家界市| 江永县| 桃园市|