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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

体积特征宏→如何更改面积+体积特征宏。

[复制链接]

92

主题

312

帖子

182

金币

堂主

Rank: 4

积分
512
QQ
跳转到指定楼层
楼主
发表于 2012-10-5 15:10:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

   经典图书
自定义特征-大王兄的体积解析
SolidWorks机械工程师论坛
在这个帖的4楼有个国外体积示例,见下面代码
    Option Explicit
    Dim swApp As SldWorks.SldWorks
    Dim Part As SldWorks.ModelDoc2
    Sub main()
    Dim ThisFile As String
    Dim Methods(8) As String
    Dim Names As Variant
    Dim Types As Variant
    Dim Values As Variant
    Dim editBody As body2
    Dim swmacrofeaturebydefault As Variant
    Set swApp = Application.SldWorks
    Set Part = swApp.ActiveDoc
    Set editBody = Nothing
    'Define the routines to call
    ThisFile = swApp.GetCurrentMacroPathName
    Methods(0) = ThisFile
    Methods(1) = "MacroFeature_Module1"
    Methods(2) = "swmRebuild"
    Methods(3) = ThisFile
    Methods(4) = "MacroFeature_Module1"
    Methods(5) = "swmEditDefinition"
    Methods(6) = "" 'A security routine is optional
    Methods(7) = ""
    Methods(8) = ""
    Names = Empty
    Types = Empty
    Values = Empty
    'Insert the macro feature
    Part.FeatureManager.InsertMacroFeature "Volume in Feet", "", (Methods), Names, Types, Values, editBody, swmacrofeaturebydefault
    End Sub
    Function swmRebuild(app As Variant, Part As Variant, feature As Variant) As Variant
    Dim Definition As SldWorks.MacroFeatureData
    Dim Objects As Variant
    Dim ObjTypes As Variant
    Dim SelMarks As Variant
    Dim DrwViews As Variant
    Set swApp = Application.SldWorks
    Set Part = swApp.ActiveDoc
    Set Definition = feature.GetDefinition
    Definition.GetSelections2 Objects, ObjTypes, SelMarks, DrwViews
    Dim vol As Variant
    Dim conv As Variant
    Dim convRounded As String
    Dim prop As Boolean
    Dim mass As SldWorks.MassProperty
    Set mass = Part.Extension.CreateMassProperty
    vol = mass.volume
    conv = vol * 35.31466672
    convRounded = Round(conv, 3)
    prop = Part.DeleteCustomInfo2("", "Volume")
    prop = Part.AddCustomInfo3("", "Volume", 30, convRounded + " Cubic Feet")
    Debug.Print " Volume = " & mass.volume
    End Function
    Function swmEditDefinition(app As Variant, Part As Variant, feature As Variant) As Variant
    End Function

复制代码
目标需求:如何将国外的体积示例,转换为体积+面积的特征


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

使用道具 举报

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

本版积分规则

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

手机版|小黑屋| GMT+8, 2025-5-22 19:49 , Processed in 0.276221 second(s), 22 queries , Memcache On.

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

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

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