xk2005 发表于 2024-7-11 17:03:21

求助大神如何设置被选对象高亮

      ;; 提示用户选择两条线
      (setq line1 (car (entsel "\n请选择第一条线: ")))
      (setq line2 (car (entsel "\n请选择第二条线: ")))
这是我的代码,用户选择两条线,如何在用户选择以后,使被选的直线高亮显示。

你有种再说一遍 发表于 2024-7-11 17:21:20

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=91137&highlight=%C1%C1%CF%D4

善用搜索

xk2005 发表于 2024-7-11 17:26:19

你有种再说一遍 发表于 2024-7-11 17:21
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=91137&highlight=%C1%C1%CF%D4

善用搜索

AUTOLISP我完全不懂,大神能直接给出修改后的代码吗?

你有种再说一遍 发表于 2024-7-11 17:34:59

xk2005 发表于 2024-7-11 17:26
AUTOLISP我完全不懂,大神能直接给出修改后的代码吗?

这里其实是一个学习论坛,不懂的话,建议慢慢来

MZ_li 发表于 2024-7-11 17:44:18

上来就要代码

aihuyujian 发表于 2024-7-11 18:13:04

(setq ss nil ss (ssadd))
(ssadd line1 ss)
(ssadd line2 ss)
(sssetfirst nil nil)
(sssetfirst nil ss)

xinrstar 发表于 2024-7-11 21:04:14

redraw
重画当前视口或当前视口中的一个指定对象(图元)

(redraw ])
如果不带参数调用 redraw 函数,它重画当前视口。如果调用它时提供了图元名,它将重画该指定图元。

redraw 函数对已突出显示或隐藏的图元无效,而 REGEN 命令可强制使图元以正常模式重新显示。

参数

ename

要重画图元的名称。

mode

整数值,用于控制图元的可见性和亮显。mode 可为下列值之一:

1 显示图元

2 隐藏图元(使其不可见)

3 亮显图元

4 不亮显图元

亮显图元模式 (mode=3) 必须与不亮显图元模式 (mode=4)协调使用。

如果 ename 是复杂图元(多段线或带属性的块参照)的头部图元名,那么在 mode 参数为正时,redraw 函数对主图元和它的所有子图元进行处理,而在 mode 参数为负时,它仅处理头部图元。

返回值

redraw 函数的返回值始终为 nil。

guosheyang 发表于 2024-7-11 21:30:43

(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)
)

统一网名 发表于 2024-7-16 20:57:42

从别人那里搬来的,至于是谁的,不记得了。
;选择集亮显和取消亮显
;用法 (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]
查看完整版本: 求助大神如何设置被选对象高亮