找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1071|回复: 5

[求助] [求助]:如何求构成多边形的点表

[复制链接]
发表于 2007-5-18 14:30:37 | 显示全部楼层 |阅读模式

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

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

×
一个多边形是由若干个点连线形成的.
   现在想知道怎样才能把构成这多边形的点表求出来呢.
    我用过 .......  cdr (assoc 10 ........) 求出来的点只有一个,不知道有没有更好的方法可以求出全部的点

   请高人指点哦.

zml84快来吧.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-5-18 15:49:52 | 显示全部楼层
(setq zdm (ssname zxzj jj))
    (setq tym (entget zdm))
    (setq zdlist nil)
    (setq dh 0);点号初始化
    (setq n 0)
    (while (/= (nth n tym ) nil)
      (progn
        (if (= (car (nth n tym )) 10)
          (progn
            (setq dh (+ dh 1))
            (setq zdlist (append zdlist (list (list (cadr (nth n tym)) (caddr (nth n tym))))))
            (setq zb (list dh (list (cadr (nth n tym)) (caddr (nth n tym)))))
          );end progn
        );end if
      );end progn
      (setq n (+ n 1))
    );end while,坐标提取及坐标表构建完毕。
.......
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-5-18 16:01:37 | 显示全部楼层
(defun PointLIST(/ obj vtx n vtxlst ptlst cd pt1 pt)
    ;(vl-load-com)
    ;(setvar "luprec" 2)
    ;(setq ent (car(entsel)))
    (setq obj (vlax-ename->vla-object ent))
    (setq vtx (vla-get-Coordinates obj))
    (setq vtxlst (vlax-safearray->list (vlax-variant-value vtx)))
    (setq n 0)
    (setq ptlst nil cd (/ (length vtxlst) 2))
    (repeat cd
      (setq
        ptlst (append
                ptlst
                (list (list (nth n vtxlst) (nth (1+ n) vtxlst)))
              )
      )
      (setq n (+ n 2))
    )
  )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-5-19 12:01:36 | 显示全部楼层

获取多段线顶点坐标的代码片段

仿照2楼的代码,改进后如下:

  1. ;tmp2.lsp
  2. ;document.write("最后修改时间: " + document.lastModified)
  3. ;;获取多段线顶点坐标的代码片段
  4. (if (setq S1 (entsel "\n请点选多段线对象:"))
  5.     (progn
  6.         (setq ENT    (entget (car S1))
  7.               N             0
  8.               PT-LST '()
  9.         )
  10.         (while (/= (setq EI (nth N ENT)) NIL)
  11.             (if        (= (car EI) 10)
  12.                 (setq PT-LST (cons (cdr EI) PT-LST))
  13.             )
  14.             (setq N (1+ N))
  15.         )
  16.         (setq PT-LST (reverse PT-LST))
  17.     )
  18. )
  19. (princ pt-lst)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 10:33 , Processed in 0.391361 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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