nentsel (AutoLISP)
通过指定点提示用户选择对象(实体),并提供对复杂对象中包含的定义数据的访问 支持的平台:Windows 和 Mac OS 签名(nentsel [msg])
返回值类型:Ename(实体名称) 当所选对象不复杂(即不是 3D 折线或块)时,将返回与 相同的信息。但是,如果所选对象是 3D 折线,则返回包含子图元(顶点)和拾取点名称的列表。这与 返回的列表类似,只不过返回的是所选顶点的名称,而不是折线标头。该函数始终返回所选 3D 折线段的起始顶点。例如,选取折线的第三段将返回第三个顶点。对于 3D 折线,Seqend 子实体永远不会返回。nentselentselnentselentselnentselnentsel
注意:轻量级折线(lw折线图元)在图形数据库中定义为单个图元;它不包含子实体。
在块参照中选择属性将返回属性的名称和拾取点。当所选对象是块引用的组件而不是属性时,将返回包含四个元素的列表。nentsel 在块中选取对象返回的列表的第一个元素是所选实体的名称。 第二个元素是一个列表,其中包含用于拾取对象的点的坐标。 第三个元素称为“模型到世界转换矩阵”。它是一个由四个子列表组成的列表,每个子列表包含一组坐标。此矩阵可用于将实体定义数据点从称为模型坐标系 (MCS) 的内部坐标系转换为世界坐标系 (WCS)。包含选定图元的块的插入点定义 MCS 的原点。创建模块时 UCS 的方向决定了 MCS 轴的方向。
注意:是唯一使用此类型矩阵的 AutoLISP 函数;该函数返回一个类似于其他 AutoLISP 和 ObjectARX 函数使用的矩阵。nentselnentselp
第四个元素是一个列表,其中包含包含所选对象的块的实体名称。如果所选对象位于嵌套块(块中的块)中,则该列表还包含所选对象嵌套的所有块的实体名称,从最里面的块开始,一直向外延伸,直到报告在图形中插入的块的名称。 言论该函数提示用户选择一个对象。除非用户明确请求,否则将忽略当前的对象捕捉模式。若要在命令提示符下提供其他支持,请遵循由先前调用 .nentselnentselinitget 例子绘制具有多个线段的 3D 折线;然后加载并运行以下函数,并选择线路的不同段。摘取该行,然后再次选取相同的段以查看子实体句柄。尝试使用轻量级折线以查看差异。 (defun c:subent () (while (setq Ent (entsel "\nPick an entity: ")) (print (strcat "Entity handle is: " (cdr (assoc 5 (entget (car Ent)))))) ) (while (setq Ent (nentsel "\nPick an entity or subEntity: ")) (print (strcat "Entity or subEntity handle is: " (cdr (assoc 5 (entget (car Ent)))))) ) (prompt "\nDone.") (princ) ) 相关概念 |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-14 06:33
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.