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

How to use the entered point as the top of cone instead of base of cone?

我写了下面的代码来创建一个实心圆锥体,我输入的圆锥体中心是一个基点,但我需要使用输入的点作为圆锥体的顶部。

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

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

变化:

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

至:

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

addcone方法要求的圆锥中心(圆锥边界框的中心)为z坐标为圆锥顶以下半圆锥高度的点。