Atook 发表于 2006-7-18 12:00:14

公用事业GetPoint问题

我有一张表格给用户。在表单上,询问用户是否希望获得两点之间的距离或指定长度。然后我画墙
如果用户指定长度,则我仅将第二个点用于旋转角度
如果用户说从这两个点获得距离,然后选择它们,那么效果也很好
然而,有时用户希望指定第一个点并在命令行输入第二个点
示例:
用户选择第一个点,然后在出现提示时,“;选择墙的第二个点:;,用户键入@48,0,然后输入

。用户选择第一个点,然后在出现提示时,“;选择墙的第二个点:;,用户键入48,0,然后输入
无论用户为什么键入,返回的值相对于第一个点总是错误的
我试过thisdrawing.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


汪洋大海 发表于 2006-7-18 12:32:55

本人'我不知道为什么它不会#039;你在第二个getpoint函数上使用相对变量吗
这可能有助于调试一些..Public Sub Test()
Dim OnePoint As Variant
Dim twoint As variance
OnePoint=ThisDrawing.Utility。GetPoint(,“拾取第一个点:”)
两点=ThisDrawing.Utility。GetPoint(一个点,第二个点)
MsgBox“;“距离”&Str(距离(一点、两点))&amp&引用;十: “是的&一点(0)-两点(0)&amp_
"Y: “是的&一点(1)-两点(1),“1”;一条鱼两条鱼“
结束Sub

许愿树 发表于 2006-7-18 12:47:22

效果很好
非常感谢
我以为我错过了一些重要的东西
戴夫
页: [1]
查看完整版本: 公用事业GetPoint问题