我编写了以下代码来创建实心圆锥,并且输入的圆锥中心是基点,但是我需要使用输入的点作为圆锥的顶部。
我应该更改代码的哪一部分?
Public Sub Drawcone()
Dim coneobject As Acad3DSolid
Dim cinecenter As Variant
Dim coneradius As Double
Dim coneheight As Double
With ThisDrawing.Utility
conecenter = .GetPoint(, vbCr & "select position for base of cone:")
coneradius = .GetDistance(conecenter, vbCr & "Enter radius of base :")
coneheight = .GetDistance(conecenter, vbCr & "enter geight of cone:")
End With
conecenter(2) = conecenter(2) + coneheight / 2#
Set cneobject = ThisDrawing.ModelSpace.AddCone(conecenter, coneradius, coneheight)
coneobject.Update
ChangeViewDirection
End Sub
答案 0 :(得分:0)
更改:
conecenter(2) = conecenter(2) + coneheight / 2#
收件人:
conecenter(2) = conecenter(2) - coneheight / 2#
也就是说,addcone
方法所要求的圆锥中心(圆锥边界框的中心)是z坐标位于圆锥顶部下方一半圆锥高度的点。