找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1397|回复: 19

[求助] 如何提取这个表中的四个顶点的数据?

[复制链接]

已领礼包: 161个

财富等级: 日进斗金

发表于 2016-7-31 20:43:34 | 显示全部楼层 |阅读模式

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

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

×
这个是一个矩形通过entget获得的表,用assoc 10 只能提取出第一个顶点的,有什么办法可以把四个顶点提取出来?((-1 . <图元名: 7efabed8>) (0 . "LWPOLYLINE") (330 . <图元名: 7efabdb8>) (5 . "5B") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 1) (100 .
"AcDbPolyline") (90 . 4) (70 . 1) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 296.768
-63.7544) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 586.32 243.236) (40 . 0.0) (41 .
0.0) (42 . 0.0) (10 803.833 38.0794) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10
514.28 -268.911) (40 . 0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0))


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

已领礼包: 161个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 620个

财富等级: 财运亨通

发表于 2016-7-31 20:56:20 | 显示全部楼层
循环提取组码10,直到没有为止

点评

谢谢大神,这段时间比较忙,我用循环貌似也总是只提取第一个关键字为10的顶点,可能是我哪里搞错了,我最后是这么搞得 (setq s (entget (entlast)))(setq l (length s)) (setq db (list )) (setq n 0) (repeat  详情 回复 发表于 2016-8-10 15:54
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 541个

财富等级: 财运亨通

发表于 2016-7-31 21:05:13 | 显示全部楼层
可以试试 vla-get-coordinate

点评

vla 函数我还都没有看,使用不来,难学吗?这个东西  详情 回复 发表于 2016-8-10 15:57
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-7-31 21:12:43 | 显示全部楼层
还可以 assoc 10, 然后cdr 再 assoc 10 循环直到NIL

点评

谢谢大神,这段时间比较忙,我用循环貌似也总是只提取第一个关键字为10的顶点,可能是我哪里搞错了,我最后是这么搞得 (setq s (entget (entlast)))(setq l (length s)) (setq db (list )) (setq n 0) (repeat  详情 回复 发表于 2016-8-10 15:55
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 161个

财富等级: 日进斗金

 楼主| 发表于 2016-8-10 15:54:35 | 显示全部楼层
1993063 发表于 2016-7-31 20:56
循环提取组码10,直到没有为止

谢谢大神,这段时间比较忙,我用循环貌似也总是只提取第一个关键字为10的顶点,可能是我哪里搞错了,我最后是这么搞得 (setq s (entget (entlast)))(setq l (length s))
(setq db (list ))
  (setq n 0)
(repeat l
  (setq ys (nth n s))
  ;(setq dd (assoc 10 ys))
  ;(princ ys)
  (if (=(car ys) 10)
   (progn
     (setq dd (cdr ys))
     (setq db (cons dd db))
    );end progn
    );endif
  (setq n (+ n 1))
  );end repeat


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

使用道具 举报

已领礼包: 161个

财富等级: 日进斗金

 楼主| 发表于 2016-8-10 15:55:59 | 显示全部楼层
newer 发表于 2016-7-31 21:12
还可以 assoc 10, 然后cdr 再 assoc 10 循环直到NIL

谢谢大神,这段时间比较忙,我用循环貌似也总是只提取第一个关键字为10的顶点,可能是我哪里搞错了,我最后是这么搞得 (setq s (entget (entlast)))(setq l (length s))
(setq db (list ))
  (setq n 0)
(repeat l
  (setq ys (nth n s))
  ;(setq dd (assoc 10 ys))
  ;(princ ys)
  (if (=(car ys) 10)
   (progn
     (setq dd (cdr ys))
     (setq db (cons dd db))
    );end progn
    );endif
  (setq n (+ n 1))
  );end repeat


点评

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

使用道具 举报

已领礼包: 161个

财富等级: 日进斗金

 楼主| 发表于 2016-8-10 15:57:25 | 显示全部楼层
lovezp 发表于 2016-7-31 21:05
可以试试 vla-get-coordinate

vla 函数我还都没有看,使用不来,难学吗?这个东西

点评

恩恩,谢谢拉!  详情 回复 发表于 2016-8-10 16:49
没什么难学的,你学会了,只能让你写代码更快,效率更高。  详情 回复 发表于 2016-8-10 16:13
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-8-10 16:13:28 | 显示全部楼层
qq1846687144 发表于 2016-8-10 15:57
vla 函数我还都没有看,使用不来,难学吗?这个东西

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

使用道具 举报

已领礼包: 541个

财富等级: 财运亨通

发表于 2016-8-10 16:21:04 | 显示全部楼层
帮助文件目录里 ActiveX and VBA Reference-----Object Model,要用哪个图元就看哪个图元。

点评

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

使用道具 举报

已领礼包: 161个

财富等级: 日进斗金

 楼主| 发表于 2016-8-10 16:49:43 | 显示全部楼层
qq1846687144 发表于 2016-8-10 15:57
vla 函数我还都没有看,使用不来,难学吗?这个东西

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

使用道具 举报

已领礼包: 161个

财富等级: 日进斗金

 楼主| 发表于 2016-8-10 16:52:21 | 显示全部楼层
lovezp 发表于 2016-8-10 16:21
帮助文件目录里 ActiveX and VBA Reference-----Object Model,要用哪个图元就看哪个图元。

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

使用道具 举报

发表于 2016-8-11 10:43:57 | 显示全部楼层
  1. (mapcar'cdr(vl-remove-if'(lambda(x)(/=(car x)10))(member(assoc 10 en)en)))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 14:22 , Processed in 0.192789 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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