设为首页收藏本站

晓东CAD家园-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1349|回复: 4

[VBA函数]:求助,如何在VBA中利用三点绘制圆弧?

[复制链接]
发表于 2006-3-20 08:35:49 | 显示全部楼层 |阅读模式

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

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

x
如何在VBA中利用三点,即起点、中点、终点绘制圆弧,并返回圆心坐标?
请高手指点!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-6-1 10:41:03 | 显示全部楼层
1. 选取三点startPt, midPt, endPt
2. 画直线line1 (startPt-midPt )    line2 (midPt-endPt)
3, 将直线line1 line2以他们的中点为基点各自Rotate  90度
4  利用IntersectWith求出两直线的交点,即圆弧的圆心
5  再计算出radius startAngle endAngle
6  addArc

呵呵 不知道这样麻烦不麻烦?希望有更简单的方法!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-3 15:33:03 | 显示全部楼层
假定三点不共线,即三点构成三角形,三点坐标分别为
startPt(x1,y1),midPt(x2,y2),endPt(x3,y3)
则圆心坐标为O((x1+x2+x3)/3,(y1+y2+y3)/3)
然后就可画出弧了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-25 11:58:34 | 显示全部楼层
3楼的要简便一些。可以参考cad自身的命令来实现
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-8-12 18:19:02 | 显示全部楼层
3楼的公式是错误的

其实只要判断一下3点不在一条直线上,然后调用cad命令arc三点画弧画出弧线,在查看最后一个图素object.Center即可。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-9-19 20:25 , Processed in 0.141298 second(s), 28 queries , Gzip On, WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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