求助大神如何设置被选对象高亮
;; 提示用户选择两条线(setq line1 (car (entsel "\n请选择第一条线: ")))
(setq line2 (car (entsel "\n请选择第二条线: ")))
这是我的代码,用户选择两条线,如何在用户选择以后,使被选的直线高亮显示。
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=91137&highlight=%C1%C1%CF%D4
善用搜索 你有种再说一遍 发表于 2024-7-11 17:21
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=91137&highlight=%C1%C1%CF%D4
善用搜索
AUTOLISP我完全不懂,大神能直接给出修改后的代码吗? xk2005 发表于 2024-7-11 17:26
AUTOLISP我完全不懂,大神能直接给出修改后的代码吗?
这里其实是一个学习论坛,不懂的话,建议慢慢来 上来就要代码 (setq ss nil ss (ssadd))
(ssadd line1 ss)
(ssadd line2 ss)
(sssetfirst nil nil)
(sssetfirst nil ss)
redraw
重画当前视口或当前视口中的一个指定对象(图元)
(redraw ])
如果不带参数调用 redraw 函数,它重画当前视口。如果调用它时提供了图元名,它将重画该指定图元。
redraw 函数对已突出显示或隐藏的图元无效,而 REGEN 命令可强制使图元以正常模式重新显示。
参数
ename
要重画图元的名称。
mode
整数值,用于控制图元的可见性和亮显。mode 可为下列值之一:
1 显示图元
2 隐藏图元(使其不可见)
3 亮显图元
4 不亮显图元
亮显图元模式 (mode=3) 必须与不亮显图元模式 (mode=4)协调使用。
如果 ename 是复杂图元(多段线或带属性的块参照)的头部图元名,那么在 mode 参数为正时,redraw 函数对主图元和它的所有子图元进行处理,而在 mode 参数为负时,它仅处理头部图元。
返回值
redraw 函数的返回值始终为 nil。
(progn
(setq line1 (car (entsel "\n请选择第一条线: ")))
(setq ss(ssadd))
(ssadd line1 ss)
(sssetfirst nil ss)
(setq line2 (car (entsel "\n请选择第二条线: ")))
(ssadd line2 ss)
(sssetfirst nil ss)
) 从别人那里搬来的,至于是谁的,不记得了。
;选择集亮显和取消亮显
;用法 (liangxian ss v)
;ss 为选择集;v =3 亮显,v =4 取消亮显
(defun liangxian (ss v / len)
(repeat (setq len (sslength ss))
(redraw (ssname ss (setq len (1- len))) v)
)
)
页:
[1]