机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5610|回复: 3

通过宏添加solidworks零件材料

[复制链接]
发表于 2019-11-28 16:10:49 | 显示全部楼层 |阅读模式
本帖最后由 735057167 于 2019-11-28 16:25 编辑 : b8 ^5 k' W* j" m) l
1 _8 J. V4 `3 u9 ^5 `4 d6 b, V# y
由于模型需要测量总的重量,可通过宏来一键添加solidworks自带材料中304密度不是7。9需要自定义材料
, r2 v& @% }' J9 G
* a1 o' R' Z: m  j* u' a- N也可以通过批量打开(dim)来实现
1 Y+ _& j# P6 A4 y" q
( I! d! V$ y3 K% g" L1 x6 Z1 q0 B+ J8 u. N, ]* m; I% N
宏代码如下
6 L& u9 {% f5 k' I7 F. y" g$ t+ c9 f/ O
Dim swApp As Object& N) c- D/ U1 C. w( T# O( {
Dim Part As Object
% R8 V  m! a+ ZDim boolstatus As Boolean2 G" Q- i, B7 A- b  H
Dim longstatus As Long, longwarnings As Long
/ u8 g$ Y+ z) `2 l' {5 P$ CSub 自适应材料()' b3 z9 E! F# \5 I! w$ D' ~7 e
    Dim N# \7 _/ R& q5 ?0 ~
    Dim a, b
5 E5 L2 v) d  B    Dim name, NAME1
4 l/ U& d0 ~2 F0 ?. D0 `5 n* v    Set swApp = Application.SldWorks, U2 h! N) y+ A' Q* u
    Set Part = swApp.ActiveDoc( q! Z% d5 e! n7 A
    Set selngr = Part.SelectionManager
5 Q. g. W4 M! L2 `7 D" ~; V6 x    swApp.ActiveDoc.ActiveView.FrameState = 13 u/ V4 J' `( n: y0 K5 d
    N = swApp.ActiveDoc.GetTitle() '取得文件名
7 h% t4 i  p0 c3 c7 A    Set swModel = swApp.ActiveDoc
8 L+ A: U7 o" L- T/ i    Set swConfig = swModel.GetActiveConfiguration: n& \8 A. P4 d* v  F: t* l
    CFGNAME = swConfig.name() '当前配置名称 : |. }: C& w1 [$ t" X5 I- y1 D
    NAME1 = CFGNAME
1 r6 i5 V& X7 `/ S$ C8 p. ?4 n( m    For i = 1 To Len(N)
; u4 G' ?/ V% S+ ]        a = Mid(N, i, 1)
) m2 w" U4 [1 d. a        b = Mid(N, i, 2)8 c! f# c7 b( d7 `+ d2 t1 K6 K
        If a = "瓷" Then
8 {2 v4 F8 r$ J5 X            name = "A95瓷管"4 W; h' j6 t0 ~5 J% y: m4 r- ?" P
            Exit For; C' A- k5 H& h( m8 H
   ElseIf a = "铜" Then
' K3 r7 `4 e& H# V1 g            name = "铜"% K0 d% o6 x# _/ ~1 d
            Exit For
1 F' S5 L8 \; w        ElseIf b = "环氧" Then0 K4 w+ a; ~# d1 j
            name = "环氧板"
  |. e4 {7 \, P            Exit For
6 w2 e+ ]+ [% f! d        ElseIf b = "云母" Then
* C/ a0 _8 e& y1 k. P            name = "云母"8 i* f+ N+ x0 Y9 ?$ K, z
            Exit For
  t& V5 u* Z6 X        Else$ p% z3 l- L8 _# s! U5 w
            name = "SUS 304"4 T+ l& r$ z" u0 R! `
        End If' H- @" @4 s: [" M- @
    Next$ ~5 l& x6 X  q9 U% U
    Set Part = swApp.ActiveDoc+ W9 y9 F8 D5 c6 l
    boolstatus = Part.Extension.SelectByID2("未知", "BROWSERITEM", 0, 0, 0, False, 0, Nothing, 0)( {+ W, M+ I7 b- j2 `
    boolstatus = Part.Extension.SelectByID2("未知", "BROWSERITEM", 0, 0, 0, False, 0, Nothing, 0)) N! J" N  j" l' g
    Part.SetMaterialPropertyName2 N, "C:/Program Files/SolidWorks Corp/SOLIDWORKS (2)/lang/chinese-simplified/sldmaterials/materials.sldmat", name% A3 X: X% G7 Y4 e
    Part.SetMaterialPropertyName2 NAME1, "C:/Program Files/SolidWorks Corp/SOLIDWORKS (2)/lang/chinese-simplified/sldmaterials/materials.sldmat", name$ k2 {. R7 n$ z3 j& f4 h
    Part.Save '保存
% N( s' [1 I2 `# qEnd Sub
+ d0 w6 G" X. u) @' L由于无法上传宏文件,需要的可以留个邮件* J% W' U/ D" p) l: }, O
# t2 ?0 H0 s6 [8 D7 o0 [2 `# b

( V7 u7 F5 }( M; N' W; R- y' t+ S. C5 d  A& t

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2019-11-30 11:23:36 | 显示全部楼层
直接添加零件材料,这个宏貌似更方方便。
回复 支持 反对

使用道具 举报

发表于 2021-7-15 19:56:43 | 显示全部楼层
学习一下,顶一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2024-5-20 08:02 , Processed in 0.054408 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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