zhelindaxues 发表于 2009-2-10 13:12:00

图层求救!!!!

<p>要求开始运行时先设定好我要的图层名称 颜色 线形,如果图层存在则选用需要的图层。如果图层不存在则新建并选用。</p><p>求以上的类似范例一段&nbsp; 感激不尽。&nbsp; 另外-layer 里的"L"为什么没用 我输入了ISO dash 但是并没有出来虚线是为什么?</p><p>求图层的设定范例一段 感激不尽!!</p>

luowy 发表于 2009-2-10 13:31:00

<p>(if (null (tblsearch "layer" "layername"))</p><p>(command "_layer" "m"&nbsp;"layername" "c" "1" "" "l" "dash" "" ""))</p>

zhelindaxues 发表于 2009-2-10 14:08:00

<p>感谢二楼的 线的颜色是出来了 但是线形还是不对啊&nbsp;&nbsp; 不是虚线为什么呢?</p><p></p>

zhelindaxues 发表于 2009-2-10 14:36:00

<p>还有如果该图层有了的话该怎么调用呢</p><p></p>

zhelindaxues 发表于 2009-2-11 08:27:00

<p>顶上去。。谁给我一段范例。</p><p>如果图层存在则调用 否则生成后调用。尤其线型怎么生成的。</p>

hawnn 发表于 2009-2-11 08:42:00

<p>(if (not (tblsearch "layer" "Hid"))<br/>&nbsp;&nbsp;&nbsp;(COMMAND "layer".........)<br/>)</p><p>如果没有就创建,其中"hid"是图层名</p><p>后面的代码对HID层直接操作就行了</p><p>线型不对吧,我记得我虚线的线型都是用"hidden"</p>

caiqs 发表于 2009-2-11 09:49:00

<p>;;;师兄 QQ361865648 2009/2</p><p></p><p><br/>(defun c:test (/ newname myline col acadapp doc ltypes newlayer)<br/>(setq newname "userlayer");_你的图层名<br/>&nbsp; (setq myline "dashed");_你的线型名<br/>&nbsp; (setq col 3);_你的层颜色<br/>&nbsp; (if (tblsearch "layer" newname);_判断图层是否存在<br/>&nbsp;&nbsp;&nbsp; (setvar "clayer" newname) ;_设为当前层<br/>&nbsp;&nbsp;&nbsp; (PROGN;_不存在则做以面的事<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (not (tblsearch "ltype" myline)) ;_先判断线型是否已加载<br/>&nbsp;(PROGN<br/>&nbsp;&nbsp; (setq acadapp (vlax-get-acad-object))<br/>&nbsp;&nbsp; (setq doc (vla-get-ActiveDocument ACADAPP))<br/>&nbsp;&nbsp; (SETQ LTYPES (VLA-GET-Linetypes DOC))<br/>&nbsp;&nbsp; (VLA-LOAD LTYPES myline "ACADISO.LIN") ;_加载线型<br/>&nbsp;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;生成图层<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq newlayer (entmakex (list '(0 . "LAYER")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '(100 . "AcDbSymbolTableRecord")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '(100 . "AcDbLayerTableRecord")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cons 6 myline) ;_线型<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cons 62 col) ;_颜色<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '(70 . 0) ;_标记<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cons 2 newname) ;_图层名<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (princ)<br/>&nbsp; (princ)<br/>)</p>

luowy 发表于 2009-2-11 10:19:00

<p>to楼主:</p><p>线型不用生成,只用加载,若还有不明白层与线型之间的关系,在命令行输入-layer去看看,根据其操作流程来写就肯定不会错啦</p>

samshs 发表于 2009-2-11 13:57:00

(defun C:5566(/ cmd cdm1 ent)<br/>&nbsp; (setq cmd (getvar "cmdecho"))<br/>&nbsp;&nbsp; (setvar "cmdecho" 0)<br/>&nbsp;&nbsp; (setq cmd1 (getvar "CLAYER"))<br/>&nbsp;&nbsp; (command "-LAYER" "m" "PLAN" "c" "11" "PLAN" "p" "n" "PLAN" "")<br/>&nbsp;&nbsp; (setvar "CLAYER" "PLAN")<br/>&nbsp;&nbsp; (setq ent (ssget))<br/>&nbsp;&nbsp; (command "change" ent "" "P" "la" "PLAN" "lt" "hidden2" "")<br/>&nbsp;&nbsp; (command "chprop" ent "" "s" "50" "")<br/>&nbsp; (setvar "cmdecho" cmd)<br/>&nbsp; (setvar "CLAYER" cmd1)<br/>&nbsp; (princ))
页: [1]
查看完整版本: 图层求救!!!!