QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 版主微信号:caivin811031;还未入三维微信群的小伙伴,速度加
2022-07-04
全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
楼主: hheyafu
收起左侧

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

[复制链接]
发表于 2016-4-27 20:48:25 | 显示全部楼层
jinqin11 发表于 2016-2-18 18:45/ ^* |. r% K7 j" c1 D# Q$ R. o0 R0 g
打开属性栏,设置属性,如图. v( ?" _6 d2 s
进入方程式界面,设置全局变量,如图

* h" a4 P9 R6 Q1 U( Z3 b/ J1 v4 z老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层
杨成武 发表于 2016-4-27 20:48
* [7 F- T: p- Z. F; f$ P0 I老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...

6 X5 l9 H& a  D装配图好像不管用。: D6 o  @6 O3 r6 {  h
你的是什么版本的
' l8 ?. P. d# N: K/ X
发表于 2016-4-28 19:16:50 | 显示全部楼层
jinqin11 发表于 2016-4-27 21:38
; G3 B  ^% Y7 w2 E装配图好像不管用。: K2 w3 N+ i# C) t0 x- {/ W
你的是什么版本的

& F5 i9 C* e& _) v2 Bsw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层
杨成武 发表于 2016-4-28 19:16
- {' Z( D: y+ x- v* zsw2015,你有qq吗?

. `, L) l4 n( |& g( h7 S8 W8 N: H#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。
$ Q* w) R- ^& E7 X把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。& y& \4 F: A: I
每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层
gt.adan 发表于 2016-4-29 07:01$ X2 J" V- E4 X9 R
#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。# k! c: B; F3 \! G9 Y4 X& K  l
把你要的編碼方式寫出來,具體 ...

0 |" d8 `: h6 w7 c- M7 `谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层
杨成武 发表于 2016-4-29 07:54
/ B& `* b; z0 t* k谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...

& p. j; Z% `, A/ ?# e看不明白…
: R9 k" R' n* M這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?
$ P( P/ o' l$ M1 v' ^, b能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层
gt.adan 发表于 2016-4-29 09:42
- I4 N7 J* |5 K% ]# H看不明白…
0 B0 B8 s! ?: R5 ?這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?& |7 W5 F- i& j% F0 c9 b- u
能否明白舉個例子?一個完整的零 ...

% d3 k+ \5 r: k3 p5 a  M丹大这个是一个示意图;/ `; C0 }0 N+ d, w/ Q
做的不好希望能看的明白/ J6 F. D+ w- H8 w8 t
QQ截图20160429152357.jpg 8 i# y9 m9 b1 m2 ]9 y  R4 R% K

8 u- E3 W* G8 v
0 B5 u- E. {1 n  r1 [麻烦丹大看看谢谢。
7 C: q) v. ?. y; n  m& g
发表于 2016-4-29 15:38:32 | 显示全部楼层
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑 # o1 E( y9 S0 H8 c5 u; ^+ q
杨成武 发表于 2016-4-29 15:29
% H+ l& H+ {- q: G  X' h丹大这个是一个示意图;
) `, g# x' q5 X5 p% S. Y. [做的不好希望能看的明白

9 O3 t0 _. c9 J3 `如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。
2 F1 D  k& M, a那麼以下代碼就可以使用了。
  f' j' y3 `; U' b5 @6 `6 ?7 J3 _( n- I
  1. Sub main()+ L+ ^$ B+ G8 e5 ~& u  U8 \
  2. , `: K( g1 u0 Y" D( c
  3. Set swApp = Application.SldWorks1 o6 v9 C* W1 o0 R3 S8 E
  4. Set model = swApp.ActiveDoc
    9 a! B( L) X3 t. X: P3 J
  5. * Z1 w" z) V/ I. _& j& f; `
  6. ModelName = model.GetTitle
    7 c8 Y0 E; w+ i$ ~$ U" o
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1)! d4 ?. C7 ^- S* F* I1 H' y
  8. 1 _/ |$ M2 c" o7 o4 }/ n
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number")8 s7 l/ w* V9 J" [" P% ]
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10))
    + o7 ]5 a( y* F4 G. W4 n# l
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")! v2 V3 w# M2 I2 P4 C
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10))
    5 e: \5 a; K1 m$ ?: y- Z, ^
  13. / l! u! v1 L# p1 X0 b1 u
  14. End Sub
    ; q* H  l: |& E% _: n/ X
复制代码

