iCAx开思网

标题: 建立外形属性的宏 [打印本页]

作者: api163    时间: 2014-12-24 11:38
标题: 建立外形属性的宏
之前发贴求助过https://www.icax.org/forum.php?m ... ;extra=#pid11527543
现进行到了一个阶段,大家看一下
[attach]1213124[/attach]
[attach]1213127[/attach]
[attach]1213128[/attach]
[attach]1213129[/attach]
[attach]1213130[/attach]
代码如下:
'Outline外形属性设置
'2014.12.24于福州
Sub main()

    Dim swApp   As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc

    Dim A, B, C, T As Double
    Dim DM As String

    '取各属性值
    A = swModel.GetCustomInfoValue("", "A")
    B = swModel.GetCustomInfoValue("", "B")
    C = swModel.GetCustomInfoValue("", "C")
    DM = swModel.GetCustomInfoValue("", "DM") '圆柱或螺纹等的前缀

    swModel.DeleteCustomInfo2 "", "Outline" '删除原Outline属性

    If (A <> -1) Then '如果A尺寸不是-1,说明它是一个方形的零件

    '对三个尺寸排序
        T = IIf(A > B, A, B)
        B = IIf(A > B, B, A)
        A = T

        T = IIf(A > C, A, C)
        C = IIf(A > C, C, A)
        A = T

        T = IIf(B > C, B, C)
        C = IIf(B > C, C, B)
        B = T
        swModel.AddCustomInfo3 "", "Outline", swCustomInfoText, Trim(Str(A)) & "X" & Trim(Str(B)) & "X" & Trim(Str(C)) '建立Outline属性

    Else '如果A尺寸不是-1,说明它是一个圆柱形的或一个螺纹形的零件

        swModel.AddCustomInfo3 "", "Outline", swCustomInfoText, DM & Trim(Str(B)) & "X" & Trim(Str(C)) 'Str()会去掉尾0
    End If
End Sub





作者: gt.adan    时间: 2014-12-24 17:16
[attach]1213161[/attach]

作者: api163    时间: 2014-12-24 18:19
gt.adan 发表于 2014-12-24 17:16

还是gt.adan你帮了我。‘
你知道怎么零件A的某个属性设为与零件B的某个属性相同吗?


作者: api163    时间: 2014-12-25 09:13
调试时发现是下面这一步出问题了
C = swModel.GetCustomInfoValue("", "C")

结果是C是带引号的:   "10"

这是什么情况?

作者: api163    时间: 2015-1-19 15:01
C =val(swModel.GetCustomInfoValue("", "C"))




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3