通过指定点提示用户选择对象(实体),并提供对复杂对象中包含的定义数据的访问 支持的平台:视窗和 Mac OS 签名(nentsel [msg])
返回值类型:名称(实体名称) 当所选对象不复杂(即不是三维折线或块)时,返回与 相同的信息。但是,如果所选对象是 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, 2024-12-15 14:28
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.