找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 7136|回复: 3

通过宏添加solidworks零件材料

[复制链接]
发表于 2019-11-28 16:10:49 | 显示全部楼层 |阅读模式
本帖最后由 735057167 于 2019-11-28 16:25 编辑 & r: k6 K- G$ x5 S( F- o
, D5 r+ p! L/ Y8 Q! T
由于模型需要测量总的重量,可通过宏来一键添加solidworks自带材料中304密度不是7。9需要自定义材料
1 u0 ~# z# d" ]; P+ U+ a* P$ q$ [1 j% l" T' d; o* H. G# ~4 @
也可以通过批量打开(dim)来实现' O& ?9 v8 p. u6 z
' C  V3 J& L/ D9 W

  s3 N. g# w3 K+ n; q3 H; C9 j0 A4 H宏代码如下
0 ^- \, k. r$ U  Q- W! f% S) I
  @1 X! C- F1 G* r6 m5 B9 ^Dim swApp As Object
; J4 H; l: V" L5 ]- ADim Part As Object3 v( b6 {) a. w& n9 H( v
Dim boolstatus As Boolean  E+ c3 J1 x7 @; F# a9 \1 j
Dim longstatus As Long, longwarnings As Long
4 r0 Q1 k$ N( x( b" R# {& t: z7 `, ASub 自适应材料()
' D  L4 S3 a) j    Dim N
; w4 ~/ _& O8 v" s    Dim a, b2 A7 G% p( s& p& H1 O
    Dim name, NAME15 Y6 u& Y: N5 F
    Set swApp = Application.SldWorks
- S# I% x: m5 d- K2 z" q) ~" D    Set Part = swApp.ActiveDoc
% V0 A  t- C" T4 Q    Set selngr = Part.SelectionManager
/ Y& w$ k5 r! p    swApp.ActiveDoc.ActiveView.FrameState = 1
& T9 d  n5 e0 D; u    N = swApp.ActiveDoc.GetTitle() '取得文件名" y9 o/ [3 r- f! `
    Set swModel = swApp.ActiveDoc7 C8 y+ c! e8 V7 ]
    Set swConfig = swModel.GetActiveConfiguration
; q9 O  W$ E; b7 Z    CFGNAME = swConfig.name() '当前配置名称
. @& {( c* S7 r    NAME1 = CFGNAME: U2 o. Y4 Y4 H( \
    For i = 1 To Len(N)
* s  T$ X) {" |        a = Mid(N, i, 1)# u3 O3 U; e8 }8 p' {
        b = Mid(N, i, 2)
0 \( ]6 E/ l3 J. [7 ]        If a = "瓷" Then' N8 I) X+ ]1 t+ h
            name = "A95瓷管"0 o/ W: w, B$ @) }8 [5 V
            Exit For) q( C0 L" j6 T7 \
   ElseIf a = "铜" Then
5 U! E" n3 g& n: d; ~            name = "铜", w) m. G- b; t
            Exit For
- H# K$ N$ I6 [; b6 v4 L# [: G        ElseIf b = "环氧" Then% u7 N1 o+ d3 `. a% H5 [5 m/ L
            name = "环氧板"
" N* T- _% X) ^+ E; \            Exit For
% j9 z2 C) H' ^/ \. q        ElseIf b = "云母" Then
2 G5 P/ e3 l9 ~% F& r2 \0 _3 q( R. p            name = "云母"
0 S. e/ v9 |9 n: q! V: W            Exit For
9 p6 Q3 y# E. z- l7 B. Y; t( k4 }' y" W        Else2 s" S& K& y) n" h
            name = "SUS 304"
4 Z  q% C5 p* z  t5 E# j: x        End If
& l1 z3 l8 K, b! O" m/ f. _) A    Next
: W1 L  n+ _9 Q3 F    Set Part = swApp.ActiveDoc
1 t3 b. H  d5 @; R" q1 y    boolstatus = Part.Extension.SelectByID2("未知", "BROWSERITEM", 0, 0, 0, False, 0, Nothing, 0)
! V2 ]  X& P9 o  a2 V    boolstatus = Part.Extension.SelectByID2("未知", "BROWSERITEM", 0, 0, 0, False, 0, Nothing, 0)/ `' c% ?% }6 J2 g, W9 @8 M
    Part.SetMaterialPropertyName2 N, "C:/Program Files/SolidWorks Corp/SOLIDWORKS (2)/lang/chinese-simplified/sldmaterials/materials.sldmat", name5 P2 Q( V+ T, q( \. ^4 O
    Part.SetMaterialPropertyName2 NAME1, "C:/Program Files/SolidWorks Corp/SOLIDWORKS (2)/lang/chinese-simplified/sldmaterials/materials.sldmat", name: c: q0 C% `& I( c% u2 E9 C
    Part.Save '保存
; _% ]5 u8 r" `7 ]3 f& O: sEnd Sub
6 I" Y+ I/ O$ J1 U6 f; P由于无法上传宏文件,需要的可以留个邮件
1 a8 L5 J) S) p1 j3 D/ u& ]6 K& {* \4 j0 h  F4 d, {
7 \$ ]! Q( i( w3 l
/ r2 j1 D& b. W& i  n5 |  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-8-6 05:37 , Processed in 0.066151 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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