CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

nentsel(AutoLISP)

2023-1-7 18:37| 发布者: admin| 查看: 262| 评论: 0|来自: AutoCAD

摘要: 通过指定点提示用户选择对象(实体),并提供对复杂对象中包含的定义数据的访问

通过指定点提示用户选择对象(实体),并提供对复杂对象中包含的定义数据的访问

支持的平台:视窗和 Mac OS

签名

(nentsel [msg])
.msg

类型:字符串

要显示为提示的消息。如果省略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)
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 15:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部