找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3197|回复: 8

[求助] entnext获取子图元信息

[复制链接]

已领礼包: 13个

财富等级: 恭喜发财

发表于 2016-9-27 17:18:04 来自手机 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

我通过ssget选择后,获得了其中某一个多段线主图元的对象名,不知怎样通过主图元名用entnext来获得子图元名呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 51个

财富等级: 招财进宝

发表于 2016-9-27 17:26:04 | 显示全部楼层
你想获得什么子图元名呢?

如果是图块带属性,你想获得属性,就 (entnext e)   就行了,e是主图块实体名。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2016-9-27 17:44:39 | 显示全部楼层
哦,回复完才看到你说的是多段线, 是LWPOLYLINE还是POLYLINE? 如果是LWPOLYLINE你不能通过ENTNEXT获得子实体,因为LWPOLYLINE是一个单独的对象。

如果是二维多段线POLYLINE,那你就是想获得顶点子实体了,用ENTNEXT 下去,直到组吗0位SEQEND为止



命令: (setq e (entlast))
<图元名: -24c5d0>

命令: (setq e (entnext e))
<图元名: -24c5c8>

命令: (entget e)
((-1 . <图元名: -24c5c8>) (0 . "VERTEX") (330 . <图元名: -24c5d0>) (5 . "277") (100 .
"AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbVertex") (100 .
"AcDb2dVertex") (10 1955.96 -130.373 0.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (70
. 0) (50 . 0.0))

命令: (setq e (entnext e))
<图元名: -24c5c0>

命令: (entget e)
((-1 . <图元名: -24c5c0>) (0 . "VERTEX") (330 . <图元名: -24c5d0>) (5 . "278") (100 .
"AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbVertex") (100 .
"AcDb2dVertex") (10 3611.53 557.745 0.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (70 .
0) (50 . 0.0))

命令: (setq e (entnext e))
<图元名: -24c5b8>

命令: (entget e)
((-1 . <图元名: -24c5a8>) (0 . "SEQEND") (330 . <图元名: -24c5d0>) (5 . "27B") (100 .
"AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (-2 . <图元名: -24c5d0>))


下面代码获得2D POLYLINE的顶点表

  1. (defun _getVerts (ent / ed pts)
  2.   (setq ed (entget ent))
  3.   (if (= (cdr (assoc 0 ed)) "POLYLINE")
  4.     (progn
  5.       (while
  6.   (and (setq ent (entnext ent))
  7.        (setq ed (entget ent))
  8.        (/= (cdr (assoc 0 ed)) "SEQEND")
  9.   )
  10.    (setq pts (cons (cdr (assoc 10 ed)) pts))
  11.       )
  12.       (reverse pts)
  13.     )
  14.   )
  15. )


命令: (_GETVERTS (entlast))
((1955.96 -130.373 0.0) (3611.53 557.745 0.0) (3803.58 -150.222 0.0) (3088.37
-481.048 0.0))



论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

 楼主| 发表于 2016-9-27 17:50:18 | 显示全部楼层

谢谢,多段线没有啊,只有二维的才有啊,学习啦
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2016-9-27 17:55:50 | 显示全部楼层
本帖最后由 Lispboy 于 2016-9-27 17:59 编辑

LWPOLYLINE  是个完整的对象,不是由子实体顶点组成的,LWPOLYLINE的顶点信息都是在他的(entget e)里面保存着呢。

下面代码获得LWPOLYLINE的顶点表:

e是LWPOLYLINE实体名

  1. (mapcar 'cdr (vl-remove-if '(lambda(x)(/= (car x) 10))(entget e)))


或者:
  1. (vl-remove nil
  2.            (mapcar '(lambda (x)
  3.                       (if (= (car x) 10)
  4.                         (cdr x)
  5.                         nil
  6.                       )
  7.                     )
  8.                    (entget e)
  9.            )
  10. )


是二维点。

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6451个

财富等级: 富甲天下

发表于 2016-9-27 19:59:41 | 显示全部楼层
谢谢提供,学习了!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6451个

财富等级: 富甲天下

发表于 2016-9-27 20:22:48 | 显示全部楼层
谢谢提供,学习了!!!!!1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6451个

财富等级: 富甲天下

发表于 2016-9-27 20:24:08 | 显示全部楼层
谢谢提供,学习了!!!!!1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1757个

财富等级: 堆金积玉

发表于 2016-9-28 09:13:00 | 显示全部楼层
                                   

评分

参与人数 1D豆 -15 收起 理由
newer -15 请开心交流!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-3-29 15:45 , Processed in 0.223023 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表