1 y* L- `$ f' ~3 w8 v$ i3 \5 |
/ ?% Y3 c) n0 k5 i
- k* z4 g  B2 L+ x& {- f$ ~2 X" k6 c
发表于 2016-4-29 16:39:54 | 显示全部楼层
杨成武 发表于 2016-4-29 15:29( ~  f, w" j$ J) @8 e; P
丹大这个是一个示意图;
' k; e0 k1 T  |4 H+ O3 _做的不好希望能看的明白

  k' z. E1 i7 P- d6 j要達到批量新增的話,如下代碼:
( Q1 l+ O  O1 |; q* p2 u$ `1 J5 A: R. w! d# @+ G- K: p9 k
  1. Dim swApp        As SldWorks.SldWorks7 I, z6 I( W& Y! D
  2. Dim swModel      As SldWorks.ModelDoc
    $ f& Y* S; a3 v1 f) F5 r
  3. Dim sFileName    As String3 j; `8 S; F+ q$ M) w% V9 h
  4. Dim path         As String. K' Z* N$ r9 W  m
  5. Dim nErrors      As Long- r8 {: L; L5 o2 T" `
  6. Dim nWarnings    As Long
    % z/ w; Y7 j9 I' T! M/ n
  7. Sub main()
    : L3 V9 W; F( l6 I9 k( C3 |/ ^
  8.     Set swApp = Application.SldWorks+ A1 O: ~  W" p  e
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑  O) C, h6 A3 f/ b2 b" X. G
  10.     If Right(path, 1) <> "" Then path = path & "", x, S/ x0 i) B3 t+ P3 |% h
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw0 t: q8 }5 q% g) q2 Y1 ^  B( j
  12. Do Until sFileName = ""
    : R! h- x# @% N! v' ~
  13.   
    4 u" D" @! r' z0 {' P
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING
    6 e$ N: r' e' H) W% D
  15.     Set swModel = swApp.ActiveDoc' i$ m8 a; a  {2 v: `8 v) C
  16.     ) c7 a% r- c9 ~4 T
  17.     retva6 = swModel.DeleteCustomInfo("Number")
    1 z! L/ X8 p* I' P5 V, X
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))* E" }$ n: o# N. F
  19.     retva6 = swModel.DeleteCustomInfo("Name")* W2 u* M9 s- I
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))6 c2 a# B4 |. K& @8 N: `. i
  21.    
    - j7 t5 l& t( E7 B* X# H
  22.     swModel.Save9 \( m2 l( }& g7 m# P( k
  23.     swApp.CloseDoc (sFileName)
    9 L  a1 k4 c$ i3 Y' V. x
  24.     sFileName = Dir
    + n! Q  H" q6 h
  25. Loop
    7 t. U6 q) c& J; P" E* D/ X* |
  26. MsgBox "DONE!"
    4 p& O$ H8 V! O. I5 ~  x3 N- B# Q
  27. End Sub7 b: P6 f/ R/ V8 H( |2 e6 D' X# v/ j
复制代码

' D0 H  K' L$ ~% ?9 p( d6 g/ J
" N4 [- R2 [/ t+ k* s# e
# R: T  u. o+ H& B1 t
发表于 2016-4-29 18:36:36 | 显示全部楼层
gt.adan 发表于 2016-4-29 16:393 [  r  P3 B2 I# H- I/ r) s$ f1 w
要達到批量新增的話,如下代碼:

2 v, T8 I+ y! r6 v# _* ^丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层
杨成武 发表于 2016-4-29 18:36
) _, `& {# M& }- `0 b丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
  B5 `$ U6 m% U0 ]3 }
1. 工具--宏--新增$ l1 Q% O1 P1 N8 {0 K' S
2. 命名後確認,進入編輯視窗,不要關閉。1 c$ ]- V4 O0 A: {
3. 將#18的代碼複製下來(該樓層下方有一個複製的連結)
% A; J& `; U" J, n4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。5 v" F" z& }5 m/ `7 S+ c
5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。
) X2 C% V4 r% O" F. T6. 完成。- T5 k3 p4 e1 H4 l- O4 |2 \
发表于 2016-4-30 19:34:08 | 显示全部楼层
gt.adan 发表于 2016-4-29 23:54
6 @" l* c& J6 c' x4 m6 k1. 工具--宏--新增4 j4 v! Z- c! \) b& n3 [+ i
2. 命名後確認,進入編輯視窗,不要關閉。! W# U  p0 n7 z7 a* M2 ?+ ?% r
3. 將#18的代碼複製下來(該樓層下方有一 ...
$ L/ c* F) {2 ]
不好意思麻烦丹大看看问题出在哪里; W( W% h7 d( x0 e4 E/ G- Z! O6 l

打开来报警

打开来报警
  X' w8 j7 P" p6 c0 b% D8 K& e

; \- p0 e/ W  w/ ~) _

出现这个

出现这个
) p# M6 R- j4 |

2 G" L# o! L  D9 e
发表于 2016-5-2 08:01:35 | 显示全部楼层
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑 9 r' D+ i9 [# ~9 d% C# ^
杨成武 发表于 2016-4-30 19:34
: ^! f' t' E- E+ m. W" _# j/ D8 Y不好意思麻烦丹大看看问题出在哪里

- G9 ]* x% S) z1 ~, d/ f0 `; q1 B" B最上方加入下兩行代碼
% k4 P( k5 ?+ A. f  e$ z* k- Y9 a$ ?9 d  a  ?$ _
  1. Dim swApp        As SldWorks.SldWorks
    & n7 s) r) Q! k9 i
  2. Dim model      As SldWorks.ModelDoc
复制代码
% f3 f8 Z3 b. G( O
+ A* G0 p, j) J7 M  D: D  _

- i5 N9 y; W7 C% s' B( j% P' 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
" v# E( L) k/ `; Q2 x能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了
8 B( i% r) ~7 u0 C
现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层
安顺 发表于 2016-7-13 13:49
; N& A+ b' a7 @( F4 A, L/ ^现在要不要了,我有
/ B. l' A) _7 q- U: l
能用于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 | 显示全部楼层
把我的贡献出来吧。文件名编号规则“图号+空格+零件名称”,图号长度不限制。零件和装配体都适用。宏中的图号和零件名的属性链接根据自己情况修改。
, }- C, g- Q2 u! a! A( S* S

分离文件名.zip

6.03 KB, 下载次数: 22

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

本版积分规则

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

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

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