SolidWorks工程师必学!如何利用宏命令实现焊件切割清单“单重”和“总重”?

 
 
 

利用宏命令实现焊件切割清单生成“单重”和“总重”的功能

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

在上期的文章中,我们讲了怎么自定义焊缝符号,相信很多朋友已经看过那篇文章,今天,我们继续讲焊件知识。许多工程师在进行焊件工程图设计时,通常会遇到一个问题,就是焊件切割清单中的“总重”列没有办法直接利用方程式“单重”列X“数量”列来计算,而同样操作在材料明细表中可以实现。

 

材料明细表中,“总重”列可以设置为 “数量”列*“单重”列:

焊件切割清单中,“总重”列无法使用方程式:

如果需要使用方程式,只能一个单元格一个单元格的设置方程式,使用起来特别麻烦。因此,我们需要一种更简单便捷的方法,那就是宏命令。

首先,我们要知道宏是什么?宏是使您能够在 SOLIDWORKS 软件中自动执行操作的脚本。

您可以在 SOLIDWORKS 软件之外生成宏并进行设计,或者可以录制您在 SOLIDWORKS 软件中执行宏时捕捉操作和命令顺序的宏。

 

接下来,我们就利用“宏”这一脚本命令,来实现焊件切割清单自动生成“单重”列和“总重”列。

 

01

 

在菜单栏中,点击工具/宏/新建。

 

02

 

保存好宏文件以备下次使用。

 

03

 

删除现有代码并复制粘贴入以下代码。

Option Explicit
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim thisFeat As SldWorks.Feature
Dim thisSubFeat As SldWorks.Feature
Dim cutFolder As Object
Dim BodyCount As Integer
Dim fn As String
Dim pn As String
Dim custPropMgr As SldWorks.CustomPropertyManager
Dim propNames As Variant
Dim vName As Variant
Dim propName As String
Dim Value As String
Dim resolvedValue As String
Dim TotalW As Double
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set thisFeat = Part.FirstFeature
Do While Not thisFeat Is Nothing
    If thisFeat.GetTypeName = "SolidBodyFolder" Then
        thisFeat.GetSpecificFeature2.UpdateCutList
    End If
    Set thisSubFeat = thisFeat.GetFirstSubFeature
    Do While Not thisSubFeat Is Nothing
        If thisSubFeat.GetTypeName = "CutListFolder" Then
            Set cutFolder = thisSubFeat.GetSpecificFeature2
        End If
        If Not cutFolder Is Nothing Then
            BodyCount = cutFolder.GetBodyCount
            If BodyCount > 0 Then
                Set custPropMgr = thisSubFeat.CustomPropertyManager
                If Not custPropMgr Is Nothing Then
                    custPropMgr.Delete "Total Weight"
                    custPropMgr.Delete "Weight"
                    fn = thisSubFeat.Name
                    pn = Part.GetTitle
                    custPropMgr.Add "Weight", "文字", Chr(34) & "SW-Mass@@@" & fn & "@" & pn & Chr(34)
                    propNames = custPropMgr.GetNames
                    If Not IsEmpty(propNames) Then
                        For Each vName In propNames
                            propName = vName
                            custPropMgr.Get2 propName, Value, resolvedValue
                            If propName = "Weight" Then TotalW = resolvedValue
                        Next vName
                    End If
                    custPropMgr.Add "Total Weight", "文字", Format(BodyCount * TotalW, "0.00")
                End If
            End If
        End If
        Set thisSubFeat = thisSubFeat.GetNextSubFeature
    Loop
    Set thisFeat = thisFeat.GetNextFeature
Loop
End Sub

 

 

 
 

04

 

点击运行。焊件切割清单属性中增加了“单重”与“总重”属性。

 

05

 

在切割清单表格中,就可以使用自定义属性/单重和总重了。

 

06

 

完成。

注:总重是以单重的数值计算得出的,并无任何链接关系,只呈现数值,所以请先设置好质量单位后再使用宏命令。或更改质量单位后再次运行宏命令以更新总重数值。

 

通过以上方式,我们就可以轻松实现焊件切割清单生成“单重”和“总重”的功能了。

 

如果你觉得本篇文章对你有帮助,欢迎关注、点赞、转发!想要了解更多热点资讯,学习更多实用技能,欢迎扫描下方的二维码添加客服微信。

往期精彩

热搜 | SOLIDWORKS认证考试指导书

视频 | CSWPA-SM钣金考试培训

官方 | SOLIDWORKS(CSWP)认证考试

官方 | CSWPA-WD焊件认证考试报名开启

官方 | CSWPA-SU曲面认证考试报名开启

官方 | CSWE专家工程师认证考试报名开启

点击下方阅读原文认证考试,赶紧报名吧!

 

 

 

 

创建时间:2024-04-02 16:54
收藏

来源:SOLIDWORKS代理商-SOLIDWORKS正版软件-正版SOLIDWORKS价格-达索系统授权经销商-中汇远景

首页    SOLIDWORKS知识库    SolidWorks工程师必学!如何利用宏命令实现焊件切割清单“单重”和“总重”?