明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1727|回复: 8

图层求救!!!!

[复制链接]
发表于 2009-2-10 13:12:00 | 显示全部楼层 |阅读模式

要求开始运行时先设定好我要的图层名称 颜色 线形,如果图层存在则选用需要的图层。如果图层不存在则新建并选用。

求以上的类似范例一段  感激不尽。  另外-layer 里的"L"为什么没用 我输入了ISO dash 但是并没有出来虚线是为什么?

求图层的设定范例一段 感激不尽!!

发表于 2009-2-10 13:31:00 | 显示全部楼层

(if (null (tblsearch "layer" "layername"))

(command "_layer" "m" "layername" "c" "1" "" "l" "dash" "" ""))

 楼主| 发表于 2009-2-10 14:08:00 | 显示全部楼层

感谢二楼的 线的颜色是出来了 但是线形还是不对啊   不是虚线为什么呢?

 楼主| 发表于 2009-2-10 14:36:00 | 显示全部楼层

还有如果该图层有了的话该怎么调用呢

 楼主| 发表于 2009-2-11 08:27:00 | 显示全部楼层

顶上去。。谁给我一段范例。

如果图层存在则调用 否则生成后调用。尤其线型怎么生成的。

发表于 2009-2-11 08:42:00 | 显示全部楼层

(if (not (tblsearch "layer" "Hid"))
   (COMMAND "layer".........)
)

如果没有就创建,其中"hid"是图层名

后面的代码对HID层直接操作就行了

线型不对吧,我记得我虚线的线型都是用"hidden"

发表于 2009-2-11 09:49:00 | 显示全部楼层

;;;师兄 QQ361865648 2009/2


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

      )
    )
  )
  (princ)
  (princ)
)

发表于 2009-2-11 10:19:00 | 显示全部楼层

to楼主:

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

发表于 2009-2-11 13:57:00 | 显示全部楼层
(defun C:5566(/ cmd cdm1 ent)
  (setq cmd (getvar "cmdecho"))
   (setvar "cmdecho" 0)
   (setq cmd1 (getvar "CLAYER"))
   (command "-LAYER" "m" "PLAN" "c" "11" "PLAN" "p" "n" "PLAN" "")
   (setvar "CLAYER" "PLAN")
   (setq ent (ssget))
   (command "change" ent "" "P" "la" "PLAN" "lt" "hidden2" "")
   (command "chprop" ent "" "s" "50" "")
  (setvar "cmdecho" cmd)
  (setvar "CLAYER" cmd1)
  (princ))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-7-29 16:55 , Processed in 0.269460 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表