找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2280|回复: 4

[求助] sssetfirst 中的夹取集代表何含义

[复制链接]
发表于 2013-6-3 07:41:32 | 显示全部楼层 |阅读模式

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

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

×
问一下对于(sssetfirst 夹取集  【夹取选择集】  )中的夹取集代表何含义,谢谢。{:soso_e121:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2013-6-3 12:06:57 | 显示全部楼层
这个确实是个疑问,尝试了很多次,都无法知道什么叫只夹取。?
按函数介绍的那样建了选择集 但是却无法“打开 gripset 选择集中所有对象的夹点句柄”--没看到夹点。

所以我更愿意接受这样的解释:CAD的夹取已经没有实际意义了。
(sssetfirst nil ss) 它的第一个参数已经作废。同样 ssgetfirst 也是如此。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 1 反对 0

使用道具 举报

已领礼包: 10405个

财富等级: 富甲天下

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

使用道具 举报

发表于 2013-6-3 08:21:12 | 显示全部楼层
设置哪些对象既是被选取的又是被夹取的

(sssetfirst gripset[pickset])
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

将被选择的选择集。

返回值

选择集或指定的集。

示例

首先,绘制一个正方形并建立三个选择集。开始实现绘制边 1,并创建一个包含该线的选择集:

命令: (entmake (list (cons 0 "line") '(10 0.0 0.0 0.0)'(11 0.0 10.0 0.0)))

((0 . "line") (10 0.0 0.0 0.0) (11 0.0 10.0 0.0))

命令: (setq gripset (ssget "_l"))

<Selection set: a5>

变量 gripset 指向创建的选择集。

绘制边 2 并将其添加到 gripset 选择集:

命令: (entmake (list (cons 0 "line") '(10 0.0 10.0 0.0)'(11 10.0 10.0 0.0)))

((0 . "line") (10 0.0 10.0 0.0) (11 10.0 10.0 0.0))

命令: (ssadd (entlast) gripset)

<Selection set: a5>

创建另一个选择集,使之仅包含边 2:

命令: (setq 2onlyset (ssget "_l"))

<Selection set: a8>

绘制边 3 并将其添加到 gripset 选择集:

命令: (entmake (list (cons 0 "line") '(10 10.0 10.0 0.0)'(11 10.0 0.0 0.0)))

((0 . "line") (10 10.0 10.0 0.0) (11 10.0 0.0 0.0))

命令: (ssadd (entlast) gripset)

<Selection set: a5>

创建另一个选择集,使之仅包含边 3:

命令: (setq pickset (ssget "_l"))

<Selection set: ab>

变量 pickset 指向新的选择集。

绘制边 4 并将其添加到 gripset 和 pickset 选择集:

命令: (entmake (list (cons 0 "line") '(10 10.0 0.0 0.0)'(11 0.0 0.0 0.0)))

((0 . "line") (10 10.0 0.0 0.0) (11 0.0 0.0 0.0))

命令: (ssadd (entlast) gripset)

<Selection set: a5>

命令: (ssadd (entlast) pickset)

<Selection set: ab>

这时,gripset 包含边 1-4,pickset 包含边 3 和 4,2onlyset 仅包含边 2。

打开 gripset 选择集中所有对象的夹点句柄:

命令: (sssetfirst gripset)

(<Selection set: a5>)

关闭 gripset 中所有对象的夹点句柄:

命令: (sssetfirst nil)

(nil)

打开夹点句柄并选择 pickset 中的所有对象:

命令: (sssetfirst nil pickset)

(nil <Selection set: ab>)

打开 2onlyset 中所有对象的夹点句柄,并选择 pickset 中的所有对象:

命令: (sssetfirst 2onlyset pickset)

(<Selection set: a8> <Selection set: ab>)

每次调用 sssetfirst 都替换了上一次调用 sssetfirst 夹取和选择的选择集。例如,在执行下述命令后,2onlyset 中的夹点打开,而没有选定选择集:

命令: (sssetfirst 2onlyset

(<Selection set: a8>)

注意 不要在 AutoCAD 执行命令的过程中调用 sssetfirst。

评分

参与人数 1D豆 +5 收起 理由
QiaoCheng + 5 技术引导讨论和指点奖!

查看全部评分

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

使用道具 举报

发表于 2013-6-3 11:38:45 | 显示全部楼层
楼主,按照新规定,这样发主题是要被扣分的,以后小心了。

http://bbs.xdcad.net/thread-668597-1-1.html
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 21:55 , Processed in 0.228147 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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