Utility.GetPoint问题
我有一个表单呈现给用户。在表单上,系统会询问用户是希望获得 2 点之间的距离还是指定长度。然后我画了墙。如果用户指定长度,则我只将第二个点用于旋转角度。
如果用户说从2点获得距离,然后选择它们,它也可以正常工作。
但是,有时用户希望指定第一个点并在命令行中输入第二个点。
示例:
用户选择第一个点,然后在提示“选择墙的第二个点:”时,用户键入@48,0,然后输入
或
用户选择第一个点,然后在提示时“选择墙的第二个点:”,用户键入48,0,然后输入。
无论用户键入此内容的原因是什么,返回的值在引用第一个点时始终是错误的。
我尝试过这个绘图。Utility.TranslateCoordinates(Point2, acWorld, acUCS, False),但它仍然给了我错误的数字。
有人有任何想法或建议吗?我不想在表单上指定第三个选项并显示不同的提示。这样,用户可以在选择第一个点后处理不同的情况。
谢谢,
戴夫
Point1 = thisdrawing.Utility.GetPoint(, "Select first point of wall: ")
Point2 = thisdrawing.Utility.GetPoint(, "Select second point of wall: ")
Point2(2) = Point1(2)
retAngle = thisdrawing.Utility.AngleFromXAxis(Point1, Point2)
If Check1.value = vbChecked Then
WallWidth = CDbl(Text4.Text)
Else
xx = Point1(0) - Point2(0)
yy = Point1(1) - Point2(1)
zz = Point1(2) - Point2(2)
WallWidth = Round(Sqr((Sqr((xx ^ 2) + (yy ^ 2)) ^ 2) + (zz ^ 2)), 5)
End If
**** Hidden Message ***** 我不确定为什么它不适合你,你是否在第二个getpoint函数上使用相对变量?
这可能有助于您调试一些。
Public Sub Test()
Dim OnePoint as Variant
Dim TwoPoint As Variant
OnePoint = ThisDrawing.Utility.GetPoint(, “Pick 1st point:”)
TwoPoint = ThisDrawing.Utility.GetPoint(OnePoint, “And the second?”)
MsgBox “Distance” & Str(Distance(OnePoint, TwoPoint)) & “ X:” & OnePoint(0) - TwoPoint(0) & _
“ Y:” & OnePoint(1) - TwoPoint(1), , “One Fish Two Fish”
End Sub
效果很好!
谢谢。
我以为我错过了一些重要的东西。
戴夫
页:
[1]