QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

楼主: hheyafu
收起左侧

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

[复制链接]
发表于 2016-4-27 20:48:25 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-2-18 18:45
, X% o! w8 f1 C8 Y: [: e$ e  a) o打开属性栏,设置属性,如图7 A# @+ }) s3 t( z' r5 U
进入方程式界面,设置全局变量,如图

' Y/ j2 }# L0 u/ g) @, g老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层 来自: 中国安徽蚌埠
杨成武 发表于 2016-4-27 20:48
; W7 n9 `! [0 b' k% S. J老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...
8 t, L- o: W8 t( Q+ U" `% q+ b
装配图好像不管用。! c7 v. N, I( k' D" y. C
你的是什么版本的  t6 b# }- H8 M5 ]4 x: a& V. ]
发表于 2016-4-28 19:16:50 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-4-27 21:38
4 [, [, k) v" ]% C! x  ]& T装配图好像不管用。
8 S9 J5 F+ I+ S1 b) U/ c+ \( N你的是什么版本的
0 c8 {. Z8 H. P
sw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-28 19:16* h5 e, E2 s: K" g% S" u. B1 _
sw2015,你有qq吗?

* p6 v8 p/ f, `2 n- q#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。
  ?" A* A6 [8 V5 Z# H把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。
" o$ [5 f- A+ r: K每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 07:01
: A, Z$ f* K- B' ?#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。0 [) q8 X' |+ h2 T; a
把你要的編碼方式寫出來,具體 ...

  w" Y% F6 a0 _* J5 `4 }- }( }6 R谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 07:54. i1 ?$ P0 Y: _" M4 [: ?! d1 O
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...

! r5 R$ s8 |! o6 t4 H1 ~看不明白…6 V  D. j2 e6 F" F
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?
; u6 W. ~' ?* D9 o; v) {能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 09:42
* ?# B$ [) h5 e7 P2 W看不明白…
% ^- e. L0 t* \4 S這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?
! l  e9 W# d: U9 b$ {能否明白舉個例子?一個完整的零 ...

: @8 }8 p; p, u1 U, X0 ?$ y丹大这个是一个示意图;
1 d2 G- V; |4 g# P$ K做的不好希望能看的明白5 T, \$ y1 L! x
QQ截图20160429152357.jpg
" M" z5 i: ]& a6 H
7 P$ [3 \+ H- m  j' ~, u9 I7 T0 b1 b
麻烦丹大看看谢谢。+ p% B( A9 `0 y
发表于 2016-4-29 15:38:32 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑
0 @' N: `5 j- Y8 t7 T+ w: V
杨成武 发表于 2016-4-29 15:29& K( m. n) H) a# J: @  s
丹大这个是一个示意图;
  F( ^. Y( x; A+ f* O做的不好希望能看的明白
  E% G! a" G+ Z+ G: H" `4 r
如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。
0 m, ?5 k6 J! u% V( z& e! s那麼以下代碼就可以使用了。
' b! z: X$ s/ h) J+ c: D& b
5 \- H! `6 G  H( M3 U# a% B1 |0 ]
  1. Sub main()
    ( X' P1 U. W  }, h( H& l

  2. ' [8 R, X% i7 a4 }( h
  3. Set swApp = Application.SldWorks' d7 `* O1 W& V8 z* I5 F, ]  K1 x
  4. Set model = swApp.ActiveDoc
    # G, Z) r# G. e" r0 A9 M  |

  5. " K9 V9 y; m4 w
  6. ModelName = model.GetTitle1 Q1 U6 S1 U+ s( b
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1)
    . a, [- O  X! k0 q
  8. $ P! s1 l# c9 X5 K' \* r9 c  m  y/ M
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number"): Q5 a: q6 f( Q7 S) M
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10))
    2 Z8 J* \% z% \4 V/ h$ m6 d5 |; v
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")
    9 S0 _8 X" S3 t/ m4 _
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10))% H# I  f+ |% A8 W, O( w) ?
  13. % W/ g" c6 n* ?1 |
  14. End Sub
    ( E) Y8 A, G' j, K& Q/ b* _5 H, J% y
复制代码

- u; v9 j$ g$ z8 A7 }/ q1 ~* y+ ]6 r$ G( q- B& t4 G
3 ]5 _& m  ^! }9 v* C
发表于 2016-4-29 16:39:54 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 15:29) s' }2 k& T; K2 u; q; t; Q
丹大这个是一个示意图;% G) s0 l2 L4 E6 M/ J
做的不好希望能看的明白

: ^4 C, z  P* E" U+ C2 S要達到批量新增的話,如下代碼:' S+ H3 h  y4 ^

