如何使用输入的点作为圆锥的顶部而不是圆锥的底部?

时间:2019-01-14 08:14:53

标签: vba autocad

我编写了以下代码来创建实心圆锥,并且输入的圆锥中心是基点,但是我需要使用输入的点作为圆锥的顶部。

我应该更改代码的哪一部分?

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

Reference Link

1 个答案:

答案 0 :(得分:0)

更改:

conecenter(2) = conecenter(2) + coneheight / 2#

收件人:

conecenter(2) = conecenter(2) - coneheight / 2#

也就是说,addcone方法所要求的圆锥中心(圆锥边界框的中心)是z坐标位于圆锥顶部下方一半圆锥高度的点。