QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 8077|回复: 10
收起左侧

[分享] 教你如何将SolidWorks2016图号名称分离到零件属性中

[复制链接]
发表于 2016-11-8 08:31:50 | 显示全部楼层 |阅读模式 来自: 中国山东临沂
其他
主题分类用于问题归类:

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
本帖最后由 jianmuguo 于 2016-11-8 08:31 编辑
7 k' g8 D  s2 `! A- u, w6 ]0 D8 }9 d5 j* }% y  B% Y) X

执行宏前图号名称没有分离

执行宏前图号名称没有分离
未执行前的图号名称没有分离2 g6 c3 {2 f; N. i3 Z& O9 [9 r

宏按钮设置

宏按钮设置

9 m8 ?' A  k. i4 S7 C* k; h关键是宏按钮的新建:打开工具-宏-新建-另存为对话框-自己给起名字-复制填写代码 搜狗截图20161108080505.png
, }' @* c1 G* k& Y' O1 n9 t另存为对话框
4 {4 U$ Y- k7 H6 D 搜狗截图20161108080829.png 5 n" n9 I4 A9 y: t
代码可以复制下面的-最后点保存5 x+ }9 F. C# _  K
下面是按钮制作
3 a  F" n! S$ P3 R$ b+ U* R 搜狗截图20161108082404.png
3 o1 s! _' _1 g! c. o. Z
/ I* A2 b( A9 b& ]9 x9 T

Dim swApp As Object

Dim Part As Object

Dim SelMgr As Object

Dim boolstatus As Boolean

Dim longstatus As Long, longwarnings As Long

Dim Feature As Object

, w' M. [/ I, [3 {; a
& F* j  t) t1 K! l+ j+ \

Dim a As Integer

Dim b As String

Dim m As String

Dim e As String

Dim k As String

Dim t As String

Dim c As String

Dim j As Integer

Dim strmat As String

Dim tempvalue As String

* d+ B/ F4 e  k+ D) v: A2 {/ p
1 g) F3 F* I2 n* s
4 P2 P' u! K9 p- \7 p# a

Sub main()


% T5 S4 ^6 N; U$ ]

'link solidworks

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc

Set SelMgr = Part.SelectionManager

swApp.ActiveDoc.ActiveView.FrameState = 1


! Q, ~5 E2 M1 C, l: {

'设定变量

c = swApp.ActiveDoc.GetTitle() '零件名

  E* i4 b# W  V% e3 r: w

strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)


# U/ ]1 [- [, A$ n5 E. f" Q

blnretval = Part.DeleteCustomInfo2("", "代号")

blnretval = Part.DeleteCustomInfo2("", "名称")

blnretval = Part.DeleteCustomInfo2("", "材料")


; s$ N' q6 i3 ?! g" Y) G, r0 B8 S! E4 U6 b+ q% s% D$ r

a = InStr(c, " ") - 1      '重点:分隔标识符,这里是一个空格

If a > 0 Then

    k = Left(c, a)

    t = Left(LTrim(e), 3)

% S5 c) R3 Q. _: a8 Z

    If t = "GBT" Then

        e = "GB/T" + Mid(k, 4)

    Else

        e = k

    End If

# `/ c( O( l, a" R' F" a" m

    b = Mid(c, a + 2)

    t = Right(c, 7)

    If t = ".SLDPRT" Or t = ".SLDASM" Then

        j = Len(b) - 7

    Else

        j = Len(b)

    End If

    m = Left(b, j)

End If


0 P3 F3 l* r8 e  i- w9 x. T0 A1 o

blnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)  '代号

blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)  '名称

blnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, " ")


- ^1 L/ [" W; T# o

End Sub

) i: X0 w3 R1 @. O6 S7 [. \1 j  A

" {1 x) M9 H% U" A  Z5 z
1 |1 E4 ]! K' P, p& u8 L1 v# R5 [) ~1 ~: H( M3 y+ d

6 `. O3 I6 M# C. v5 }1 @9 {, D5 ], |. M) z- G+ t3 n

执行宏后图号分离

执行宏后图号分离

) \3 B6 b1 B- y8 ~5 s4 G点击按钮,执行后得到的结果。后续出工程图调用时使用。. R" {/ _# f! W5 Y1 M
3 x+ e  {. U" }$ W. i2 K) }
! w9 m$ w8 ^$ T' e
8 K, @. @9 x3 ?( a, d% y
 楼主| 发表于 2016-11-8 08:48:48 | 显示全部楼层 来自: 中国山东临沂
补充:零件命名规则,图号名称中间必须有个空格
发表于 2016-11-8 08:52:38 | 显示全部楼层 来自: 中国山东烟台
赞一个
发表于 2016-11-8 20:11:31 | 显示全部楼层 来自: 中国广东深圳
文件名用图号和零件名组合,中间加空格,这如果是标准件的话就会有点问题了,因为外购件和标准件的型号代号很多带有空格的,我还是建议这个空格换成下划线。9 V# c& ]; M/ T0 f; U1 f2 h% ]% k2 R
这些东西都可以做成批量处理的。SW-API。不过我现比较喜欢SWDM-API,不用启动SW就能处理,速度快很多倍。
发表于 2016-11-8 22:15:50 | 显示全部楼层 来自: 中国广东广州
NC@jiang@nan 发表于 2016-11-8 20:112 g0 ~, N5 b2 `2 j/ t; g, j
文件名用图号和零件名组合,中间加空格,这如果是标准件的话就会有点问题了,因为外购件和标准件的型号代号 ...
& I* g% M7 w- e
能否象楼主一样详细介绍一下?
发表于 2016-11-9 13:12:12 | 显示全部楼层 来自: 中国湖北武汉
本帖最后由 soso2006 于 2016-11-9 20:14 编辑
" l8 e  p' R4 [$ H9 A8 }* q' u9 y3 f6 X# {& {3 Q) ]# a
谢谢分享,刚试过了,不错!与材料有关的内容我处理过了,只是不知那变量e的初值是什么?$ I$ I. P2 e% P
发表于 2016-11-9 19:41:13 | 显示全部楼层 来自: 中国广东深圳
cnzheng 发表于 2016-11-8 22:15
& A) F, ], V# ^- V5 b能否象楼主一样详细介绍一下?
) Y# B" L. F4 i$ q" U
SWDM-api我也不熟呢,只是在学习。学好了才能考虑做这种程序了。SWDM-API比SW-API还难搞呀,优点就是不用启动SW就能完成在SW中完成的功能,处理速度可以比在SW-API中快很多倍。
发表于 2016-11-9 23:19:31 | 显示全部楼层 来自: 中国广东广州
NC@jiang@nan 发表于 2016-11-9 19:416 D6 u3 ^% z/ R9 E- ^* T
SWDM-api我也不熟呢,只是在学习。学好了才能考虑做这种程序了。SWDM-API比SW-API还难搞呀,优点就是不用 ...
* s0 ~) b$ q0 z! @. k. q% `8 a
谢谢,回头找点资料学学。
 楼主| 发表于 2016-12-13 21:11:07 | 显示全部楼层 来自: 中国山东日照
发表于 2016-12-13 21:22:52 | 显示全部楼层 来自: 中国浙江台州
早在很多年以前,三维网的一位大神就把图号分离宏做出来了,一键分离,配合闷大的常驻宏可以实现切窗自动分离。
发表于 2016-12-18 19:03:37 | 显示全部楼层 来自: 中国河南洛阳
真的很好用 谢谢大神分享
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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