明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1067|回复: 6

新人报道.并提个小问题.谢谢答复.

[复制链接]
发表于 2007-1-9 15:01 | 显示全部楼层 |阅读模式

刚看到有个帖子.

明白了怎样用输入图层名字的方式来将该图层置为当前.

但是制图过程中,有可能有的图会临时出现一些先前并没有想到要用的图层.

所以无法在acad2005doc.lsp中预先将代码写进去.

我想能不能有个命令.在输入图层名字的时候.如果有这个图层.那么就置为当前.没有的话.就是新建并置为当前.

有达人能教我一下吗.

感谢.

发表于 2007-1-9 15:49 | 显示全部楼层

可以在程序中这样写:

(COMMAND "LAYER" "M" "NEW_LAYER_NAME" "")

 楼主| 发表于 2007-1-9 17:29 | 显示全部楼层

(DEFUN C:ww ()
   (COMMAND "LAYER" "M" "NEW_LAYER_NAME" "")
)

这样啊?

发表于 2007-1-9 17:35 | 显示全部楼层
也许这样能满足你的要求。
加载,运行ll
输入你要设置为当前曾的图层的名字即可。
  1. (defun C:ll (/ newlay laysel namlst item layobj)
  2.   (vl-load-com)
  3.   (setq *OBJ (vlax-get-acad-object))
  4.   (setq *DOC (vla-get-activedocument *OBJ))
  5.   (setq *MSP (vla-get-modelspace *DOC))
  6.   (if (setq newlay (getstring "请输入层名: "))
  7.     (progn
  8.       (setq laysel (vla-get-layers *DOC))
  9.       (setq namlst nil)
  10.       (vlax-for n laysel
  11.         (setq namlst (cons (vla-get-name n) namlst))
  12.       )
  13.       (setq namlst (reverse namlst))
  14.       (if (setq item (vl-position newlay namlst))
  15.         (setq layobj (vla-item laysel item)
  16.               layobj (vla-put-activelayer *DOC layobj)
  17.         )
  18. (setq layobj (vla-add laysel newlay)
  19.        layobj (vla-put-activelayer *DOC layobj)
  20. )
  21.       )
  22.     )
  23.   )
  24. )
发表于 2007-1-9 17:48 | 显示全部楼层
本帖最后由 作者 于 2007-1-9 18:26:46 编辑

稍微修改了一下,最后可以提示是创建了还是把已存在的置为当前层。

不过zzxxqq的方法很简单实用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2007-1-16 19:35 | 显示全部楼层

偶也贴一个

(defun c:ll (/ a namelst b)
  (command "cmdecho" 0)
  (while (setq a (tblnext "layer" (null a)))
    (setq namelst (cons (cdr (assoc 2 a)) namelst))
    (reverse namelst)
  )
  (if (setq b (getstring "\n输入图层名:"))
    (progn
      (if (member b namelst)
 (command "clayer" b "")
 (command "layer" "m" b "")
      )
    )
  )
  (princ)
)

发表于 2007-1-19 14:31 | 显示全部楼层

我经常使用的就是这个命令 

(command "layer" "m" "层名" "on" "层名" "t" "层名" "u" "层名" "s" "层名" "")

新建、显示、解冻、解锁、设置

全都用上了。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 21:45 , Processed in 0.267941 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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