获取关于选择集创建方式的信息
(ssnamex ss [index])
本函数只能查找当前图形模型空间和图纸空间中的图元,而不能查找非图形对象和其他块定义中的图元。
参数
ss
选择集。
index
整数(或实数),指定选择集中的一个元素。选择集中的第一个元素的序号为零 (0)。
返回值
如果成功,ssnamex 返回 index 指定的图元名,以及如何选中该图元的说明数据。如果没有提供 index 参数,本函数将返回一个表,表中包括该选择集中的每个元素的图元名和如何选中该图元的说明数据。如果 index 为负数或超出了选择集中的最高图元序号,ssnamex 返回 nil。
ssnamex 函数返回的数据是一个表的列表,表中的每个子表要么包含描述图元和其选择方式的信息,要么包含描述用来选择一个或多个图元的多边形的信息。每一个描述选择集中某个图元的子表都包括三个部分:选择方式的 ID 号(大于或等于 0 的整数),被选图元的图元名,和与图元选择方式有关的特定数据(它用于描述图元是如何被选中的)。
((sel_id1 ename1 (data))(sel_id2ename2 (data)) ... )
下表列出了选择方式的 ID:
选择方式 ID |
|
---|---|
ID |
说明 |
0 |
没有特殊信息(如 Last All) |
1 |
拾取 |
2 |
窗口或圈围 |
3 |
窗交或圈交 |
4 |
栏选 |
用来描述选择图元所用多边形的子表格式如下:先是一个多边形 ID 号(小于 0 的整数),接着是点的描述符。
(polygon_idpoint_description_1point_description_n... )
多边形 ID 号从 -1 开始并以 -1 递减。由于和显示位置有关,点用以下几种方式描述:无限长直线、射线或线段。每个点的描述符包括三个部分:点描述符 ID 号(要描述的项的类型)、该项的起点和一个可选的单位向量,该单位向量或者用来描述无限长线的方向,或者用来描述线段另外一端的偏移量。
(point_descriptor_idbase_point[unit_or_offset_vector])
下表列出了有效的点描述符的 ID 号:
点描述符 ID |
|
---|---|
ID |
说明 |
0 |
无限长线 |
1 |
射线 |
2 |
直线线段 |
如果视点不是 0,0,1,将返回 unit_or_offset_vector。
示例
与 Pick(类型 1)方式选择图元相关联的数据 data 是单个点描述符。例如,对在 WCS 的平面视图中拾取点 (1,1) 而选到的一个图元,返回的表可能如下所示:
命令: (ssnamex ss3 0)
((1 <图元名: 1d62da0> 0 (0 (1.0 1.0 0.0))))
与窗口、圈围、窗交或圈交选择方法相关联的数据 data 是选定图元所用的多边形的整数 ID 号。将多边形标志符关联起来,以及在多边形与它所选择的图元间建立联系,则取决于应用程序。例如,对由窗交方式选取的一个图元,返回的表可能如下所示(请注意多边形 ID 号是 -1):
命令: (ssnamex ss4 0)
((3 <图元名: 1d62d60> 0 -1) (-1 (0 (-1.80879 8.85536 0.0)) (0 (13.4004 8.85536 0.0)) (0 (13.4004 1.80024 0.0)) (0 (-1.80879 1.80024 0.0))))
与栏选方式相关联的数据是一个由点和描述符组成的表,这些点描述符描述的是选择栏和图元直观上的交点。例如,对一条近似垂直且与 Z 型选择栏相交三次的直线,返回的表可能如下所示:
命令: (ssnamex ss5 0)
((4 <图元名: 1d62d88> 0 (0 (5.28135 6.25219 0.0) ) (0 (5.61868 2.81961 0.0) ) (0 (5.52688 3.75381 0.0) ) ) )
明经通道 版权所有 未经许可 不得传播 | 评论 |