QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 jianmuguo 于 2016-11-8 08:31 编辑 3 R+ M$ A  x, K* N" J1 k3 F2 K

# k5 F8 w' A" _! m& e4 u" W

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

执行宏前图号名称没有分离
未执行前的图号名称没有分离" O( @7 i8 z" c5 T# D

宏按钮设置

宏按钮设置

' M7 {6 w) k' ?, N9 m8 `( f关键是宏按钮的新建:打开工具-宏-新建-另存为对话框-自己给起名字-复制填写代码 搜狗截图20161108080505.png
+ [+ c4 l6 j3 T! }) C; L另存为对话框
9 A. {' z' `. w, t2 m, e: }6 R 搜狗截图20161108080829.png 3 a$ T. l% A1 n, D
代码可以复制下面的-最后点保存
# d+ z& e( T; M. W8 D! B- Y0 y下面是按钮制作: L8 X* v" }7 O6 h* T+ O0 r
搜狗截图20161108082404.png
, g$ c  a6 A3 k+ S* u- g4 y+ n; z% N/ d/ i2 H) U1 {5 `& H

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

8 m8 b/ }, C% q

. M8 J# V# f3 {1 F& f

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

& _" l3 Z3 Z2 @7 G7 T, |; A9 d$ ?* {

7 L" Z) ~5 k& G+ _7 O6 F, ?+ w6 z7 T' u  s' ^# w6 c4 @

Sub main()


4 x& D. ]1 c3 E

'link solidworks

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc

Set SelMgr = Part.SelectionManager

swApp.ActiveDoc.ActiveView.FrameState = 1


) @0 U6 I( b4 {  S- g4 o  P4 |$ v, C

'设定变量

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


9 D8 K/ r) l; @5 Y

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


' |: v7 X9 Y! j3 d) {6 k

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

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

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


9 t. K5 M1 t& }8 h+ W- \3 e; `( g: u8 D; t- g0 R) E( U: S9 h8 k& @

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

If a > 0 Then

    k = Left(c, a)

    t = Left(LTrim(e), 3)

- i  G0 [, L4 M/ I' M

    If t = "GBT" Then

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

    Else

        e = k

    End If


6 ?& C/ d" y) o/ j6 O9 ~

    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

7 Y$ m* Q! _' ]

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

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

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

6 O# y4 @6 }8 k8 e% J

End Sub

- Z6 j# W% L7 w! r. E8 h$ ]

# _, s) F1 O8 B: J- I3 d) [* E. \3 R. @1 r2 W0 |; s

6 g7 `( `+ h7 |: R7 x: ^
4 _9 |+ K7 |" k7 h: [. f1 u4 a
, T1 r4 ^3 p$ O6 [

执行宏后图号分离

执行宏后图号分离
8 V: {) J  l- |- q! C/ @
点击按钮,执行后得到的结果。后续出工程图调用时使用。
+ a5 k5 {1 p: [( g* W* N9 D* q( S8 J* Y) f$ O
1 B9 ^* e# N) Y, b+ L  U

2 Q  \6 D+ a, h6 Q6 V' R' r5 q
 楼主| 发表于 2016-11-8 08:48:48 | 显示全部楼层 来自: 中国山东临沂
补充:零件命名规则,图号名称中间必须有个空格
发表于 2016-11-8 08:52:38 | 显示全部楼层 来自: 中国山东烟台
赞一个
发表于 2016-11-8 20:11:31 | 显示全部楼层 来自: 中国广东深圳
文件名用图号和零件名组合,中间加空格,这如果是标准件的话就会有点问题了,因为外购件和标准件的型号代号很多带有空格的,我还是建议这个空格换成下划线。
& |9 ~5 B1 y8 y5 |  r) C这些东西都可以做成批量处理的。SW-API。不过我现比较喜欢SWDM-API,不用启动SW就能处理,速度快很多倍。
发表于 2016-11-8 22:15:50 | 显示全部楼层 来自: 中国广东广州
NC@jiang@nan 发表于 2016-11-8 20:11
  H- Z  w1 l9 u3 E7 [文件名用图号和零件名组合,中间加空格,这如果是标准件的话就会有点问题了,因为外购件和标准件的型号代号 ...
( [) v/ @! P. P
能否象楼主一样详细介绍一下?
发表于 2016-11-9 13:12:12 | 显示全部楼层 来自: 中国湖北武汉
本帖最后由 soso2006 于 2016-11-9 20:14 编辑 , y- b' x- k* g1 T

" @, V; `7 u# M% {谢谢分享,刚试过了,不错!与材料有关的内容我处理过了,只是不知那变量e的初值是什么?
6 k3 p3 R9 S+ n; [! S3 G  o
发表于 2016-11-9 19:41:13 | 显示全部楼层 来自: 中国广东深圳
cnzheng 发表于 2016-11-8 22:15/ y/ K: ]  w0 a. c9 r0 b
能否象楼主一样详细介绍一下?
* Y1 p% _: y( U7 |; A
SWDM-api我也不熟呢,只是在学习。学好了才能考虑做这种程序了。SWDM-API比SW-API还难搞呀,优点就是不用启动SW就能完成在SW中完成的功能,处理速度可以比在SW-API中快很多倍。
发表于 2016-11-9 23:19:31 | 显示全部楼层 来自: 中国广东广州
NC@jiang@nan 发表于 2016-11-9 19:41
) ^9 k2 R' x  V) ~0 f6 ?1 v. GSWDM-api我也不熟呢,只是在学习。学好了才能考虑做这种程序了。SWDM-API比SW-API还难搞呀,优点就是不用 ...
" N# O5 ]# @1 z) G) P* ^1 J; v5 S' f
谢谢,回头找点资料学学。
 楼主| 发表于 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 )

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