图层求救!!!!
<p>要求开始运行时先设定好我要的图层名称 颜色 线形,如果图层存在则选用需要的图层。如果图层不存在则新建并选用。</p><p>求以上的类似范例一段 感激不尽。 另外-layer 里的"L"为什么没用 我输入了ISO dash 但是并没有出来虚线是为什么?</p><p>求图层的设定范例一段 感激不尽!!</p> <p>(if (null (tblsearch "layer" "layername"))</p><p>(command "_layer" "m" "layername" "c" "1" "" "l" "dash" "" ""))</p> <p>感谢二楼的 线的颜色是出来了 但是线形还是不对啊 不是虚线为什么呢?</p><p></p> <p>还有如果该图层有了的话该怎么调用呢</p><p></p> <p>顶上去。。谁给我一段范例。</p><p>如果图层存在则调用 否则生成后调用。尤其线型怎么生成的。</p> <p>(if (not (tblsearch "layer" "Hid"))<br/> (COMMAND "layer".........)<br/>)</p><p>如果没有就创建,其中"hid"是图层名</p><p>后面的代码对HID层直接操作就行了</p><p>线型不对吧,我记得我虚线的线型都是用"hidden"</p> <p>;;;师兄 QQ361865648 2009/2</p><p></p><p><br/>(defun c:test (/ newname myline col acadapp doc ltypes newlayer)<br/>(setq newname "userlayer");_你的图层名<br/> (setq myline "dashed");_你的线型名<br/> (setq col 3);_你的层颜色<br/> (if (tblsearch "layer" newname);_判断图层是否存在<br/> (setvar "clayer" newname) ;_设为当前层<br/> (PROGN;_不存在则做以面的事<br/> (if (not (tblsearch "ltype" myline)) ;_先判断线型是否已加载<br/> (PROGN<br/> (setq acadapp (vlax-get-acad-object))<br/> (setq doc (vla-get-ActiveDocument ACADAPP))<br/> (SETQ LTYPES (VLA-GET-Linetypes DOC))<br/> (VLA-LOAD LTYPES myline "ACADISO.LIN") ;_加载线型<br/> )<br/> )<br/> ;;生成图层<br/> (setq newlayer (entmakex (list '(0 . "LAYER")<br/> '(100 . "AcDbSymbolTableRecord")<br/> '(100 . "AcDbLayerTableRecord")<br/> (cons 6 myline) ;_线型<br/> (cons 62 col) ;_颜色<br/> '(70 . 0) ;_标记<br/> (cons 2 newname) ;_图层名<br/> )<br/> )</p><p> )<br/> )<br/> )<br/> (princ)<br/> (princ)<br/>)</p> <p>to楼主:</p><p>线型不用生成,只用加载,若还有不明白层与线型之间的关系,在命令行输入-layer去看看,根据其操作流程来写就肯定不会错啦</p> (defun C:5566(/ cmd cdm1 ent)<br/> (setq cmd (getvar "cmdecho"))<br/> (setvar "cmdecho" 0)<br/> (setq cmd1 (getvar "CLAYER"))<br/> (command "-LAYER" "m" "PLAN" "c" "11" "PLAN" "p" "n" "PLAN" "")<br/> (setvar "CLAYER" "PLAN")<br/> (setq ent (ssget))<br/> (command "change" ent "" "P" "la" "PLAN" "lt" "hidden2" "")<br/> (command "chprop" ent "" "s" "50" "")<br/> (setvar "cmdecho" cmd)<br/> (setvar "CLAYER" cmd1)<br/> (princ))
页:
[1]