QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

楼主: hheyafu
收起左侧

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

[复制链接]
发表于 2016-4-27 20:48:25 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-2-18 18:45
0 }, g0 B$ ?) J: n  @打开属性栏,设置属性,如图
% b; p; B  V' t, ?5 h进入方程式界面,设置全局变量,如图

7 N  _1 P. b8 [  A! b老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层 来自: 中国安徽蚌埠
杨成武 发表于 2016-4-27 20:48
" h" s9 T2 Q9 g" U" N! g老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...
9 u8 k/ {" _, K0 t
装配图好像不管用。5 ^$ S6 [0 g+ B' |, ]9 V
你的是什么版本的+ L8 [  p5 y! E
发表于 2016-4-28 19:16:50 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-4-27 21:385 I5 i7 _+ W! w' }( Y
装配图好像不管用。0 S8 c  H8 z. p7 O3 i+ I) c
你的是什么版本的

* l, w0 E! r3 u* f, E, _; Xsw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-28 19:16
" V' R; p5 w3 }3 v8 H" a9 gsw2015,你有qq吗?

* P. |& c% G2 R#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。
7 F% g, k% L9 @& [# u' h( `把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。( l4 P1 F2 Z( B& p2 D
每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 07:01- ~* ~+ e# Z# t& g- T
#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。
' Z0 c9 J" D* W8 \3 D把你要的編碼方式寫出來,具體 ...
2 d5 p7 u+ H! l4 [! s
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 07:547 M; F6 }" b7 Q, c/ G
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...

4 `0 A& X% ~0 [% z& J+ g; `看不明白…
' P& r+ [; C0 @% }- P7 f( V+ U0 }這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?
2 l" i8 k" O( x: L8 n. Q+ e能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 09:42, n! V, }4 g% O+ D$ @
看不明白…
) x5 x1 Z" ^' j; s$ w% d& J5 E. J這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?8 i! ~! n& Y: ?/ D2 ]7 ?
能否明白舉個例子?一個完整的零 ...

3 T2 }$ {& |6 ^/ w丹大这个是一个示意图;  p' u! ?0 e/ @, ?8 t0 _
做的不好希望能看的明白
2 i8 o) ^1 Q: }% s; H  k8 B QQ截图20160429152357.jpg , Q" `: G. K1 j: S* Q% w

$ O% b' v) J( r& J. V: }2 {
- c& t+ J- u0 \) ~4 [+ @" ~麻烦丹大看看谢谢。
8 s+ u( c1 M, R' q7 P' E
发表于 2016-4-29 15:38:32 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑
9 U+ ?( V  q5 I
杨成武 发表于 2016-4-29 15:29
- V- H& }  _5 _& K, O丹大这个是一个示意图;
' R  S: l% H5 V5 f: s$ N, Q0 C8 ]做的不好希望能看的明白

# u( Q. i, I' A/ }3 W8 h' v如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。
. X  i- H, F  b) A+ U那麼以下代碼就可以使用了。- f+ N$ \2 g6 {" J- R2 C  `0 P6 k, @$ s
# f- A1 z9 c" g
  1. Sub main()
    1 g% P; C* P; g- t' }( N
  2. + n3 b; b( y5 S8 i  ^
  3. Set swApp = Application.SldWorks
    * f; G6 a) `' E3 M) q, s
  4. Set model = swApp.ActiveDoc
    . O' [6 o+ `5 f; S9 ]

  5.   J. S4 R9 s% s+ W! z
  6. ModelName = model.GetTitle$ W" q. \. d7 K) A& L2 W
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1)4 R+ Y8 z) W1 ]1 m
  8. 3 A" K5 P  P- l, \9 Z
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number")) H) c7 o' E: V+ y% V
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10))
    # [2 n  G' ~$ t) m5 E( G5 I
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")
    ; U  n4 @( W! K2 B+ ~$ h/ ]
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10)). g; H6 r! j9 E" J
  13. 3 o7 W) u$ Y8 \* o
  14. End Sub
    0 W7 {: X! w, _. Y- h3 S
复制代码
! D/ c0 `( X% ?2 ]

+ w0 W+ T* Y4 J8 S9 W) P+ ]
) Y, c. h; R! G) c
发表于 2016-4-29 16:39:54 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 15:29
1 g! s$ d$ F- L) y/ H丹大这个是一个示意图;
" D9 R$ k2 ]2 T9 ]3 Y. b0 F7 B做的不好希望能看的明白
& d  X1 r  k& _* I
要達到批量新增的話,如下代碼:# o! w  u5 a2 L2 G- U& ?
$ C' d( S+ m. ?4 t
  1. Dim swApp        As SldWorks.SldWorks
    + c8 |, O; v# B
  2. Dim swModel      As SldWorks.ModelDoc/ p* t- Y4 d5 W/ S3 w9 f5 E
  3. Dim sFileName    As String5 H( X0 O# e  ]- s
  4. Dim path         As String  {7 S$ c( T' r/ c3 ^' r& ^2 R. ~* a
  5. Dim nErrors      As Long
      K6 i2 n3 B' x# y4 n# X
  6. Dim nWarnings    As Long# k) ^9 p; K: U2 L5 `" C: B6 l; l7 D6 ?
  7. Sub main()
    + r/ ?5 A% [+ c$ f
  8.     Set swApp = Application.SldWorks3 Y6 V' h) I7 J& g+ E+ D7 Y/ L
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑
    6 e- I% H7 y# s2 S0 ^' @
  10.     If Right(path, 1) <> "" Then path = path & ""
    - r3 w) N# d. y
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw
    % }+ Y4 S1 v0 G% Y
  12. Do Until sFileName = ""
    7 f3 N& R8 N- Z' z) r1 q! C
  13.   
    6 ]2 u- w& E& g
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING8 W" W" [5 d! n8 H
  15.     Set swModel = swApp.ActiveDoc8 j3 D; E$ k' K; O0 [: u) x
  16.     # V2 t8 e' z, i0 l
  17.     retva6 = swModel.DeleteCustomInfo("Number")8 n! F$ w1 @+ T. ~, U; k0 v1 Z
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))
    ! e+ w9 |( w) |# q' ~5 o: a* W
  19.     retva6 = swModel.DeleteCustomInfo("Name"). e5 d% z" K3 \/ y) X. o
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))
    3 i' ^5 q( v; A4 R( a9 ?
  21.     . _& }* F2 \4 @
  22.     swModel.Save
    - e+ Z8 H& f4 X# y/ `
  23.     swApp.CloseDoc (sFileName)0 u' G5 G) h% k; r! \
  24.     sFileName = Dir6 j: t4 Q( Z  @& M" ~$ M: Z5 I
  25. Loop
    5 l" d0 s% b+ a7 w
  26. MsgBox "DONE!"' b" q" d0 q7 z( ?4 K& u0 h. n
  27. End Sub
    + u: q! Q" k) F
