如何获得线型指定
下面是并排两行的实体列表。一个是连续的,一个是隐藏的。
通过lisp返回的内容,您无法区分哪个是哪个。
如果它返回Assoc 6值,我会很好,但它没有。
*AutoLISP格式的列表*(-1。)(0.LINE)(330)(5.571)(100.AcDbEntity)(67.0)(410.Model)(8.0)(100.AcDbLine)(10-60.0959 78.554 0.0)(11-78.7209 78.554 0.0)(210 0.0 0 0.0 1.0))
变量名为ENT
*AutoLISP格式的列表*(-1。)(0.LINE)(330)(5.573)(100.AcDbEntity)(67.0)(410.Model)(8.DEFAULT_2)(100.AcDbLine)(10-60.0959 78.679 0.0)(11-78.7209 78.679 0.0)(210 0.0 0 0.0 1.0))
变量名为ENT
我需要知道通过选择图元返回指定给图层的线型的代码。(颜色也是…)
这真的很简单吗?
我只是不知道怎么做。
请帮忙!!
TIA!! 如果是bylayer,则图元列表不会返回线型。要获取指定给图层的线型,请通过访问每条线的实际图层的图元列表
(setq layer_name (cdr (assoc 8 (entget (ent)))))
然后
(setq layer_ltype (cdr (assoc 6 (tblsearch "LAYER" layer_name))))
非常感谢!! 也:
(defun getLT (lay)
(vlax-for layer
(vla-get-layers
(vla-get-activedocument
(vlax-get-acad-object)))
(if (eq (vla-get-name layer) lay)
(setq lt (vla-get-Linetype layer))))
(princ (vl-princ-to-string lt)))
如何执行图形中所有隐藏线的get列表
如果他们是bylayer?沿着这条线。。。
(setq SS1(ssget“X”(列表(cons 6“隐藏”)))
非常感谢您的帮助和专业知识!! 也许:
(defun getLT(lt)
(setq lLst "")
(vlax-for layer
(vla-get-layers
(vla-get-activedocument
(vlax-get-acad-object)))
(if (eq (strcase (vla-get-Linetype layer)) (strcase lt))
(setq lLst (strcat(vla-get-name layer) (chr 44) lLst)))))
(defun c:test (/ lLst)
(vl-load-com)
(getLT "Hidden")
(setq lLst (vl-string-right-trim (chr 44) lLst))
(sssetfirst nil (ssget "X" (list (cons 8 lLst)
(if (getvar "CTAB")(cons 410 (getvar "CTAB"))
(cons 67 (- 1 (getvar "TILEMODE")))))))
(princ))
页:
[1]