F海市蜃楼 发表于 2025-3-4 17:55:20

求助lisp怎么让选中块内的对象出现如图显示的效果

显示如图红框内的效果就是想知道是否被选中,和没选中的进行区别一下

chslwj521 发表于 2025-3-7 09:06:55

F海市蜃楼 发表于 2025-3-4 21:30
不好意思,新手不太懂

设置哪些对象既是被选取的又是被夹取的

(sssetfirst gripset)
gripset 参数指定的选择集中的对象是被夹取的,而 pickset 参数指定的选择集中的对象是既被夹取的又被选取的。如果两个选择集有公共部分(即某些对象同时属于这两个选择集), sssetfirst 函数将只选择和夹取 pickset 指定的选择集(而不夹取 gripset 选择集)。

在使用该函数时,需要由用户构建有效的选择集。例如,可能需要确认在选择集中不包含背景图纸空间视口(DXF 组码为 69),或者确定选定的对象属于当前布局,如下述代码所示:

(setq ss (ssget (list (cons 410 (getvar "ctab")))))
参数

gripset

要夹取的选择集。如果 gripset 为 nil 且已指定 pickset,则 sssetfirst 夹取并选择 pickset。如果 gripset 为 nil 且未指定 pickset,则 sssetfirst 关闭原来打开的夹点句柄和选择集。

pickset

将被选择的选择集。

返回值

选择集或指定的集。
去看葵花宝典呀

F海市蜃楼 发表于 2025-3-4 22:21:55

kozmosovia 发表于 2025-3-4 21:57
如果是直线,点取后可以直接首末点grdraw来模拟虚显。否则,就需要临时从块内将点取的图元克隆出来redraw 3 ...

是直线,但在图块里面,redraw 3用这个了,没有效果

kozmosovia 发表于 2025-3-4 21:57:04

如果是直线,点取后可以直接首末点grdraw来模拟虚显。否则,就需要临时从块内将点取的图元克隆出来redraw 3,选中后执行过程中需要删除临时克隆出来的图元

你有种再说一遍 发表于 2025-3-4 20:48:28

本帖最后由 你有种再说一遍 于 2025-3-4 20:57 编辑

(sssetfirst nil ss)
记忆
ss set first
选择集 设置 第一

F海市蜃楼 发表于 2025-3-4 21:30:15

你有种再说一遍 发表于 2025-3-4 20:48
(sssetfirst nil ss)
记忆
ss set first


不好意思,新手不太懂

kozmosovia 发表于 2025-3-5 09:18:40

grdraw,不是redraw 3,redraw需要克隆图元出来。

F海市蜃楼 发表于 2025-3-5 09:34:23

kozmosovia 发表于 2025-3-5 09:18
grdraw,不是redraw 3,redraw需要克隆图元出来。

哦哦,谢谢,我试试看

F海市蜃楼 发表于 2025-3-5 09:56:28

kozmosovia 发表于 2025-3-5 09:18
grdraw,不是redraw 3,redraw需要克隆图元出来。

网上了解了一下,直线可以用,多段线就不行了

kozmosovia 发表于 2025-3-5 16:14:09

那就还是克隆出来redraw吧,通用

F海市蜃楼 发表于 2025-3-5 17:13:44

kozmosovia 发表于 2025-3-5 16:14
那就还是克隆出来redraw吧,通用

用了,但没有像提供图片那样的效果
页: [1] 2
查看完整版本: 求助lisp怎么让选中块内的对象出现如图显示的效果