复制代码
" L5 B, }2 [% Q! W" |

; o6 ^) e) x3 a# Z
; m: ?0 W" \& w& x2 q! i
发表于 2016-4-29 18:36:36 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 16:39, }( R( |2 I/ N! f& c* S! t
要達到批量新增的話,如下代碼:

' D# @: e7 ?1 L8 z  }5 A2 ]9 i丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 18:36
( _- C& Z9 f' }$ a' |/ `6 @丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
9 J% a% W  g7 y3 I
1. 工具--宏--新增
+ I1 g) Z- m2 `* h: B# L+ j2. 命名後確認,進入編輯視窗,不要關閉。# e7 r& j8 Q' A# C# ?3 q' ]1 a
3. 將#18的代碼複製下來(該樓層下方有一個複製的連結)  P; |# n6 Y) D
4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。' v7 t2 z; D3 G
5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。# j2 D; C; K: r# U6 X) B( X' V& d
6. 完成。
% O1 m/ r. S1 M
发表于 2016-4-30 19:34:08 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 23:543 ]- ^( C$ |# S0 U7 X4 L
1. 工具--宏--新增
2 d- i( J  c# P" x! L) [- r5 B2 Y9 @2. 命名後確認,進入編輯視窗,不要關閉。
0 @9 Z+ Y5 G: t4 r& @  z1 L, _3. 將#18的代碼複製下來(該樓層下方有一 ...

- o, t" b1 ^% X0 X. P; }不好意思麻烦丹大看看问题出在哪里
  }. V* h* H3 f/ p

打开来报警

打开来报警

" Q: w$ Y- k* G4 L( F" Y9 X! g: C  e  b# U2 ]8 J6 [- f

出现这个

出现这个
: q( h9 t4 h; x: j% V
# q! ]! `1 j' d3 v8 T
发表于 2016-5-2 08:01:35 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑
- [0 c( z1 y- o( S" q4 |
杨成武 发表于 2016-4-30 19:34
7 \3 S3 g' h8 a5 y8 T' N不好意思麻烦丹大看看问题出在哪里
* |: ]1 J! {6 {  m
最上方加入下兩行代碼
* L% Q# I8 c, B8 k; `: @  t  S# Q% d! J$ I
  1. Dim swApp        As SldWorks.SldWorks2 j# t1 ]* H4 ^; K/ o
  2. Dim model      As SldWorks.ModelDoc
复制代码

, |6 n! k- P. u
# v: X7 E6 L, A  t6 W9 n  I4 P$ i  ^$ y8 q$ d& S* t
发表于 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:27  B) ]3 _% s5 f4 v" I) O
能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了
3 }1 A- `/ K0 u
现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层 来自: 中国天津
安顺 发表于 2016-7-13 13:49
$ r+ J0 L2 U3 t# P( i' {+ E现在要不要了,我有

; o" X" C4 F8 ?( I! _5 e能用于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 | 显示全部楼层 来自: 中国山东青岛
把我的贡献出来吧。文件名编号规则“图号+空格+零件名称”,图号长度不限制。零件和装配体都适用。宏中的图号和零件名的属性链接根据自己情况修改。6 E9 n$ F, I5 Y

分离文件名.zip

6.03 KB, 下载次数: 30

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

本版积分规则


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

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

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