- h# ?. y5 o- c( @% c* m7 d- P
  1. Dim swApp        As SldWorks.SldWorks
    2 F' f! X* O  F  r# ]
  2. Dim swModel      As SldWorks.ModelDoc
    # r. D; m- I+ S  e2 p! U, X
  3. Dim sFileName    As String% D: F& E  _" h( ]) d5 X9 X
  4. Dim path         As String
    4 Y; q! \! }; i" |
  5. Dim nErrors      As Long1 f* k4 m; o, S& Y$ k3 {
  6. Dim nWarnings    As Long" V! S9 G0 v+ `# B! o
  7. Sub main()( O8 g0 k" Q+ h5 d1 @9 a
  8.     Set swApp = Application.SldWorks4 Z; Z- L3 s. \- N, Z- T' @
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑
    % A- U2 I, Z: K: M, x+ h" T7 C1 M$ V
  10.     If Right(path, 1) <> "" Then path = path & ""
    6 ~5 j7 }% p5 |& C/ f- v" y
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw
    - z/ e! f& D4 r  x; A  n
  12. Do Until sFileName = ""+ J3 j2 Z% ]3 Z
  13.   5 ?5 l) Z- Q7 \, q
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING
    $ U7 Q9 {, s) X) T
  15.     Set swModel = swApp.ActiveDoc
    ; D6 k# t+ E5 }0 e
  16.     ! m- t- O3 o" ~7 X* x* M
  17.     retva6 = swModel.DeleteCustomInfo("Number")2 }  G+ Q* u0 p( z0 x- B
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))" v: I% L/ t/ e
  19.     retva6 = swModel.DeleteCustomInfo("Name")
    2 e& r& g  `* I- L  E
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))& \& z* c# \9 u& e$ E
  21.    
    ! Y  Z0 |' F6 e  D0 R
  22.     swModel.Save6 E! ^, V1 X. `7 [; E2 |: h$ Y4 K5 |) B
  23.     swApp.CloseDoc (sFileName)* y. }5 \8 R. `, {
  24.     sFileName = Dir
    ; q# i+ m) [4 d  z9 s! N- g
  25. Loop" e1 A( w1 ~1 }* y1 S# h
  26. MsgBox "DONE!"
    + Z# W; ~7 j2 x- S0 C- a' F& J
  27. End Sub
    3 E" ]( S: v% Z8 S
复制代码
2 _' S# g# C; e! d
+ i6 {8 G& k0 Y
. i  f6 B' E4 `$ @
发表于 2016-4-29 18:36:36 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 16:39
, r9 a( @$ f7 q要達到批量新增的話,如下代碼:

3 f+ X+ n; \0 x+ X" c' @: _丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 18:36* i- n* ~+ Y% X& F' z
丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
7 I" r( U1 r' j* w/ S* p4 w" \  `+ \
1. 工具--宏--新增
9 u2 G( d6 b3 v& E7 {/ ]2. 命名後確認,進入編輯視窗,不要關閉。5 m$ |9 k9 s: ]6 J# `0 D
3. 將#18的代碼複製下來(該樓層下方有一個複製的連結)  d& _1 H! y- K' F
4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。$ l* H& M: S7 H" K8 c9 e
5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。! B' \2 d7 y3 @1 K, ^) O. [, n8 r. V
6. 完成。$ W( q- @- u4 \5 _6 f' U' _0 q
发表于 2016-4-30 19:34:08 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 23:54$ G- F; t- a" g3 c" \
1. 工具--宏--新增0 v, Z) V; f: Q, S9 T" X+ [: D
2. 命名後確認,進入編輯視窗,不要關閉。8 L$ U( O; R& v
3. 將#18的代碼複製下來(該樓層下方有一 ...
$ v' _/ g) z1 W$ w
不好意思麻烦丹大看看问题出在哪里
" f4 e) }' e/ }+ c' |

打开来报警

打开来报警

3 q, X& P# I4 @/ F1 Y
$ I' y( `/ K3 Q3 n! z2 i

出现这个

出现这个
& S8 R. G/ K0 t- U. S) u

6 ~0 B+ n, [% i
发表于 2016-5-2 08:01:35 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑 & ]4 U0 o( j. g: `- i
杨成武 发表于 2016-4-30 19:34+ H& W$ a# J9 w* h* Y4 k8 I
不好意思麻烦丹大看看问题出在哪里
" M% H4 }2 N: y' f, c4 j
最上方加入下兩行代碼
, H2 |8 `3 U5 ?: w$ I: V% X0 l4 e
  1. Dim swApp        As SldWorks.SldWorks4 W/ @) P% x! `
  2. Dim model      As SldWorks.ModelDoc
复制代码

, c5 {, u! c1 r: [+ p8 b- e/ r/ \& h7 j  p9 L" @1 F0 p
/ c, Z8 f4 P7 v
发表于 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' n  }; n( }& E! X8 n2 q5 y
能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了
% w) x- F* u% k% c0 Y
现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层 来自: 中国天津
安顺 发表于 2016-7-13 13:49. }( j  s" j  l, m2 Z
现在要不要了,我有
8 y. a5 B8 K1 R
能用于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 | 显示全部楼层 来自: 中国山东青岛
把我的贡献出来吧。文件名编号规则“图号+空格+零件名称”,图号长度不限制。零件和装配体都适用。宏中的图号和零件名的属性链接根据自己情况修改。, D+ ^* t. ^! N$ l2 |$ N

分离文件名.zip

6.03 KB, 下载次数: 30

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

本版积分规则

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

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

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