找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
打印 上一主题 下一主题

[教程] 宏:焊件切割清单中自动增加『单重』和『总重』的属性+3!(限額5位)

  [复制链接]
321
发表于 2014-11-22 10:11:45 | 只看该作者
zyf0732 发表于 2014-11-21 21:11
非常感谢闷大,闷大d宏稍加修改就能增加很多焊件自定义属性,终于知道相同焊件数量及切割项目名称值怎么获 ...

楼上既然成功扩展用途,可否分享出来让更说人受益。
322
发表于 2014-11-22 11:35:54 | 只看该作者
本帖最后由 zyf0732 于 2014-11-22 11:44 编辑
大鹿 发表于 2014-11-22 10:11
楼上既然成功扩展用途,可否分享出来让更说人受益。

响应鹿大号召,我就是在闷大基础上增加了几个适合我的属性
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"
                    custPropMgr.Delete "h名称"
                    custPropMgr.Delete "h数量"
                    custPropMgr.Delete "图号"
                    fn = thisSubFeat.Name
                    pn = Part.GetTitle
                    custPropMgr.Add "Weight", "文字", Chr(34) & "SW-Mass@@@" & fn & "@" & pn & Chr(34)
                    custPropMgr.Add "h名称", "文字", fn
                    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")
                    custPropMgr.Add "h数量", "文字", BodyCount
                    custPropMgr.Add "图号", "文字", Left(pn, InStrRev(pn, ".") - 1) & "-"
                End If
            End If
        End If
        Set thisSubFeat = thisSubFeat.GetNextSubFeature
    Loop
    Set thisFeat = thisFeat.GetNextFeature
Loop
End Sub


不过这段程序没明白什么意思
   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
还有请问各位大侠 能否把各个宏变都成按钮图标,用哪个就点哪个,不用再选择?
323
发表于 2014-11-22 15:22:49 | 只看该作者
顶起~~~~~~~~~~
324
发表于 2014-11-24 13:20:17 | 只看该作者
好贴必须顶
325
发表于 2014-11-24 19:29:02 | 只看该作者
很好的学习网站
326
发表于 2014-11-30 14:51:37 | 只看该作者
你这是如何引用的
327
发表于 2015-1-9 12:34:35 | 只看该作者
非常好,谢谢
328
发表于 2015-1-9 22:22:16 | 只看该作者
来学学看
329
发表于 2015-1-10 08:02:02 | 只看该作者
学习啊
330
发表于 2015-1-11 13:15:52 | 只看该作者
学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-24 08:17 , Processed in 0.027529 second(s), 16 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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