明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1352|回复: 4

为何运行结果不是直线与圆弧相切

[复制链接]
发表于 2004-6-22 21:30:00 | 显示全部楼层 |阅读模式
过三点 cp1 、cp2、 cp3作曲线,其中cp1 、cp2段为直线,cp2 、cp3段为圆弧,且圆弧与直线相切,有以下程序段: sub test() Dim cp1(1), cp2(1), cp3(1) As Double
Dim ang1 As Double, ang2 As Double, ang As Double
Dim cp(5) As Double

cp1(0) = pnts1(0): cp1(1) = pnts1(1)
cp2(0) = pnts(0): cp2(1) = pnts(1)
cp3(0) = mc(0) + d / 2 + m + r: cp3(1) = mc(1) + r * (1 - Cos(r0))

cp(0) = cp1(0): cp(1) = cp1(1)
cp(2) = cp2(0): cp(3) = cp2(1)
cp(4) = cp3(0): cp(5) = cp3(1)

ang1 = ThisDrawing.Utility.AngleFromXAxis(cp1, cp2)
ang2 = ThisDrawing.Utility.AngleFromXAxis(cp2, cp3)
ang = ang2 - ang1 Dim pl As AcadLWPolyline
Set pl = ThisDrawing.ModelSpace.AddLightWeightPolyline(cp) pl.SetBulge 1, Tan(ang / 2)
end sub 程序段中, mc(0) 、 d 、m 、r、 mc(1) 、r0、pnts1(0)、pnts1(1)
pnts(0)、pnts(1)值已给出。为何运行结果不是直线与圆弧相切,而仅是直线段? 请大家帮忙看看!!
发表于 2004-6-22 21:39:00 | 显示全部楼层
凸度的概念有错吧,它是弓高与半弦长的比值。
发表于 2004-6-22 22:39:00 | 显示全部楼层
 楼主| 发表于 2004-6-23 10:22:00 | 显示全部楼层
伊凡老师,凸度没错阿!我检查过了,可就是结果不正确,到底怎末回事呀??
发表于 2004-6-23 10:28:00 | 显示全部楼层
你看看3楼的链接
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 04:42 , Processed in 0.208553 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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