QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
1小时前
全站
goto3d 说: 版主微信号:caivin811031;还未入三维微信群的小伙伴,速度加
2022-07-04
楼主: hheyafu
收起左侧

[已解决] SOLIDWORKS怎样将图档名“图号+名称”分离后自动链接到属性中

[复制链接]
发表于 2016-4-27 20:48:25 | 显示全部楼层
jinqin11 发表于 2016-2-18 18:45$ O$ \  }) c3 }  e  S/ L
打开属性栏,设置属性,如图
5 b5 q6 n, v. R  Z7 W4 C进入方程式界面,设置全局变量,如图

- C: w# W" d  i8 {, S& A1 \7 r老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层
杨成武 发表于 2016-4-27 20:483 C! K5 A$ z9 M. f5 q
老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...

9 e) a3 B0 K9 ?# D8 a7 z- M装配图好像不管用。
8 {5 D; `/ ]% w% P; \5 u0 V* q你的是什么版本的! t4 w  ~4 O% C
发表于 2016-4-28 19:16:50 | 显示全部楼层
jinqin11 发表于 2016-4-27 21:38# I$ Q! j3 A) W  A4 Y
装配图好像不管用。6 A3 `% ^/ \7 e4 d8 G! @3 f
你的是什么版本的

8 V( O% u3 V: y4 x+ Z; C. hsw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层
杨成武 发表于 2016-4-28 19:16" T9 X2 y3 n( w  {+ O
sw2015,你有qq吗?
+ [" u' \+ x; M1 D
#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。2 G. R& ~+ ~0 N4 b' l- D7 v
把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。
4 y! _- l; f& k2 v( v% u* f每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层
gt.adan 发表于 2016-4-29 07:01+ K6 E. j1 ^" w! l! N
#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。/ K$ }! p7 l8 D  U! K
把你要的編碼方式寫出來,具體 ...
. T) Z( `+ S  B7 \1 U3 _% y
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层
杨成武 发表于 2016-4-29 07:54' K% V, |, S! i/ a/ a
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...

$ `" y( ~2 P' x3 N( I! A! z看不明白…
: w, N8 B: {' z8 Y9 v( A. W% ?; ~這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?
4 j% J0 F4 N( E( L* |+ q. [6 g& J3 z/ t能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层
gt.adan 发表于 2016-4-29 09:428 p. o# E0 F. Q& [
看不明白…
/ X, L4 j5 K; e- e這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?
0 ~$ p" @9 H4 }$ }2 P7 Z! V能否明白舉個例子?一個完整的零 ...

) L' F: b% B- R$ j丹大这个是一个示意图;
" x- G# H- z; E) r' ~. U做的不好希望能看的明白4 J+ u# b- b  A; B: t
QQ截图20160429152357.jpg
8 n  f& ?& l* p  m3 Y# u, e' \# w4 B8 H! w1 Q' _
$ u4 R$ i4 b; r" ]  g: z3 V
麻烦丹大看看谢谢。
0 O5 m' C2 {7 I  {: M3 D% K
发表于 2016-4-29 15:38:32 | 显示全部楼层
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑 : x# v$ ?7 b, j: t! t
杨成武 发表于 2016-4-29 15:29% X5 N% [1 `  T9 Z: p
丹大这个是一个示意图;8 F/ e/ ~4 B+ R) n
做的不好希望能看的明白

1 \/ N& p) p8 X) p9 v如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。
! `! _$ B+ Y6 l- q( J' M那麼以下代碼就可以使用了。2 u7 }8 M. B4 Z
; h8 N6 N! K8 Z; |" B0 R
  1. Sub main()
    * N4 s2 _6 \: S# R7 L) o

  2. 8 _- h) I8 C) n; K
  3. Set swApp = Application.SldWorks9 P4 g$ U+ Q- i3 N9 g/ \
  4. Set model = swApp.ActiveDoc
    % e7 a$ ?7 m' Q) N2 G! @' F

  5. # @! |+ T: o( j# A( @1 N
  6. ModelName = model.GetTitle+ ]' s' I# g6 [/ e- c' H$ m, L+ v
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1)
    1 C0 j8 L1 x* V4 h

  8. 6 g( q7 ]0 W5 p- @$ w0 i! n, o6 z
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number")+ j! j0 B$ U  K
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10))
    6 C5 U; O$ U" L) |
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")
    0 x9 \/ B; K( o- ^- E4 r
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10)). N+ [0 X2 H) O! M( V" f/ A6 P

  13. 8 R* L" J3 P9 E3 c) O& ]
  14. End Sub
    5 m: [( B6 d8 g# c- u
复制代码

$ e# F6 X9 s* |0 `  u: }3 P/ N% M$ ]; n3 e

  t6 n$ s" ^2 g7 V* I
发表于 2016-4-29 16:39:54 | 显示全部楼层
杨成武 发表于 2016-4-29 15:29. c2 U/ E' Y- d  P1 C- I& }
丹大这个是一个示意图;# k7 w* C) a0 T' Q8 ?
做的不好希望能看的明白
& G8 V/ p  R# R! p9 W* u
要達到批量新增的話,如下代碼:  |$ ~8 ^( N" B/ H5 p; A& F* {

6 Z  j8 s7 R1 m. d( S4 w
  1. Dim swApp        As SldWorks.SldWorks( y+ V2 A8 b$ L3 G! ^) |9 R2 U4 z
  2. Dim swModel      As SldWorks.ModelDoc3 w- _" h, h" U- D5 q) r+ V
  3. Dim sFileName    As String
    5 E$ }" U9 `8 Y- N' ^$ k
  4. Dim path         As String+ q& r9 ^  F, R; G5 \! k  `! Y
  5. Dim nErrors      As Long0 h8 Z/ O5 k  W( C1 j
  6. Dim nWarnings    As Long
    . `! k2 h) J  F* R+ h2 H
  7. Sub main()# S8 M' x* |+ V% [3 a7 y( s: X
  8.     Set swApp = Application.SldWorks
    0 B! u0 p0 K" A7 B6 d
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑
      p% B; r6 M# ]2 ?9 @* j
  10.     If Right(path, 1) <> "" Then path = path & ""
    % E% C* X, R/ y+ s( s. r4 {+ E
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw4 G: i+ [; t" x  n
  12. Do Until sFileName = ""
    9 a4 w+ C/ ]) I3 I9 g$ w: O. B
  13.   $ F, e( ?( I$ H
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING2 m" u" C# ?& K
  15.     Set swModel = swApp.ActiveDoc3 K' f$ D3 B2 D( a
  16.     " v) K: Q3 H, U9 y0 ~9 r3 N
  17.     retva6 = swModel.DeleteCustomInfo("Number")2 W( ?0 W( ]/ `0 R
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))
    " s! I( w& V& ^
  19.     retva6 = swModel.DeleteCustomInfo("Name")
    - K; A0 N* J5 y6 r% {2 ~# |% I
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))
    / H4 P. M5 s. R; N0 P* L* A
  21.    
    0 X3 T$ l& M, U' q
  22.     swModel.Save1 M* _; C0 y8 S# P5 N. x& X" u
  23.     swApp.CloseDoc (sFileName)
    . Y6 y! N' X8 z4 v  y5 w
  24.     sFileName = Dir
    7 j' U$ R8 @' a8 U# q
  25. Loop
    " Y5 b; Z* G: U2 g8 k
  26. MsgBox "DONE!"8 O# ?: M* H* c0 D# m
  27. End Sub
    3 i0 ?- l$ q2 {( _% R% i, ?# ?/ H$ i
复制代码

) |( Q4 [* T; [7 A& R, G% m: n! E9 U, _% K' P! W2 k3 v
* z% |& D& L, X4 L8 H5 Z3 K7 [) ~5 l
发表于 2016-4-29 18:36:36 | 显示全部楼层
gt.adan 发表于 2016-4-29 16:391 i/ ?" W6 j, A* X- |
要達到批量新增的話,如下代碼:

/ T: ~2 n0 m8 }+ F  b丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层
杨成武 发表于 2016-4-29 18:369 r, R/ r7 I! c4 ^6 |
丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
& |0 ^# f# y# ?- ~* t; Y! i
1. 工具--宏--新增
& ~. W, L' \) ~( m2. 命名後確認,進入編輯視窗,不要關閉。
# @2 j: i& m2 C. S/ W0 I+ Z3. 將#18的代碼複製下來(該樓層下方有一個複製的連結)
# ^0 p1 F5 F* d3 ^. K6 `$ |3 |8 T4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。+ w" @8 E& a2 O4 F7 c" B
5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。
5 f( n$ w4 q' ~+ F6. 完成。* h: W. b' U$ D
发表于 2016-4-30 19:34:08 | 显示全部楼层
gt.adan 发表于 2016-4-29 23:54
; `7 ^3 F; ^  g1. 工具--宏--新增- ]% I- X, j  |" ~# {
2. 命名後確認,進入編輯視窗,不要關閉。7 |; n3 s* H7 c# |/ [. {
3. 將#18的代碼複製下來(該樓層下方有一 ...

6 f  k# b% E3 l- n不好意思麻烦丹大看看问题出在哪里5 S$ f% ?6 v0 J# ], n2 {

打开来报警

打开来报警

8 a7 V* L; q0 ^4 h& v0 a4 K& |" j9 D7 U  Y* D2 a- h* |& c

出现这个

出现这个

: w4 [6 V; b  Z) F0 e  q; W$ {8 b& ]- f* V$ L8 a
发表于 2016-5-2 08:01:35 | 显示全部楼层
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑
9 B' v( |& F5 S7 Q
杨成武 发表于 2016-4-30 19:34  Q3 u( z6 t# V# U% S: p  R! y" G  Y
不好意思麻烦丹大看看问题出在哪里

7 H, H* ^& u9 F: I' p* U最上方加入下兩行代碼  ?* m3 d9 T" k- j* w) h! }0 @

. a; @, u% i3 z, @( g( H3 u0 P7 s
  1. Dim swApp        As SldWorks.SldWorks
    ( N  |: S+ }- P" K7 j1 x: P0 C
  2. Dim model      As SldWorks.ModelDoc
复制代码

- @) r/ ~, m+ ]8 [+ J+ K& O
6 s- z5 e2 U+ g+ c# n* Y8 v7 v: O9 l: u
发表于 2016-5-4 12:38:12 | 显示全部楼层
用了这个功能,版本就不要轻易换了,哈哈!
发表于 2016-5-13 13:08:49 | 显示全部楼层
这个功能要弄好看起来还很复杂
发表于 2016-5-15 23:00:44 | 显示全部楼层
要是图号和名称都不是固定长度,有解决办法吗
发表于 2016-7-13 13:49:51 | 显示全部楼层
squi111 发表于 2016-1-30 23:270 \! z) A/ }) m# r  O$ Y
能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了
2 {! e- i" [* i3 R9 g' B
现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层
安顺 发表于 2016-7-13 13:49
% F' }; l! q- `9 B6 U; `现在要不要了,我有

4 r- \: o  X. m* _' g能用于2016吗?能否共享 谢谢!
 楼主| 发表于 2016-11-24 16:51:15 | 显示全部楼层
可用于2016的呀
发表于 2017-12-14 16:26:17 | 显示全部楼层
论坛怎么赚流量啊
发表于 2018-1-5 15:21:41 | 显示全部楼层
学习了,好好试用下!
发表于 2018-2-2 10:03:59 | 显示全部楼层
把我的贡献出来吧。文件名编号规则“图号+空格+零件名称”,图号长度不限制。零件和装配体都适用。宏中的图号和零件名的属性链接根据自己情况修改。
4 b) \1 N2 \( C9 G

分离文件名.zip

6.03 KB, 下载次数: 22

发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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