- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
椭圆形放样建模
根据题意,首先在CAD三维空间画出椭圆体三个方向椭圆轮廓(见图1)。
图1
从理论上,我们只要依次画出截面椭圆(见图2)――在两个方向上画出的截面椭圆即可构成楼主所要的网格――然后利用CAD的放样命令建立三维模型即可。
图2
但看一下楼主所给的参数,要画成千上万条线和椭圆,一般人恐怕没有这个耐心。所幸CAD的二次开发功能此时刚好能够派上用场。
首先建立椭圆体三个方向椭圆轮廓(参见图1)的解析式:
当以平面剖切椭圆体时(见图3),截面椭圆的长、短半轴长度可分别由1、2式求得:
图3
同理,当以平面剖切椭圆体时(见图4),截面椭圆的长、短半轴长度可分别由2、3式求得:
图4
根据以上的数学模型,我们就可以利用CAD的VBA画出两个方向的截面椭圆。代码如下:
Sub TYT()
Dim UCS As AcadUCS, X(2) As Double, Y(2) As Double
Dim I As Integer, C(2) As Double, P(2) As Double, R
With ThisDrawing
.SendCommand -view top
For I = -950 / 10 + 1 To 950 / 10 - 1
C(2) = CDbl(I) * 10#
P(0) = 5650# * Sqr(1# - (C(2) / 950#) ^ 2)
R = 3699# * Sqr(1# - (C(2) / 950#) ^ 2) / P(0)
.ModelSpace.AddEllipse C, P, R
Next
C(2) = 0
P(0) = 0
X(0) = 0: X(1) = 0: X(2) = 1
Y(0) = 0: Y(1) = 1: Y(2) = 0
Set UCS = .UserCoordinateSystems.Add(C, X, Y, New_UCS)
.ActiveUCS = UCS
For I = -5650 / 10 + 1 To 5650 / 10 - 1
C(0) = CDbl(I) * 10#
P(1) = 3699# * Sqr(1# - (C(0) / 5650#) ^ 2)
R = 950# * Sqr(1# - (C(0) / 5650#) ^ 2) / P(1)
.ModelSpace.AddEllipse C, P, R
Next
End With
End Sub
Alt+F11打开VBA编辑器,双击“工程资源管理器”的“Thisdrawing”对象,把上面的代码粘贴到代码窗口(见图5)
图5
F5运行程序。由于楼主所给的椭圆体尺寸太大,而网格的尺寸相对很小,网格相当密集。为了大家查看方便,下面的效果图是用100*100网格做的(见图6)。
图6
现在把某个方向包括中线椭圆在内的半数椭圆保留下来,其它建模用不到的截面椭圆放在一个隐藏的图层里,在椭圆体的顶点画一个单点(见图7)
图7
放样之前把“DELOBJ”系统变量改为“0”,这是为了放样完成后保留截面椭圆。
运行“放样”命令后,依次选取单点和截面椭圆,确定后选“仅横截面”选项,在弹出的“放样设置”对话框中把“拔模斜度”的“起点角度”改为“0”(见图8),这是为了单点处的圆滑过渡。
图8
确定后建立了半个椭圆体(见图9)。
图9
镜像、并集成整个椭圆体,效果见图10
图10
文档评论(0)