如何用autolisp获取cad图形文件中直线和多义线的图层名

如何用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)
)
;程序结束

(0)

相关推荐

  • 如何用CAD修剪多余直线

    给大家介绍个如何用CAD修剪多余直线的方法,希望能帮到大家. 操作方法 01 首先,鼠标双击左面上的CAD快捷键. 02 打开CAD后,鼠标移动到左上角的直线符号,点击它. 03 在CAD中随意画一条 ...

  • cad中直线等分的两种方法

    cad中直线等分的两种方法,一是给直线平均等分:一是给直线按指定距离来分,简单来介绍下步骤: 已知一条直线 01 如下图,有一长度为100的已知直线. 按平均长度等分 01 输入快捷命令"d ...

  • CAD中如何将直线变为点画线

    初学者在学CAD时,构图时常常需要画点画线,那么如何将CAD的直线变为点画线,这困扰了一些初学者,我将一一道来. 操作方法 01 首先打开CAD,单击直线工具,或按快捷键L并回车,画两条相互垂直的直线 ...

  • 电脑CAD软件中各建筑图纸之间的坐标如何转换

    有的小伙伴在电脑上使用CAD软件制作建筑图纸时,需要将各建筑图纸之间的坐标进行转换,但是却不知道如何进行操作,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,双击或者右击打开CAD软件.2. 第 ...

  • 如何用电脑打印CAD图纸

    CAD是现在十分常用的一款制图软件,有些新用户不知道如何用电脑打印CAD图纸,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步找到并双击想要打印的CAD图纸,在弹出的窗口中根据下图 ...

  • 怎样在CAD软件中设置通过辅助线来进行图形定点绘制操作?

    关于在CAD软件中设置通过辅助线来进行图形定点绘制操作的方法见下面介绍:第一步:打开电脑中的CAD软件,然后使用直线命令画出一条直线.第二步:现在需要按下键盘上的空格键再输入如图所示的指令,进行圆的的 ...

  • 如何用js获取input的值

    如何用js获取input输入框的内容 操作方法 01 如图所示,[右键单击项目],选择[添加新项],先添加一个页面. 02 然后在弹出来的窗体,选择Web窗体,点击添加进入下一步. 03 接着输入图中 ...

  • cad图纸中桥架在剖面图怎么看

    CAD作图中桥梁是比较特殊的一种,因为有双线在看图纸的过程中很容易造成误解,其实最大的技巧就是双线当做单线来看,今天给大家分享一下具体如何操作. 操作方法 01 首先找到一幅里边有桥梁的CAD图纸,如 ...

  • CAD怎么画直线,怎么画固定长度直线

    在职场的工作人员,你们几乎每天都会接触各色各样的办公软件.比如我们经常用而且都比较熟悉的Word Excel PPT以及ps.这些我们在工作中都会用的到,今天小编就给大家讲另外一个办公软件AutoCA ...