机械必威体育网址

标题: 通过宏添加solidworks零件材料 [打印本页]

作者: 735057167    时间: 2019-11-28 16:10
标题: 通过宏添加solidworks零件材料
本帖最后由 735057167 于 2019-11-28 16:25 编辑
* j& R4 `9 J. ~; x# ?  K1 I; v) j$ I0 E' K6 L5 ]- d
由于模型需要测量总的重量,可通过宏来一键添加solidworks自带材料中304密度不是7。9需要自定义材料
0 H/ T% p% l1 c, a# c& L8 B! j- F3 F* H9 C, z# O& B, p0 Q  [& H
也可以通过批量打开(dim)来实现
. u1 o/ S1 {% ?  D* K1 E1 a+ v" I' I3 L5 C' N* [
% J: o5 s; n4 f9 |. r
宏代码如下/ Y' J5 M. I5 p3 }: p
  z  N  S1 Y( [. [4 n' S5 R
Dim swApp As Object; b' K" ~4 q5 |. g& a0 S+ B
Dim Part As Object$ d' `6 R/ {. Q8 m7 Y/ I8 G  u
Dim boolstatus As Boolean; d$ G' u6 k' y: q
Dim longstatus As Long, longwarnings As Long
' I4 t  p2 U3 Z  iSub 自适应材料()
7 B6 s; H/ N3 |" q' J+ p; G. ~    Dim N
$ K! Z' s: U* H0 w2 i' B6 d: z    Dim a, b4 ?) n# K: L4 @) i1 {5 A, w/ t
    Dim name, NAME1
' A  r9 ^( R4 `# ^. y7 N+ m    Set swApp = Application.SldWorks8 q$ `- m# e3 `* |' _8 L$ Y+ {
    Set Part = swApp.ActiveDoc2 t) M& E$ Q% a6 N: H7 z
    Set selngr = Part.SelectionManager5 R7 F- a- v! A1 ?6 B
    swApp.ActiveDoc.ActiveView.FrameState = 1& q8 }* i+ _+ Y2 `
    N = swApp.ActiveDoc.GetTitle() '取得文件名
/ y% t. ]  N9 V: P% c    Set swModel = swApp.ActiveDoc7 }! J9 r: l6 B$ |% `  U
    Set swConfig = swModel.GetActiveConfiguration
# j* v" D' y7 U4 y7 y& {; Y    CFGNAME = swConfig.name() '当前配置名称 ) E0 p+ {6 w) j
    NAME1 = CFGNAME' r( q  w5 @8 e" \  Y7 X
    For i = 1 To Len(N)- [% X* |, a  |0 z/ a
        a = Mid(N, i, 1)
" u& M* X3 L1 p7 r8 a  l        b = Mid(N, i, 2)9 n/ I1 I3 V" k" M4 ?- c$ ]) }' ?
        If a = "瓷" Then
' t- ?% q# B$ _9 ~4 n6 r' V4 @# s            name = "A95瓷管"
* x' X: c5 y* j+ ~            Exit For
  l( u" R8 K& G   ElseIf a = "铜" Then9 m1 v8 s, e8 k5 z9 e* _0 J
            name = "铜"
" q4 ~7 R- W% j2 M+ a, {/ e            Exit For% e6 J5 o! h: e% [* G
        ElseIf b = "环氧" Then$ L; p' M  ]% G) r, l2 M2 d
            name = "环氧板"
9 n9 l- F; Y9 m, k, }9 T, n6 v            Exit For3 P5 L" t6 J) l% D
        ElseIf b = "云母" Then" b0 I* ?9 p3 Q8 `  f
            name = "云母"
0 m- I+ c* v! u0 `- ~            Exit For# f5 z/ F3 @1 D( b
        Else/ q# G: F; B  Z( ]
            name = "SUS 304"% b& ?  b3 N2 J6 ]) R! k: U/ I
        End If
6 i, r1 T! M9 @3 i2 ]0 x4 j0 M* R5 n    Next6 J+ P- \5 n& T- ^# `5 I; M8 b
    Set Part = swApp.ActiveDoc, m* V8 M9 I! H& X- ], M
    boolstatus = Part.Extension.SelectByID2("未知", "BROWSERITEM", 0, 0, 0, False, 0, Nothing, 0)" ]  I+ v) L$ B9 h, f6 Z
    boolstatus = Part.Extension.SelectByID2("未知", "BROWSERITEM", 0, 0, 0, False, 0, Nothing, 0)
; i. w& M+ h6 i; D+ n- N$ i    Part.SetMaterialPropertyName2 N, "C:/Program Files/SolidWorks Corp/SOLIDWORKS (2)/lang/chinese-simplified/sldmaterials/materials.sldmat", name
3 v! v  f- ?( }: E% ^& r# D  r. C    Part.SetMaterialPropertyName2 NAME1, "C:/Program Files/SolidWorks Corp/SOLIDWORKS (2)/lang/chinese-simplified/sldmaterials/materials.sldmat", name
7 h$ q6 c+ k( S0 g6 H8 z    Part.Save '保存
0 K& i( m+ j0 KEnd Sub
# P2 o. c6 S0 }% a, N由于无法上传宏文件,需要的可以留个邮件2 M3 l/ F' w2 v' K" ^4 ]
8 ~6 Q' _& `; \' E* Z; E" l  C
" p' \' Z% b! m& u/ S
# s; I  f  d) x( U) r

作者: 叶飘零    时间: 2019-11-30 07:57
可以从这里粘贴代码
作者: 远祥    时间: 2019-11-30 11:23
直接添加零件材料,这个宏貌似更方方便。
作者: knight3732449    时间: 2021-7-15 19:56
学习一下,顶一下




欢迎光临 机械必威体育网址 (//www.szfco.com/) Powered by Discuz! X3.4