AutoCAD VBA 两点角度计算
计算角度利用反正切注意斜率存在的条件,X不能为0,先要剔除再坐标中上的情况,在分类讨论计算实际的角度,范围0~2PI
p0 = pl.Coordinate(0) p1 = pl.Coordinate(1) Dim v As Variant, lth As Double v = Array(p1(0) - p0(0), p1(1) - p0(1)) Dim ang As Double, sp(0 To 2) As Double ang = Atn(v(1) / v(0)) * 180# / (4 * Math.Atn(1)) If v(0) = 0# Then If v(1) > 0 Then ang = 90 Else ang = 270 'y轴 Else If v(1) = 0# Then If v(0) > 0 Then ang = 0# Else ang = 180 'x轴 Else If v(0) > 0 Then If v(1) > 0 Then ang = ang '第1象限 Else ang = ang + 360 '第4象限 End If Else If v(1) > 0 Then ang = ang + 180 '第2象限 Else ang = ang + 180 '第3象限 End If End If End If End If sp(0) = p1(0): sp(1) = p1(1): sp(2) = 0# With ThisDrawing.ModelSpace.AddText(ang, sp, 20) .Rotation = ang * (4 * Math.Atn(1)) / 180# .color = 3 End With
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!