magicpu 发表于 2005-7-27 10:56:00

请问如何在CAD中画椭球体?

请问如何在CAD中画椭球体?不知道为什么CAD中没有这个函数,本人尝试利用旋转椭圆的方法生成椭球体,但总是不能成功,还请大虾指教

marxbat 发表于 2005-7-28 07:42:00

torus,“指定圆环体半径”输入负值,“指定圆管半径”时输入正值,圆管半径绝对值比圆环体半径绝对值大。



承诺 发表于 2005-7-28 10:08:00

哈。。。又学了一招

magicpu 发表于 2005-7-28 13:30:00

呵呵,谢了,昨天仔细研究了一下,终于搞定了
Public Sub AddMyEllipsoid(ellipsoid As EllipsoidModel)
    Dim majAxis(0 To 2) As Double
    Dim center(0 To 2) As Double
    Dim radRatio As Double
    Dim curves(0 To 1) As AcadEntity
    Dim regionObj As Variant
    Dim startpt(0 To 2) As Double
    Dim endpt(0 To 2) As Double
   
    center(0) = ellipsoid.cx: center(1) = ellipsoid.cy: center(2) = ellipsoid.cz
    majAxis(0) = ellipsoid.rx: majAxis(1) = 0: majAxis(2) = 0
    radRatio = ellipsoid.ry / ellipsoid.rx
   
    Set curves(0) = ThisDrawing.ModelSpace.AddEllipse(center, majAxis, radRatio)
    curves(0).StartParameter = 0
    curves(0).EndParameter = 3.141592
   
    startpt(0) = ellipsoid.cx: startpt(1) = ellipsoid.cy: startpt(2) = ellipsoid.cz
    endpt(0) = ellipsoid.rx: endpt(1) = 0: endpt(2) = 0
   
    Set curves(1) = ThisDrawing.ModelSpace.AddLine(curves(0).StartPoint, curves(0).EndPoint)
   
    regionObj = ThisDrawing.ModelSpace.AddRegion(curves)
    Set ModelObj = ThisDrawing.ModelSpace.AddRevolvedSolid(regionObj(0), startpt, endpt, 6.28)
End Sub
其中EllipsoidModel是个结构体

wangfeiyin 发表于 2005-7-29 06:57:00

先做个椭圆,转换成面域,再将此面域延中线切除一半,将剩下面域延中线旋转360度成为椭球体。



☆笨蛋☆ 发表于 2005-7-30 12:55:00

不看不知道,一看吓一跳呀

zxdcad 发表于 2005-7-30 21:46:00


楼上几位做的应该是旋转体,而不是椭球体,真正的三个正交方向投影均呈椭圆的椭球体恐怕用旋转做不出来吧!
下面这个文件中的东西恐怕才是椭球体!



tamin 发表于 2005-8-2 13:24:00

先话一个圆球,比如半径是1,输出为块,然后用插入块,选择前面输出的块,在缩放比例里面输入想要的比例,比如X:1,Y:2,Z:3。得到立,侧,平三个剖面都是椭圆(长短轴分别为:1+2,1+3,2+3)的椭球。

ling18 发表于 2005-8-3 18:34:00





试了几种效果

ling18 发表于 2005-8-3 18:35:00


请问你是怎么把DWG图转过来的
效果很好啊。。。。
页: [1]
查看完整版本: 请问如何在CAD中画椭球体?