以一定角度创建直线
大家好,我的代码几乎完成了,但我在最后被卡住了。我应该指示方向,并且被提供了u和v的值。
使用atan(v/u)得到θ的值。
但我猜想的问题是,默认情况下,单位设置为逆时针向东。如果我必须画83°,它看起来像7°。因为它在东部显示0。如果我将单位改为顺时针北向,只有手动绘制时才会有差异,但如果我尝试通过VBA绘制,则不会有差异。
是否有一种方法或一些设置,使我可以将0°北顺时针作为默认值
请查看附件中的图片。
谢谢
普里扬卡
我认为系统变量ANGBASE(设置为90)和ANGDIR(设置为1)就是您要寻找的。请不要忘记这些都保存在图纸中。
当做 这没用。我试着把angbase设为0,但还是一样。
对不起,我忘了在我的前一个线程中粘贴代码。代码有问题吗?!
Dim Line As AcadLine
Dim r As Double
Dim theta As Double
Pnt = ThisDrawing.Utility.GetPoint(, "select point")
InsertionPoint(0) = Pnt(0)
InsertionPoint(1) = Pnt(1)
InsertionPoint(2) = 0
r = 2 'Suppose r = 2 and theta = 0 radians
theta = 0
polarpnt = ThisDrawing.Utility.PolarPoint(InsertionPoint, theta, r)
Set Line = ThisDrawing.ModelSpace.AddLine(InsertionPoint, polarpnt)
Dim pText As AcadText
degree = (theta * 180) / 3.14
Set pText = ThisDrawing.ModelSpace.AddText(degree, (Line.EndPoint), 0.3)
由于您希望北方为0角度,因此应将ANGBASE设置为90,而不是0。我认为以下示例是您需要使用的:
ThisDrawing.SetVariable "ANGBASE", 90
ThisDrawing.SetVariable "ANGDIR", 1
请注意,VBA/有一个单独的子论坛。Net解决方案。
当做 还是没有运气。。即使包括上述代码,当θ=0时,它仍在以90°北创建直线。我还需要添加更多的代码行吗。
当我手动更改绘图单位角度并使用类似@10的命令手动创建一条线时
页:
[1]