西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页西西教程其它教程 → 使用Autolisp删除Autocad指定图层内的实体

使用Autolisp删除Autocad指定图层内的实体

相关软件相关文章发表评论 来源:西西整理时间:2014/2/17 10:58:37字体大小:A-A+

作者:西西点击:244次评论:0次标签: lisp

LispLinkV16.02汉化绿色版
  • 类型:编程工具大小:949KB语言:中文 评分:5.0
  • 标签:
立即下载

如何用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)
                           (setq ln (cdr (assoc 2 (tblnext "layer"))))
                           (setq ln "%") 
                           ;如指定的图层名已存在,则设“%”标志
                        )
                )
               (if (/= ln "%") ;错误处理
                   (princ"指定的图层不存在,请重新输入:")
                )
         ) 

    ) 
)
(setq ss (ssget "X"(list(cons 8 lay_name)))) ;构造选择集
(COMMAND "-layer" "u" lay_name "")           ;图层解锁
(COMMAND "ERASE" ss "")                      ;清除所有实体
(princ "\n清除完毕!")
(princ)
)

;程序结束

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)