创建图层的最佳方式是什么
尊敬的各位Plz建议哪种方法是在lisp内创建层的最佳方法
第一
(setq oldlayer (getvar "CLAYER"))
(if (tblsearch "LAYER" "Dr")
(setvar "CLAYER" "Dr")
(command ".LAYER" "M" "Dr" "C" "6" "" "")
)
(setvar "CLAYER" oldlayer)
第二
(if (not (tblsearch "layer" "dr"))
(progn(command ".LAYER" "M" "dr" "C" "50" "" ""))) 我想这是最好的。。
(if (not (tblsearch "LAYER" "Dr"))
(entmake (list (cons 0 "LAYER")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbLayerTableRecord")
(cons 2 "Dr")
(cons 70 0)
(cons 62 6)
))
)
塔瓦特 尊敬的先生:
thx建议
随时欢迎你。
塔瓦特 如果您真的想将保险设置为一个层:
;++++++++++++ Make Layer Current +++++++++++++++++++++++++++++++++
(defun SetLayer (name / ldef flag)
(cond ((or (not name)
(not (snvalid name)))
(princ "\nBad Aurgment Passed To SetLayer - ")
(prin1 name)
(exit)))
(command "_.LAYER")
(if (not (tblsearch "LAYER" name))
(command "_Make" name)
(progn
(setq ldef (tblsearch "LAYER" name)
flag (cdr (assoc 70 ldef)))
(and (= (logand flag1)1)
(command "_Thaw" name))
(and (minusp (cdr (assoc 62 ldef)))
(command "_On" name))
(and (= (logand flag4)4)
(command "_Unlock" name))
(and (= (logand flag 16) 16)
(princ "\nCannot Set To XRef Dependent Layer")
(quit))
(command "_Set" name)))
(command "")
name)
-大卫 以大卫的例子为基础。。。这使用ActiveX:
(defun SetLayer2(layerName / activeDoc layerTable layerItem)
(vl-load-com)
(vla-startundomark
(setq activeDoc (vla-get-activedocument (vlax-get-acad-object))))
(if (= 'STR (type layerName))
(if (not (vl-string-search "|" layerName))
(progn
(setq layerTable (vla-get-layers activeDoc))
(if (tblsearch "layer" layerName)
(progn
(setq layerItem (vla-item layerTable layerName))
(vla-put-freeze layerItem :vlax-false))
(vla-put-layeron layerItem :vlax-true)
(vla-put-lock layerItem :vlax-false)
(setq layerItem (vla-add layerTable layerName)))
(vla-put-activelayer activeDoc layerItem))
(prompt "\n<!>Cannot Set to Xref Dependent Layer<!> "))
(progn
(prompt "\n<!>Invalid Argument - ")
(prin1 name)
(prompt "<!> ")))
(vla-endundomark activeDoc)
(princ))
http://www.theswamp.org/index.php?topic=33041.msg384939#msg384939 或http://forums.augi.com/showthread.php?t=122277&highlight=layerlist和http://www.theswamp.org/index.php?topic=35588.0;全部的 尊敬的各位
thx为帮助我,我将尝试返回thx
页:
[1]