找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 7580|回复: 38

[原创]:一个十分方便的关闭层的小程序

[复制链接]
发表于 2005-12-20 12:18:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
图层工具栏是acad绘图的基本工具,但大家在使用中是不是感到有诸多不便啊?我绘图基本不用图层工具栏。关闭图层使用下面的小程序,十分方便。
命令名:ff (考虑到该功能经常使用,打ff按键方便)。
使用方法:点取图中某一物体,则这个物体所在的层就被关闭了,同时提示你关闭的是什么层。可以连续点取关闭你想关的层。如果误关了不想关的层,可输入“u”反悔。以下是程序代码:
  1. (defun c:ff(/ pt ss w e l )
  2.   (setq oer *error* *error* myerr)
  3.   (setvar "cmdecho" 0)
  4.   (setq ss (entsel "\n点取层中某一物体:"))
  5.   (while ss
  6.      (setq w (getvar "clayer"))
  7.      (if (= (type ss) 'list)
  8.        (progn
  9.          (setq e (entget (car ss)) L (cdr (assoc 8 e)))
  10.          (if (eq l w) (command "layer" "off" l "y" "")
  11.            (command "layer" "off" l "")
  12.          )
  13.          (princ (strcat "    (" l "层已被关闭)"))
  14.        )
  15.      )
  16.      (initget "U")
  17.      (setq ss (entsel "\nU/<点取层中某一物体>:"))
  18.      (if (eq ss "U") (command "u"))
  19.   )
  20.   (setq *error* oer)
  21.   (princ "\n                             gysjy  96.11  制作")(princ)
  22. )

       关于打开层:可制作一个按钮菜单,将“'-layer;on;*;;”粘入按钮提示栏内,以后点取此按钮,就可打开所有被关闭的层,特别值得一提的是该功能可透明调用!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-12-28 19:33:51 | 显示全部楼层
楼主你这个东东,cad2000以前版本是免费赠送的阿 layoff
2000以后版本为付费,不过论坛里有工具箱可下,类似的命令还有一些
LAYSUR      点选图元变为当前层图元
LAYISO    点选图元 仅显示此图元所在层
LAYON     显示所有图层
还有几个冻结锁定的命令
我一般也把他们做成简化命令,很方便快捷。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-29 18:08:46 | 显示全部楼层
楼主你这个东东,cad2000以前版本是免费赠送的阿 layoff

哦,我不知道呀。在哪里下载,例如r14版本的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-12-29 20:02:04 | 显示全部楼层
EXPRESS TOOLS,简称ET工具,你在论坛中可以搜索到的!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-12-30 12:41:29 | 显示全部楼层
下载后用了,还不错,谢谢楼主。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-12-30 16:16:56 | 显示全部楼层
还编这样的lsp
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-30 18:50:25 | 显示全部楼层
当不知道有ET的时候,由于绘图的需要,也就只好编写这样的程序了。有需求,就有想法,有想法,就去动手做。不过惭愧,一直以来,由于种种原因,本人一直使用r14,也真不知道cad2000以前版本有免费赠送的好东东。由于我还没装后面版本的,我想下载的是r14的,不知道在何处下载?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-12-31 12:33:40 | 显示全部楼层
这个还是有一些优点的,et的命令长啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-1-5 15:13:10 | 显示全部楼层
这样的很多地方都有啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-1-5 19:26:54 | 显示全部楼层
好像还可以
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-1-6 15:00:31 | 显示全部楼层
在某个cad文件中,共有5个图层,我需要单独打印其中各个图层,即打印第一层时,不显示其他图层;打印第2层时,不显示其他图层;......打印范围不变。如果通过常规打印时,打印一层后,需要关掉已打印的层,然后打开另外需要打印的某层;,打印一次设置一次,一次次设置,比较麻烦。所以请求能否编个程序(lsp,arx等),以便批量打印,即通过一次设置分别打印出上例5个图层的图纸。
请您帮帮忙!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-6 21:49:38 | 显示全部楼层
在某个cad文件中,共有5个图层,我需要单独打印其中各个图层,即打印第一层时,不显示其他图层;打印第2层时,不显示其他图层;......

我的电脑没有配置打印机,无法调试您所需要的程序。只能就您的需求,尝试改进了一下,试试看。
命令名off,可以一步关闭其他的层。命令名on,打开所有层。
  1. (defun c:off(/ e)
  2.   (setvar "cmdecho" 0)
  3.   (setq e (entsel "\n点取要打印的层:"))
  4.   (if e
  5.     (progn
  6.       (if (= (type e) 'list)
  7.         (setq e (cdr (assoc 8 (entget (car e)))) )
  8.       )
  9.       (command "layer" "off" "*" "y" "on" e "")
  10.     )
  11.     (princ "\n您没有选中打印的层")
  12.   )
  13.   
  14.   (princ "\n                          gysjy   2006.1.6.")(princ)
  15. )

  16. (defun c:on()(setvar "cmdecho" 0)(command "layer" "on" "*" "")(princ))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-1-10 20:30:33 | 显示全部楼层
建议多上网,网上的高手实在太多了,CAD出来新版本一定要先试试,新版本肯定比老的要先进,什么年代了,还用R14?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-1-19 23:17:40 | 显示全部楼层
关于层的函数,小弟我也有写几个,可以在这里去看看:
http://www.xdcad.net/forum/showthread.php?s=&threadid=517621
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-15 10:22:53 | 显示全部楼层
楼主这个LSP很好用呀,比以前得选中层关闭速度快很多,打开的速度也快了很多,谢谢楼主
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-18 20:06 , Processed in 0.662653 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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