QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 8033|回复: 10
收起左侧

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

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

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

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

x
本帖最后由 jianmuguo 于 2016-11-8 08:31 编辑 ( |8 u. a- ?# X

8 _( x" C3 X3 K: _6 I1 B2 C) \+ g

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

执行宏前图号名称没有分离
未执行前的图号名称没有分离
& l! Q$ P$ k. N

宏按钮设置

宏按钮设置
. ^) _: W5 f" x& v7 p
关键是宏按钮的新建:打开工具-宏-新建-另存为对话框-自己给起名字-复制填写代码 搜狗截图20161108080505.png 4 W& s: g$ H1 a8 A. N& V
另存为对话框* U, l2 O8 o$ @: T9 Z- g
搜狗截图20161108080829.png 6 y% G  [7 c7 i4 ]" v  d! Z: ^
代码可以复制下面的-最后点保存( |6 H+ }. k2 o5 x+ V/ J# H$ @2 m
下面是按钮制作
$ P4 Z- q$ t! ]# p  H, j. K 搜狗截图20161108082404.png " ?$ ?# H1 G9 O
: G4 f; n' e1 i( a6 \+ s

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


" L- ^( v% l# L$ E! p) y5 M+ ^# C' y
5 V- w3 B& v1 N, N, ^$ A

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

9 d- `  I( H( f% @1 N

$ f2 o) f# G% B1 n
# }! }  p8 h. L7 S) E2 Q

Sub main()


. `" ~9 `) ]* E

'link solidworks

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc

Set SelMgr = Part.SelectionManager

swApp.ActiveDoc.ActiveView.FrameState = 1

6 P% J/ q% o: Z" u4 d. C: d

'设定变量

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

+ J! F. o# [" J9 {7 N4 T( w, Q5 x' A

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

  ?7 H0 |0 g$ j$ Y/ {4 [2 a

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

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

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


- q* L1 S1 H: e, s$ E
# P' U- v1 U$ N' Y4 w' i

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

If a > 0 Then

    k = Left(c, a)

    t = Left(LTrim(e), 3)

* x% p$ N) m8 K5 w# u4 Y' X

    If t = "GBT" Then

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

    Else

        e = k

    End If


2 M( v" r2 K: E

    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

6 ^! D3 C! l0 }( N/ H6 w

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

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

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


8 ?0 N$ z5 G! B+ B9 I

End Sub

6 _2 f0 b( c! c* t& o
, Z8 `0 ~% \6 Z$ e4 t/ o' d
' y7 D' g( L1 A$ X/ y& i

2 K' }6 ?4 N& M+ g9 v( Q3 l  ~* }  n

7 H+ M- |* Q' i1 `* D

执行宏后图号分离

执行宏后图号分离

* o. L2 f# x3 F4 O点击按钮,执行后得到的结果。后续出工程图调用时使用。
! B; j9 {$ m- L" P: X: [! q$ t$ B% B" @# B+ I! L2 b+ J% V) ?

- d/ q5 J/ W8 R; y3 K, l
5 s- C; C' T& _6 B* [5 i0 _
 楼主| 发表于 2016-11-8 08:48:48 | 显示全部楼层 来自: 中国山东临沂
补充:零件命名规则,图号名称中间必须有个空格
发表于 2016-11-8 08:52:38 | 显示全部楼层 来自: 中国山东烟台
赞一个
发表于 2016-11-8 20:11:31 | 显示全部楼层 来自: 中国广东深圳
文件名用图号和零件名组合,中间加空格,这如果是标准件的话就会有点问题了,因为外购件和标准件的型号代号很多带有空格的,我还是建议这个空格换成下划线。
2 y. O- Q, z3 r3 z: @这些东西都可以做成批量处理的。SW-API。不过我现比较喜欢SWDM-API,不用启动SW就能处理,速度快很多倍。
发表于 2016-11-8 22:15:50 | 显示全部楼层 来自: 中国广东广州
NC@jiang@nan 发表于 2016-11-8 20:111 M& v0 c5 m  E, U4 u! a7 c, M9 _. m
文件名用图号和零件名组合,中间加空格,这如果是标准件的话就会有点问题了,因为外购件和标准件的型号代号 ...

1 |+ i- U, ^! F. t能否象楼主一样详细介绍一下?
发表于 2016-11-9 13:12:12 | 显示全部楼层 来自: 中国湖北武汉
本帖最后由 soso2006 于 2016-11-9 20:14 编辑
( M6 e7 Z: i; b! H9 J& y1 j5 n! r* e! _( j! c4 z  y
谢谢分享,刚试过了,不错!与材料有关的内容我处理过了,只是不知那变量e的初值是什么?7 }" _4 H, @+ L1 Q
发表于 2016-11-9 19:41:13 | 显示全部楼层 来自: 中国广东深圳
cnzheng 发表于 2016-11-8 22:15& P' h+ U- r# e) u+ u3 G! i
能否象楼主一样详细介绍一下?

4 P$ U3 D8 o! b2 ZSWDM-api我也不熟呢,只是在学习。学好了才能考虑做这种程序了。SWDM-API比SW-API还难搞呀,优点就是不用启动SW就能完成在SW中完成的功能,处理速度可以比在SW-API中快很多倍。
发表于 2016-11-9 23:19:31 | 显示全部楼层 来自: 中国广东广州
NC@jiang@nan 发表于 2016-11-9 19:41
2 c9 w- i1 L) H  r9 pSWDM-api我也不熟呢,只是在学习。学好了才能考虑做这种程序了。SWDM-API比SW-API还难搞呀,优点就是不用 ...
  ]! p* q, B! Q7 E/ x3 l+ q4 ^' m  i
谢谢,回头找点资料学学。
 楼主| 发表于 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 )

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