如何使用输入的点作为圆锥的顶部而不是圆锥的底部?
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
变化:
conecenter(2) = conecenter(2) + coneheight / 2#
至:
conecenter(2) = conecenter(2) - coneheight / 2#
即addcone
方法要求的圆锥中心(圆锥边界框的中心)为z坐标为圆锥顶以下半圆锥高度的点。
我写了下面的代码来创建一个实心圆锥体,我输入的圆锥体中心是一个基点,但我需要使用输入的点作为圆锥体的顶部。
我应该更改代码的哪一部分?
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
变化:
conecenter(2) = conecenter(2) + coneheight / 2#
至:
conecenter(2) = conecenter(2) - coneheight / 2#
即addcone
方法要求的圆锥中心(圆锥边界框的中心)为z坐标为圆锥顶以下半圆锥高度的点。