QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

楼主: hheyafu
收起左侧

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

[复制链接]
发表于 2016-4-27 20:48:25 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-2-18 18:45  F$ H( H% {, {% T# E. E
打开属性栏,设置属性,如图
- S( i: J/ k2 b# }8 i+ i9 o进入方程式界面,设置全局变量,如图
8 Q1 C8 ~7 s/ |+ V0 d% p
老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层 来自: 中国安徽蚌埠
杨成武 发表于 2016-4-27 20:488 p2 b" h# P0 L  Z& ?  O) m
老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...

6 O0 c: U. Y& D* }7 c& b8 ?装配图好像不管用。
, m: l8 q6 R/ Y1 x你的是什么版本的
- f' a* o0 O- E  m) w, Q) s
发表于 2016-4-28 19:16:50 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-4-27 21:38
, V8 ?9 q, c/ U1 J: {装配图好像不管用。6 \" ?. Z  Z# f0 h2 L) T
你的是什么版本的
4 [8 c8 K% e+ d$ N4 }9 Z9 R. C
sw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-28 19:166 y4 G1 f; Q3 X' `
sw2015,你有qq吗?

9 d3 P3 M3 x) A5 v#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。
7 V% M' j1 S$ L+ C% G把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。
$ l8 [9 O3 J" o每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 07:01
1 W8 V& `+ }, E- Y( Z7 F#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。7 S  d# k3 z$ O  D
把你要的編碼方式寫出來,具體 ...
; W. C1 F7 W0 x& R! Y0 \6 @0 T; z* S! N& _
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 07:54" D( |7 w7 _0 I$ U* ~  ?3 V/ Y) I
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...
0 H7 Z' p' S5 e, h, r, k
看不明白…1 ]' j4 D  P) M. z8 y; u
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?8 T( p$ h) _6 {$ `2 q
能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 09:42
- Y+ ~) ~1 r& ?3 U! w看不明白…8 k" r6 b7 Z" d+ z: L3 P# ~5 {2 b
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?
* ^, v- k7 f9 }能否明白舉個例子?一個完整的零 ...
) t) t, D! U9 T
丹大这个是一个示意图;
1 w' m  j. {* v8 @做的不好希望能看的明白
/ {3 ~5 A% C, [+ o$ p QQ截图20160429152357.jpg % e9 e& n( h/ k: S' h) O4 ~
2 R1 \% P" j# D" [
$ H# e2 c" Z" v* C7 e# J% ]
麻烦丹大看看谢谢。+ @1 G+ e+ |6 P6 j( [  C$ t# w
发表于 2016-4-29 15:38:32 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑
( i" B* M8 J/ G, O( Q
杨成武 发表于 2016-4-29 15:29
$ C9 U1 y% n# X7 P' S  ?1 |丹大这个是一个示意图;
( r; d9 R1 P  Y' k: M9 Y做的不好希望能看的明白
" G. {0 B6 D( y2 _3 q/ u* \* N7 P
如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。! D& Q- d  |( B, P1 v! s
那麼以下代碼就可以使用了。
  X, ^8 s/ W/ u0 B& ?
2 b1 K  x# c" P, f
  1. Sub main()' e. [1 n/ z3 \; [" R- c# K
  2. 5 ~; @0 ^! K3 ]" D/ a3 V$ Z
  3. Set swApp = Application.SldWorks1 x9 z' z& N2 ^6 v, m
  4. Set model = swApp.ActiveDoc8 v' V5 k5 Z9 ?9 x; ]
  5. & X6 y& p; \. D% y7 f' a
  6. ModelName = model.GetTitle2 ~3 k$ L. V, y- C* f
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1)6 K2 p, [% E/ n

  8. 7 S' {2 O6 u' g! \/ i1 {- D
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number")
      w5 [0 i& G5 f/ w4 V# m; `. Z: {; s
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10))/ h% q8 `( j8 d% }% z4 a3 W* _
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")
    2 K8 a( \( n$ I) }6 ]: I
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10))4 J" S& I3 D. k# r& j* `/ X: Y

  13. ' F/ u; [5 Q1 |6 e
  14. End Sub5 D' C. L5 |2 d, ]5 s$ o
复制代码
3 L  Q. V% `+ k, O% C

" R6 F! n. N5 c5 W, a" u; m8 }4 G. D7 G  ~* k% O
发表于 2016-4-29 16:39:54 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 15:291 g" z% P% t4 a0 ~  K3 I4 q
丹大这个是一个示意图;+ I. C& m; W5 e
做的不好希望能看的明白
/ O  N" g$ @2 U2 u0 }" e3 u8 a
要達到批量新增的話,如下代碼:
6 G" c3 v8 L! g7 L& O
- e6 F1 w. @$ ]" e" k+ i( J
  1. Dim swApp        As SldWorks.SldWorks% L; i/ j, i- m% k
  2. Dim swModel      As SldWorks.ModelDoc: ]7 o6 ^6 W' R& R/ w! @6 E0 @
  3. Dim sFileName    As String
    % J1 V7 i- O3 N+ R
  4. Dim path         As String
    # `/ G+ c4 c% e! \4 p
  5. Dim nErrors      As Long2 X% G8 T& d; b. {
  6. Dim nWarnings    As Long: f5 S, T1 |* H4 b: j6 l
  7. Sub main()( U; o9 V" j* t3 A6 s
  8.     Set swApp = Application.SldWorks
    " K) R, _" R4 R" h! H2 {. W
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑' V: S& W7 s( b- M+ v4 p! c* Y
  10.     If Right(path, 1) <> "" Then path = path & "": s& K: ]- P* a0 H* ^6 |. |, k
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw( s" D7 ?( V! g4 a) J# y7 G
  12. Do Until sFileName = "", v) W: j/ z4 s; }4 ^
  13.   * J& [. n5 T" U7 M" f
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING
    6 h7 e) c3 m% {; [4 Z; Q- o
  15.     Set swModel = swApp.ActiveDoc
    ' U  f; m) E& q. |8 ~8 n4 w$ E
  16.    
    - r6 Y+ }+ O, J  v& ]
  17.     retva6 = swModel.DeleteCustomInfo("Number")
    8 W! G4 ?3 Z/ p) c2 h
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))
    2 o+ G2 V3 k- A* I) u6 J6 f4 E
  19.     retva6 = swModel.DeleteCustomInfo("Name")
    - B# I9 ~; N9 N, {, f2 C
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))
    7 w4 \4 d4 M' z2 L) k
  21.    
    2 c" x/ B/ H7 S
  22.     swModel.Save
    2 U# r' P* s/ B) Q; B
  23.     swApp.CloseDoc (sFileName)
    # \& r. `+ A8 w- S+ C, ]  u: h
  24.     sFileName = Dir
    # n) ^- Y/ ]( p# V
  25. Loop! i4 O% B, s4 T$ H, P
  26. MsgBox "DONE!"% B* `' P' l9 t6 n, Z
  27. End Sub
    7 n0 n7 K" V/ G! {6 J3 Y# W/ _$ t- J
复制代码
" X* v4 A! C% c6 `* O$ U6 I8 e, q
$ n1 g" m4 a* [8 T/ T5 _  p

# L& J, f. ^  |5 K( H' }: q
发表于 2016-4-29 18:36:36 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 16:39
! O$ Q; N3 n, D7 B+ a5 S" c要達到批量新增的話,如下代碼:
! g4 l8 Z- V% ?# z$ A" b  \/ v
丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 18:36) u1 N$ h3 ~& x. m
丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
7 W% r! f8 W  ^- d
1. 工具--宏--新增& T# d9 ], a* _5 F% E- D
2. 命名後確認,進入編輯視窗,不要關閉。+ g2 X1 n, R7 k$ f  f2 Q# e
3. 將#18的代碼複製下來(該樓層下方有一個複製的連結)
/ ?8 T: ^) _7 D! ~4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。
) C' L; @, s4 O2 Z) B7 o5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。
2 Z8 M+ l6 l" V$ M4 K6. 完成。
4 u4 ^" J4 ]: g1 n; \+ o
发表于 2016-4-30 19:34:08 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 23:54
; W9 H2 L- X  |' a5 V1. 工具--宏--新增3 U1 j8 U! O, a) G
2. 命名後確認,進入編輯視窗,不要關閉。: W0 v9 ?# K. O% e
3. 將#18的代碼複製下來(該樓層下方有一 ...
4 O7 @  p4 N1 v3 b) m' L# r
不好意思麻烦丹大看看问题出在哪里5 O( U1 o* {4 Q4 W& l% a) m& ?

打开来报警

打开来报警

0 F, i0 p; l! R1 t+ g8 O* j% `" r# C% y" @

出现这个

出现这个
* T: t# @0 n- w( t9 p
. H/ _' z! K, O, l0 b$ G0 F
发表于 2016-5-2 08:01:35 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑 $ F! L6 n) B7 K6 s, F1 p
杨成武 发表于 2016-4-30 19:34
2 k% y* K  `, p" T6 ^1 q不好意思麻烦丹大看看问题出在哪里
7 a( x7 I( E1 v" K" o
最上方加入下兩行代碼
9 G- J7 W  M  T- d( j/ E% [- q8 k- s, P7 k- P# w1 ^- K. I* g5 `- z
  1. Dim swApp        As SldWorks.SldWorks5 `5 y9 e( r& ]* E
  2. Dim model      As SldWorks.ModelDoc
复制代码
, f1 f1 J6 W8 L
% E2 Q/ ^$ {+ Y

4 c/ a9 o* \& b8 S6 U; z) c
发表于 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:271 R; {& ^6 Q5 l' D
能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了
9 J" }2 U* L( N; Z$ U. f
现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层 来自: 中国天津
安顺 发表于 2016-7-13 13:49
4 q; `( x9 O- u/ H8 k: C" J! u/ i现在要不要了,我有

7 N* @) K2 p3 f- ^/ l; F能用于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 | 显示全部楼层 来自: 中国山东青岛
把我的贡献出来吧。文件名编号规则“图号+空格+零件名称”,图号长度不限制。零件和装配体都适用。宏中的图号和零件名的属性链接根据自己情况修改。- K, J; ?7 `' Y8 f" b1 y

分离文件名.zip

6.03 KB, 下载次数: 30

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

本版积分规则


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

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

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