明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2473|回复: 6

请教一个关于polyline顶点的问题

[复制链接]
发表于 2003-12-13 16:47:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2003-12-13 22:24:40 编辑

我有一个polyline线,比如有1、2、3三个顶点。。。他们在一直线上,那我就要把2这个顶点给删了。。。请问怎么作?
(判断顶点1、2、3如果不在一直线那还是不要删的)

---------------
1             2              3

各位大虾帮忙解决一下吧
发表于 2003-12-13 19:06:00 | 显示全部楼层
判断1、2和2、3的角度,看是否相同,以及这两段是否都是直线
 楼主| 发表于 2003-12-13 21:34:00 | 显示全部楼层
还不是很懂。。。
而且我还碰到些问题:比如怎么样才能够删点。。。能有些简单的源代码吗?
发表于 2003-12-14 09:53:00 | 显示全部楼层
你应该提供你自己写的一个程序,不对没关系,这样能看出你会哪些,就比较好回答。比如说你第一个问题,我不清楚你是对功能实现不清楚,还是对这种判断的方法不清楚。。。

删除顶点将其对象的DXF组码中对应的顶点及40、41、42

  1. (defun c:test( / ent ents pt lst i)
  2.   (command "_.undo" "be")
  3.   (setq ent (car (entsel)))
  4.   (setq ents (entget ent))
  5.   (setq pt (getpoint "输入要删除的点:"))
  6.   (setq lst (member (cons 10 (reverse (cdr (reverse pt)))) ents))
  7.   (if lst
  8.     (progn
  9.       (setq lst (list (assoc 10 lst) (assoc 40 lst) (assoc 41 lst) (assoc 42 lst)))
  10.       (setq i 0)
  11.       (repeat 4
  12.         (setq ents (vl-remove (nth i lst) ents))
  13.         (setq i (1+ i))
  14.       )
  15.     )
  16.   )
  17.   (entmod ents)
  18.   (command "_.undo" "e")
  19.   (princ)
  20. )
 楼主| 发表于 2003-12-16 23:26:00 | 显示全部楼层
谢谢。。。老大。。。你写的那部分太经典了。。。如果我要写出同样的功能的要写很长。。。看样子我还是太菜了
发表于 2003-12-18 05:56:00 | 显示全部楼层
简化一下:
(defun c:test ()
  (setq p (getpoint "\nPick Point:"))
  (setq ents (entget (ssname (ssget p) 0)))
  (setq lst (member (list 10 (car p)(cadr p)) ents))
  (foreach i (list (assoc 10 lst)(assoc 40 lst)(assoc 41 lst)(assoc 42 lst))
    (setq ents (vl-remove i ents))
  )
  (entmod ents)
)
发表于 2003-12-18 07:47:00 | 显示全部楼层
;;MEFLYING
;;vl-remove會把相同的資料去掉
;;這樣會失去 相同點 & 相同寬度 & 相同凸度 的資料
;;LOCKMYEYE的復合線頂點編輯工具可供參考,等有空我也研究研究
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 10:31 , Processed in 0.183230 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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