找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 7275|回复: 3

通过宏添加solidworks零件材料

[复制链接]
发表于 2019-11-28 16:10:49 | 显示全部楼层 |阅读模式
本帖最后由 735057167 于 2019-11-28 16:25 编辑
/ }, c" X/ l/ ]  o! s; I
5 ?. t8 u7 ?1 S1 X, L由于模型需要测量总的重量,可通过宏来一键添加solidworks自带材料中304密度不是7。9需要自定义材料& K' k3 f; R. [8 I/ A

* q$ p* ^' y0 Z) O7 x7 f也可以通过批量打开(dim)来实现1 m2 P  r$ _( \% I8 n6 C% W% u
5 L- x% R  V8 [; L* [; y
5 h( N4 Z3 V5 ~" D
宏代码如下
* s& n' X8 H; g6 i9 }3 A* g3 I% M( k- E. h6 ^) S' e; r
Dim swApp As Object
8 I) j  ?1 k+ D1 p9 CDim Part As Object
% Y! l- C% r! X, I3 Y6 gDim boolstatus As Boolean7 o! A. l# E/ O+ N6 [
Dim longstatus As Long, longwarnings As Long  R; N3 u0 z9 G0 s) ]; X+ J
Sub 自适应材料()
1 }. u, G8 D# g* t& X) ~    Dim N( Z0 B9 W4 g- I( K9 W  ?
    Dim a, b
1 x  s. l. [2 B7 ]    Dim name, NAME1
4 N% E8 }, ~2 Q3 o8 w0 @  J    Set swApp = Application.SldWorks# U+ Q% [) Q! t* M% G  `
    Set Part = swApp.ActiveDoc; u) C0 F7 Z7 b$ a6 g1 h" L1 x7 y
    Set selngr = Part.SelectionManager
6 q. F& y" C$ I1 v$ l: ~* U    swApp.ActiveDoc.ActiveView.FrameState = 13 l4 ^" p0 H+ P& d# [+ S
    N = swApp.ActiveDoc.GetTitle() '取得文件名( O  _; U2 g* C
    Set swModel = swApp.ActiveDoc* `* r2 i' t# K: Z2 s
    Set swConfig = swModel.GetActiveConfiguration
- ~+ C9 R! ~" h" z$ H    CFGNAME = swConfig.name() '当前配置名称
: u0 h! M% N  k, k4 u# E1 g) Z5 n' B    NAME1 = CFGNAME
: R' F1 P1 H- A, s) m1 k* d+ v    For i = 1 To Len(N)* E4 T" B  e& k$ L5 R8 R4 e
        a = Mid(N, i, 1)) ^0 I' E8 t# t; X# r
        b = Mid(N, i, 2)6 U! X4 x" ^! R; K9 p
        If a = "瓷" Then
0 \0 y: W# E5 P: V" w            name = "A95瓷管"0 w8 g. a" k0 i3 d6 }1 A7 F4 Q
            Exit For
$ _( v+ _$ M) B1 q0 u   ElseIf a = "铜" Then- m9 }8 j5 J. d
            name = "铜"
. [) ^  e) g9 R. f1 b5 |1 ~1 Q            Exit For
+ K7 H- o/ u9 y& c) s! G" j        ElseIf b = "环氧" Then
* ~9 X* V, }5 L/ v# m7 R            name = "环氧板": }1 u8 u8 Q% h& @- {. m
            Exit For
; R4 y3 ?, y7 E; F        ElseIf b = "云母" Then
3 R3 `9 q% w; v& c4 I, W  t            name = "云母"+ W3 f- L: {+ C& }2 k' w
            Exit For% O' C; k1 ]2 j$ b
        Else
( L: R2 P; R2 w5 x, P5 W- g            name = "SUS 304"
% _3 C8 f+ h1 c0 |        End If  L0 Y; ?  |; c" `
    Next: s1 f9 r8 z8 s# [/ n& d
    Set Part = swApp.ActiveDoc% N; b4 _( s6 j- F. U: v$ \1 S# j
    boolstatus = Part.Extension.SelectByID2("未知", "BROWSERITEM", 0, 0, 0, False, 0, Nothing, 0)
7 J* f% L3 m! W6 U    boolstatus = Part.Extension.SelectByID2("未知", "BROWSERITEM", 0, 0, 0, False, 0, Nothing, 0)
  l6 d- Z* U6 v    Part.SetMaterialPropertyName2 N, "C:/Program Files/SolidWorks Corp/SOLIDWORKS (2)/lang/chinese-simplified/sldmaterials/materials.sldmat", name
+ m% \# l+ D: T. {' k    Part.SetMaterialPropertyName2 NAME1, "C:/Program Files/SolidWorks Corp/SOLIDWORKS (2)/lang/chinese-simplified/sldmaterials/materials.sldmat", name
4 z( J: t3 X. C    Part.Save '保存" c4 j  }: q, d. q  J6 j; W
End Sub
1 Z/ E" u  p6 M! Z& u. v% x由于无法上传宏文件,需要的可以留个邮件
5 Q$ l' k, d& s3 D5 S! `5 y% }$ M
3 p; X1 J1 B$ M3 o" O) o
- B' H* V* ]8 j6 m0 q" c& t( X2 `

本帖子中包含更多资源

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

×
回复

使用道具 举报

发表于 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-16 19:24 , Processed in 0.063917 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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