明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2723|回复: 6

[已解答] 如何删除多边形的多余顶点

  [复制链接]
发表于 2015-2-5 22:12:30 | 显示全部楼层 |阅读模式
5明经币

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=101010
找到这个帖子,但是不行,我想这样,输入一个命令,然后选择一个多边形,然后再点击那个点,然后就那个顶点就删掉





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

最佳答案

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2015-2-5 22:12:31 | 显示全部楼层
本帖最后由 vectra 于 2015-2-5 22:54 编辑

  1. (defun c:tt (/ code ent n obj p pr)

  2.   (princ "\n选择多段线上要移除的顶点:")
  3.   (setq ent (ssget ":S" '((0 . "*POLYLINE"))))

  4.   (if ent
  5.     (progn
  6.       (setq ent (ssname ent 0))
  7.       (redraw ent 3)

  8.       (setq p  (getpoint "指定顶点:")
  9.       obj  (vlax-ename->vla-object ent)
  10.       p  (vlax-curve-getclosestpointto obj (trans p 1 0))
  11.       n  (fix (+ 0.5 (vlax-curve-getparamatpoint obj p))) ;_ 所选的顶点序号
  12.       pr  (vlax-safearray->list
  13.       (vlax-variant-value (vla-get-coordinate obj n))
  14.     )
  15.       )
  16.       (cond
  17.   ((= "LWPOLYLINE" (cdr (assoc 0 (entget ent))))
  18.    (setq code (entget ent)
  19.          code (vl-remove-if '(lambda (x) (equal pr (cdr x) 0.1)) code)
  20.    )
  21.    (entmod code)
  22.   )

  23.   ((= "POLYLINE" (cdr (assoc 0 (entget ent))))
  24.    (while  (and (setq ent (entnext ent))
  25.          (/= "SEQEND" (cdr (assoc 0 (entget ent))))
  26.     )
  27.      (if (and (= "VERTEX" (cdr (assoc 0 (entget ent))))
  28.         (equal (cdr (assoc 10 (entget ent))) pr 0.1)
  29.          )
  30.        (vla-delete (vlax-ename->vla-object ent))
  31.      )
  32.    )
  33.   )
  34.       )

  35.       (redraw ent 4)
  36.     )
  37.   )
  38.   (princ)
  39. )

评分

参与人数 1明经币 +1 收起 理由
tryhi + 1

查看全部评分

回复

使用道具 举报

发表于 2015-2-5 22:18:53 | 显示全部楼层
搜一下关于多线段。。。里面有很全的关于多线段的处理。。
黄大师出品
回复

使用道具 举报

发表于 2015-2-5 22:26:05 | 显示全部楼层
根本不用求助,搜搜就有
回复

使用道具 举报

发表于 2015-2-5 22:26:20 | 显示全部楼层
回复

使用道具 举报

发表于 2016-6-30 08:24:38 来自手机 | 显示全部楼层
应该有用,收藏了,谢谢分享
回复

使用道具 举报

发表于 2020-12-14 22:18:38 | 显示全部楼层
非常不错的程序,谢谢楼主分享
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-17 13:19 , Processed in 0.208846 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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