明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1878|回复: 10

求教顶点问题.........

[复制链接]
发表于 2005-7-11 18:24 | 显示全部楼层 |阅读模式

求教顶点问题.........

我想问一下,,怎么样才能更新一条线段的某一个点的坐标(更新表可以吗?)

我用的方法是:得到一个线段的所有点,然后删除这条线,再重新画这条线,我觉得这种方法很麻烦,,(我听说可以用更新表的方法,哪位大哥给个例子。)


哪位朋友有什么好办法吗???谢谢了。。


我发了一个图,就是把图上多段线任意一个点移动到point点上就行了......

本帖子中包含更多资源

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

x
发表于 2005-7-11 20:24 | 显示全部楼层
关键是找到这个点,然后通过SUBST替换列表,再用ENTMOD更新对象数据即可
发表于 2005-7-11 20:35 | 显示全部楼层

pt1----要被替换的点

pt2----新点

(setq ents (entget (car (entsel))))

(setq ents (subst (cons 10 pt2) (cons 10 pt1) ents))

(entmod ents)

 楼主| 发表于 2005-7-12 07:47 | 显示全部楼层
谢谢你,,,,,呵
 楼主| 发表于 2005-7-13 09:28 | 显示全部楼层

呵呵,,,,, 太谢谢你们了...............    

我还想问一下,,,我要删除一个点,应该怎么做啊.......我用的还是重画的方法,,很笨吧. 更新表的方法很快,,

怎么样用表删除一个点呢?????

 


 

发表于 2005-7-13 10:05 | 显示全部楼层

 pt----要删除的点

 (setq ents (entget (car (entsel))))
  (setq ents1 (reverse (cdr (member (cons 10 pt) (reverse ents)))))
  (setq ents1 (append ents1 (cdddr (member (cons 10 pt) ents))))
  (entmod ents1)

发表于 2005-7-13 12:58 | 显示全部楼层
转贴:

本帖子中包含更多资源

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

x
 楼主| 发表于 2005-7-13 16:47 | 显示全部楼层
xie xie
 楼主| 发表于 2005-7-13 20:45 | 显示全部楼层

(vl-load-com)
(defun c:333()
  (setq ent(car (entsel)))
  (setq pt (vlax-curve-getstartpoint ent))
  (setq ents (entget ent))
  (setq ents1 (reverse (cdr (member (cons 10 pt) (reverse ents)))))
  (setq ents1 (append ents1 (cdddr (member (cons 10 pt) ents))))
  (entmod ents1)
)


这个程序对吗??? 哪个地方出错了.....................怎么不好用呢..................哪位大侠再指点一下.......

谢谢..........................

发表于 2005-7-13 21:16 | 显示全部楼层
你的pt是三维的,而DXF组码中的点是二维的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-7 20:42 , Processed in 0.353257 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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