找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 956|回复: 3

[教学] Lwpolyline消除重复点

[复制链接]

已领礼包: 264个

财富等级: 日进斗金

发表于 2015-7-22 18:43:01 | 显示全部楼层 |阅读模式

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

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

×
  1. (defun c:tt (/ s e obj epam n pts)
  2.   (if (setq s (ssget "+.:S" '((0 . "lwpolyline"))))
  3.     (progn
  4.       (setq e         (ssname s 0)
  5.             obj         (vlax-ename->vla-object e)
  6.             epam (vlax-curve-getendparam e)
  7.             n         epam
  8.       )
  9.       (while (> epam -1)
  10.         (setq p (vlax-curve-getpointatparam e epam))
  11.         (if pts
  12.           (if (vl-some '(lambda (x) (equal x p 1e-6)) pts)
  13.             nil
  14.             (setq pts (cons p pts))
  15.           )
  16.           (setq pts (cons p pts))
  17.         )
  18.         (setq epam (1- epam))
  19.       )
  20.       (if (/= n (length pts))
  21.         (progn
  22.           (if (vlax-curve-isclosed e)
  23.             (setq pts (cons (last pts) (reverse (cdr (reverse pts)))))
  24.           )
  25.           (vlax-put obj
  26.                     'Coordinates
  27.                     (apply 'append
  28.                            (mapcar '(lambda (x)
  29.                                       (list (car x) (cadr x))
  30.                                     )
  31.                                    pts
  32.                            )
  33.                     )
  34.           )
  35.         )
  36.       )
  37.     )
  38.   )
  39.   (princ)
  40. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 5592个

财富等级: 富甲天下

发表于 2015-7-23 07:42:25 | 显示全部楼层
这个不错,如果能将处于直线上的各点再进行合并,则功能更加实用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2015-7-23 09:01:43 来自手机 | 显示全部楼层
三个点一组再判断下是否共线,共线时去掉car
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-11 14:04 , Processed in 0.198165 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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