乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 52|回复: 9

[编程交流] (n) entsel(p)

[复制链接]

8

主题

20

帖子

12

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 12:16:54 | 显示全部楼层 |阅读模式
nentsel:通过指定点提示用户选择对象(实体),并提供对复杂对象中包含的定义数据的访问(我假设这意味着它将获取嵌套实体,例如块)
 
nentselp:提供与nentsel功能类似的功能,无需用户输入
 
entsel:提示用户通过指定点来选择单个对象(实体)
 
我正在寻找一个EntSelp和entsel的组合,其中我有一个预定点(不希望被提示),我希望实体数据是块的数据,而不是块中的嵌套对象。为什么没有entselp函数?
回复

使用道具 举报

20

主题

344

帖子

325

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 12:25:45 | 显示全部楼层
Nentselp返回一个包含大量良好信息的列表。该列表中的第一项是嵌套实体。该列表中的最后一项是嵌套在其中的实体。您只需要(car(last(nentselp(getpoint)))之类的东西。
回复

使用道具 举报

8

主题

20

帖子

12

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 12:35:11 | 显示全部楼层
谢谢你的回复。我对这个有点陌生。你能告诉我我做错了什么吗?我只是想弄清楚积木的层次。ip是我的观点
 
  1. (setq ent1 (nentselp ip))
  2. (setq ent2 (entget (car (last (ent1)))))
  3. (setq blayer (cdr (assoc 8 ent2)))
回复

使用道具 举报

20

主题

344

帖子

325

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 12:38:56 | 显示全部楼层
你的第一句话很好,准确无误。
 
第二行有一个错误:变量周围有括号。该语法将告诉解释器(ent1)是一个函数,很像(entsel)或(ssget)(参见括号?)。所以只要把你的第二行画成这样:
 
  1. (setq ent2 (entget (car (last ent1))))
并且你的第三条线看起来也很对位,所以应该可以。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 12:46:30 | 显示全部楼层
您可以使用ssget。例如:
  1. (and (setq pt (getpoint "\nSpecify point: "))
  2.     (setq ss (ssget pt))
  3.     (setq en (entget (ssname ss 0)))
  4.     )
回复

使用道具 举报

8

主题

20

帖子

12

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 12:51:27 | 显示全部楼层
多亏了你们两个,现在效果很好!
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 12:59:38 | 显示全部楼层
 
没问题。我只是想提供另一个选择。
回复

使用道具 举报

20

主题

344

帖子

325

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 13:06:56 | 显示全部楼层
这是一个很好的解决方案,艾伦。我甚至没有想到,我只是跳进了“解决问题”的模式。似乎只有当我的思绪徘徊时,我才能跳出框框思考。
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2022-7-6 13:14:07 | 显示全部楼层
你好
 
注意(last(nentselp)),它返回从较深嵌套到外部的所有父实体的列表,即选择嵌套在块B中的块a中的一条线:
(car(nentselp))返回行ename
(last(nentselp))返回一个列表,其中第一项是行所有者(块a),第二项是块a(块B)的所有者。
 
因此,如果要获得较高的父实体,必须使用:
(最后(最后(nentselp)))
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 13:18:24 | 显示全部楼层
嗯,我昨晚在玩ssget,所以它在我脑海里很新鲜。所以,我得到了一些帮助。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 06:14 , Processed in 0.375802 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表