CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2023 开发者帮助

nentsel (AutoLISP)

2024-5-18 18:53| 发布者: admin| 查看: 125| 评论: 0|原作者: admin|来自: AutoCAD

nentsel (AutoLISP)

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

支持的平台:Windows 和 Mac OS

签名

(nentsel [msg])
味精

类型:字符串

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

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-3-14 06:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部