SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 724|回复: 0
打印 上一主题 下一主题

vb编程求实体表面积

[复制链接]

75

主题

273

帖子

158

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
443
QQ
跳转到指定楼层
楼主
发表于 2008-3-11 12:33:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

   经典图书
大家好 ,
前段时间在论坛上看见关于求实体表面积的文章,受益匪浅.看完程序不知该程序如何获取到指定实体的表面积,还请大家帮忙指教一下哈,谢谢!
已有代码如下:
Option Explicit
Public Enum swBodyType_e
swSolidBody = 0
swSheetBody = 1
swWireBody = 2
swMinimumBody = 3
swGeneralBody = 4
swEmptyBody = 5
End Enum
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swPart As SldWorks.PartDoc
Dim vBody As Variant
Dim swBody As SldWorks.body2
Dim swFace As SldWorks.face2
Dim i As Long
Dim j As Long
Dim nTotArea As Double
Dim nArea(5) As Double
Dim bRet As Boolean

Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swPart = swModel

For i = 0 To 5
vBody = swPart.GetBodies(i)

If Not IsEmpty(vBody) Then
For j = 0 To UBound(vBody)
Set swBody = vBody(j)
Set swFace = swBody.GetFirstFace
While Not swFace Is Nothing
nArea(i) = nArea(i) + swFace.GetArea

Set swFace = swFace.GetNextFace
Wend
Next j
End If

nTotArea = nTotArea + nArea(i)
Next i

Debug.Print "Total Area = " + Str(nTotArea) + " m^2"
For i = 0 To 5
Debug.Print " Area(" + Str(i) + ") = " + Str(nArea(i)) + " m^2"
Next i
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞2789 拍砖拍砖3912
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭 卷起
关闭 卷起

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2024-9-23 00:40 , Processed in 0.192603 second(s), 21 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

快速回复 返回顶部 返回列表