选择案例角度
我试图简单地选择不同的角度,但当dblangle = 135或225时,什么都没有选择
:ugly:
选择案例dblangle
案例0,135,180,225
**** Hidden Message ***** 你到底想做什么? 角度是用弧度测量的,所以这可能会给你带来问题 dblradians = ThisDrawing。Utility.AngleFromXAxis(PolySp,PolyEp)
dblangle = dblradians *(180/PI)
选择大小写dblangle
大小写0,135,180,225
dblAng = 0 *(PI/180)
我只是尝试将135,180,225度转换为0
我不知道你是否错过了打字,但是什么是dblAng与dblangles? 如果要将它们全部设置为 0,为什么不 dblAng = 0? dblangle=dbl弧度*(180/PI)'conv弧度到度数
dblAng是我的返回值
你是对的,但我不能选择135和225 好吧,我试图复制你的问题,我认为你的问题是小数点。
Option Explicit
Sub Example_AngleFromXAxis()
' This example finds the angle, in radians, between the X axis
' and a line defined by two points.
Dim pt1(0 To 2) As Double
Dim pt2(0 To 2) As Double
Dim retAngle As Double
pt1(0) = 2: pt1(1) = 5: pt1(2) = 0
pt2(0) = 5: pt2(1) = 2: pt2(2) = 0
' Return the angle
retAngle = ThisDrawing.Utility.AngleFromXAxis(pt1, pt2)
retAngle = RtoD(retAngle)'***** added by cmdrduh
' Create the line for a visual reference
'***** added by cmdrduh
Dim intretangle As Integer
intretangle = CInt(retAngle)
Select Case intretangle
Case 0
MsgBox "0"
Case 315
MsgBox "315"
End Select
' end of***** added by cmdrduh
Dim lineObj As AcadLine
Set lineObj = ThisDrawing.ModelSpace.AddLine(pt1, pt2)
ZoomAll
' Display the angle found
MsgBox "The angle in radians between the X axis and the line is " & retAngle, , "AngleFromXAxis Example"
End Sub
'***** added by cmdrduh
Private Function DtoR(d As Double) ' Degrees to Radians
Const PI = 3.14159265
DtoR = (PI * d) / 180
End Function
Private Function RtoD(r As Double) ' Radians to Degrees
Const PI = 3.14159265
RtoD = (180 * r) / PI
End Function
这个函数是有帮助的,我添加了选择案例部分。 我无法找到315度线,直到我使用CInt()将双精度转换为整数。 你可以做类似的事情,或者扩大你的选择案例
谢谢
也许有更好的办法,但是我现在太累了,不想思考。也许有个大师能帮上忙。
页:
[1]
2