明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2990|回复: 11

[LISP]此程序如何才能複選物件

  [复制链接]
发表于 2004-9-2 23:07 | 显示全部楼层 |阅读模式
请问此程序如何才能复选物件,现在只能单选完就执行了,如何在我复选完之后才执行另
(defun c:gt( / ent lname)
(setvar "cmdecho" 0)
(setq ent (entsel "\n请选择要关闭的图层: "))
(if ent
(progn
(setq ent (entget (car ent)))
(setq lname (cdr (assoc 8 ent)))
)
(setq lname (getstring "\n未选取 , 请输入图层名: "))
) ;if ent
(if (= (getvar "clayer") lname)
(setvar "clayer" "0")
)
(command "layer" "off" lname "")
(princ)
)
发表于 2004-9-3 00:11 | 显示全部楼层

回复

参考:


test dwg file:





lsp program:

本帖子中包含更多资源

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

x
 楼主| 发表于 2004-9-3 07:56 | 显示全部楼层
大大可以解释一下这个程序每一句的意思吗?小弟是菜鸟,有些不理解,如果不要\n未选取 , 请输入图层名: 这个功能 ,应当怎么做呢?
发表于 2004-9-3 08:53 | 显示全部楼层

回复

你不是已经做了吗?我只是在你的代码基础上改了一些.


我觉得不用每一句都解释,你用过几次,这些代码的意思就不言自明了.


先从功能看它能实现什么,不必刻意记每一句什么意思.
 楼主| 发表于 2004-9-3 10:12 | 显示全部楼层
再请问大大,这个程序遇到是当前层时就起不了作用,如何才能实现遇见是当前层时一样可以关闭,而图层自动切换到0层或其它层呢?
发表于 2004-9-3 11:53 | 显示全部楼层

回复

上面的程序是你写的吗? (if (= (getvar "clayer") lname)
(setvar "clayer" "0")
)
(command "layer" "off" lname "") 这些代码不就是你所问的问题吗?
 楼主| 发表于 2004-9-3 12:36 | 显示全部楼层
上面的程序并不是小弟所写,是网上看到的,只是想依小弟的需要做修改,只能到此拜託大大们帮帮忙,虽然大大回覆了,但问题仍在,依旧不能关闭当前层的物件耶!
 楼主| 发表于 2004-9-3 12:37 | 显示全部楼层
再请问大大,这个程序如何改成保留图层,而不是关闭图层
 楼主| 发表于 2004-9-6 22:32 | 显示全部楼层
没人理我?!鸣~~~~
发表于 2004-9-6 23:01 | 显示全部楼层

回复

什么叫保留图层,AutoCAD中可没有这样的术语.


你还是讲清楚你的要求,并且自己多多动手写一写.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-6 14:49 , Processed in 0.442183 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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