找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 7311|回复: 3

通过宏添加solidworks零件材料

[复制链接]
发表于 2019-11-28 16:10:49 | 显示全部楼层 |阅读模式
本帖最后由 735057167 于 2019-11-28 16:25 编辑 0 k% H, A2 X$ s

4 J/ a$ P; g' O, Q' I7 i由于模型需要测量总的重量,可通过宏来一键添加solidworks自带材料中304密度不是7。9需要自定义材料0 l/ E1 r/ e/ H$ a0 [, v/ S9 W

+ s7 d7 r& h8 q也可以通过批量打开(dim)来实现
4 y  L' W- c, J% l
5 _6 T5 d7 f2 ?3 i  c: w4 n' ]( p1 r( K( [5 {" [( w% z
宏代码如下
- c9 N9 |* B, n3 c& t
7 i  q% p7 h7 ]: F6 s3 z; u& oDim swApp As Object; k% V" L6 O# ]# p/ Y
Dim Part As Object
8 V3 o' B  y6 V0 QDim boolstatus As Boolean
" v6 Z' b% `  y6 U$ M4 y0 oDim longstatus As Long, longwarnings As Long% d2 f3 T5 K8 ^' d' Y2 `$ q
Sub 自适应材料()6 @$ G* Z- B* E, Z9 r
    Dim N7 e) ]. q/ y! _% N2 k8 n9 T& M
    Dim a, b3 B. `/ @& Z! @' g; ]
    Dim name, NAME1
/ p- g4 S6 x6 P! u) t    Set swApp = Application.SldWorks# `# R; `- H3 ]) J/ M8 H' X5 {( m/ h
    Set Part = swApp.ActiveDoc
/ I: s7 [2 |8 B    Set selngr = Part.SelectionManager
9 Z1 O: j, Z( S    swApp.ActiveDoc.ActiveView.FrameState = 19 q2 v% O& i6 a& D
    N = swApp.ActiveDoc.GetTitle() '取得文件名
) Q2 R% V$ m% e$ [3 Q7 K2 M5 K    Set swModel = swApp.ActiveDoc
  H! w9 ^! W4 c1 {8 j  }    Set swConfig = swModel.GetActiveConfiguration8 h- Z0 s, f& e' ?0 r, W2 l
    CFGNAME = swConfig.name() '当前配置名称
: O$ l2 A7 S; o1 h    NAME1 = CFGNAME
. T1 C8 j- C; M2 S& `3 M    For i = 1 To Len(N)
2 r) L( g. \( y5 n: {4 W) n        a = Mid(N, i, 1)' E# X' P- N' K0 q' e
        b = Mid(N, i, 2)
3 J7 S0 d+ u$ s/ w) B! l        If a = "瓷" Then, C$ d! J' ?! ^8 r. _
            name = "A95瓷管"
+ ^$ Y8 {. \' Z" b" g. f            Exit For
8 H: z" t1 c* D, b# s# O   ElseIf a = "铜" Then
/ Z0 A. ?! V( W2 u5 b0 J            name = "铜"
" E4 v$ S5 G6 a7 Q  x- Y/ F6 J            Exit For1 M6 q7 H, i  f% a
        ElseIf b = "环氧" Then. l# D# F" Z  y9 I' J$ S/ t0 z/ w
            name = "环氧板"! }1 Z+ }# V  l8 D7 i
            Exit For) S  R' g) A6 _. f
        ElseIf b = "云母" Then
+ k/ c! `0 p5 a5 W/ D+ |* V! j            name = "云母"5 S9 j9 {% o* P4 M' Y9 n9 b
            Exit For1 }; `, ]3 H' s+ r
        Else
' V6 A' }  z7 X+ G4 ]: Z3 a+ o            name = "SUS 304"
- ^- Q9 g7 v% d/ [. d* i6 b        End If- [1 O5 q% R' |& Z6 W7 F. x
    Next. V; ?' i7 t" c0 t8 l; t
    Set Part = swApp.ActiveDoc
& p4 H( ~$ M, L2 S1 H, B. q! R    boolstatus = Part.Extension.SelectByID2("未知", "BROWSERITEM", 0, 0, 0, False, 0, Nothing, 0)1 w$ }* d# p/ w1 ?. [5 ~
    boolstatus = Part.Extension.SelectByID2("未知", "BROWSERITEM", 0, 0, 0, False, 0, Nothing, 0)
1 T2 D8 h6 O; x7 X    Part.SetMaterialPropertyName2 N, "C:/Program Files/SolidWorks Corp/SOLIDWORKS (2)/lang/chinese-simplified/sldmaterials/materials.sldmat", name1 r* ?; ]0 c4 U9 O
    Part.SetMaterialPropertyName2 NAME1, "C:/Program Files/SolidWorks Corp/SOLIDWORKS (2)/lang/chinese-simplified/sldmaterials/materials.sldmat", name
: x5 S! |" J( M; ?3 j4 G: M8 Q    Part.Save '保存
& ]  M4 a+ d1 x- ~4 Y) PEnd Sub
$ X' M: U. X- T由于无法上传宏文件,需要的可以留个邮件
, X7 b  h9 j$ R8 i; V) e1 }: Q+ C! m" c1 g7 N! i
9 T6 U: p1 O9 V0 T/ B

/ G, w9 L1 ]: A1 p- ^( a* u

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
回复

使用道具 举报

发表于 2019-11-30 07:57:08 | 显示全部楼层
可以从这里粘贴代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
发表于 2019-11-30 11:23:36 | 显示全部楼层
直接添加零件材料,这个宏貌似更方方便。
发表于 2021-7-15 19:56:43 | 显示全部楼层
学习一下,顶一下
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-9-22 11:23 , Processed in 0.068908 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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