找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1815|回复: 13

[LISP程序]:怎样在LISP里面用命令行关掉所有图层?

[复制链接]
发表于 2005-3-21 11:39:38 | 显示全部楼层 |阅读模式

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

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

×
我现在要把图里面的两个图层的东西删掉,想法是先关掉所有图层再打开需要删的图层,删除所有图元再打开其他图层,现在的问题是用COMMAND ".layer" 不能一次关掉所有图层
在名令行可以输入OFF再输回车输"all"可以一次关掉所有土层,在LISP里面输入OFF后再输入空的话就退出选择状态了!


(command ".layer" "off" "" "all" "" "y" "")不行
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-3-21 11:45:49 | 显示全部楼层
应该是(command "-layer" "off"  "*"  "y" "" )
其实那个"off"后的""是多余的,程序里输入"off"之后,会自动回车,不需要再加""
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-3-21 11:50:12 | 显示全部楼层
直接删除不更简单!
不过要有良好的画图习惯。
[php]
;;;*图层删除
(defun c:test (/ la)
  (setq        La  (cdr
             (assoc 8
                    (entget (car (entsel "\n拾取被删除图层之任一物体: ")))
             )
           )
        ss (ssget "X" (list (cons 8 la)))
  )
  (command "erase" ss "")
  (princ)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-21 12:02:32 | 显示全部楼层
(command "-layer" "off" "*" "y" "" )
可以用,谢谢了!
我刚开始的时候尝试过用*,不过输入后提示是否关掉当前图层我还以为输入*是选择当前图层但是我还在纳闷,原来就是选择所有的图层了,多谢二楼的提醒!

也多谢三楼四楼的热心人!我现在想自己动手写打基础啊所以还是全部自己动手好些,四楼的方法不错,以后可能用得上,不过我现在是想不手动选择,这个改一改应该可以用,不过还是二楼的方法最简单哈
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-28 07:39:54 | 显示全部楼层
单独删除某图层
(defun c:ELAY ( ) (setvar "cmdecho" 0)  
             (while
             (setq e1 (entsel "\n选择需要删除的图层上的实体:"))
             (setq cx (cdr (assoc '8 (entget (car e1)))))
             (command "-layer" "lock" "*"  "unlock" cx "")
             (command "erase" "all" "")  (princ)
             (command "-layer" "unlock" "*" "")
             (princ) )
             (command "-layer" "unlock" "*" "") (princ)
             )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-3-29 23:38:37 | 显示全部楼层
是啊,xyp1964的程序都很少用command指令,用command指令出错多,程序也变得慢些
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 57个

财富等级: 招财进宝

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

使用道具 举报

发表于 2005-4-2 23:11:42 | 显示全部楼层
最初由 zxmmelly 发布
[B]4楼的代码好象只删除了物体,没有删除图层啊 [/B]

全部清除“垃圾”:puu
[php]
(defun C:PUU () (repeat 3 (COMMAND "-PURGE" "A" "" "n"))(princ)) ;清除
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-3 03:49:33 | 显示全部楼层
图层删除用仅仅用(ssget "X" (list (cons 8 la)))是不够的
要把块定义中的实体也删除
另外如果图层已经锁定,用(command "erase" ss "") 可能也有问题.
以上意见仅供参考
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-4-14 15:54:49 | 显示全部楼层
这是一个可以完全打开或关闭所有图层的程序
(defun c:ol()          ;关闭所有图层
     (command"-layer" "off" "*" "y" "")
)
(defun c:il()          ;重新打开所有图层
     (command"-layer" "on" "*" "y" "")
)
**************************************************************
(也就是略懂一二,希望大家别见笑啊!!)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 12:25 , Processed in 0.453332 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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