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! `0 L0 G: N* E$ k+ C" l" M! W
打开属性栏,设置属性,如图
& p# e/ g! F9 e6 G进入方程式界面,设置全局变量,如图

! G$ @! \+ l% j; g4 K( i  J5 ~: C. G老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层
杨成武 发表于 2016-4-27 20:482 h( X0 C! i/ ~+ S; T, r
老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...

" i4 a. ?. z. V, d0 k+ _装配图好像不管用。/ O/ |# H# J7 s2 u/ u
你的是什么版本的, d6 S1 W' U; @
发表于 2016-4-28 19:16:50 | 显示全部楼层
jinqin11 发表于 2016-4-27 21:387 C; m# M! q4 f: q3 i8 Z0 Z
装配图好像不管用。
- n/ K! X- X9 Z& _9 `* Z" |6 g1 j你的是什么版本的

" y! ]5 u5 r# ~) s  S; v$ r( h% \sw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层
杨成武 发表于 2016-4-28 19:16
; y$ q0 w# V! S6 {, m2 Tsw2015,你有qq吗?

! W. R9 r( ?! n( J# N( k; r#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。7 R) n/ o$ h. M3 B5 B; `
把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。- e4 M% X! ]# n4 v! J& @9 {0 F' s* x
每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层
gt.adan 发表于 2016-4-29 07:019 I! P9 F  F0 X" j+ |0 b- G
#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。- J" V$ E3 U4 w3 {: v& d
把你要的編碼方式寫出來,具體 ...
. k2 u7 d# X  t; K! T
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层
杨成武 发表于 2016-4-29 07:54! [; S! U4 a* }" x
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...
8 R' h; _# {7 i# {6 X5 D
看不明白…7 h. I6 o' C/ o  ~. a/ T2 i5 J  ~
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?$ R  q. ]2 I+ x0 S
能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层
gt.adan 发表于 2016-4-29 09:42) e: w8 N0 j: ^+ P5 }3 T: v" ]
看不明白…* k! k2 N4 w7 N
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?3 u) X& @6 z1 C5 Y. Y& W& E; G" r
能否明白舉個例子?一個完整的零 ...

* c3 }/ f* M- n丹大这个是一个示意图;* M& O: B' c1 T3 t1 @
做的不好希望能看的明白/ W: ~) \8 m- a# d% |2 |4 f
QQ截图20160429152357.jpg
' L) U- \$ F; @
3 Q2 A  T) r8 S* D" r) b
# i6 h3 G. c  \麻烦丹大看看谢谢。* a  E. p& n( |) y8 z2 Y
发表于 2016-4-29 15:38:32 | 显示全部楼层
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑
9 s. V0 `  ?, G, A7 }$ y
杨成武 发表于 2016-4-29 15:29) y# r( X, n! I& j6 [
丹大这个是一个示意图;; e! @3 E: l" V( o8 m4 b
做的不好希望能看的明白

3 o; R9 h( f3 r如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。8 T; W; w; a" @8 q& F8 {
那麼以下代碼就可以使用了。1 \+ E7 H0 `3 o# H: d

$ q$ r+ D5 C2 T1 u7 }- _
  1. Sub main()5 O+ Y' ?# U) d  B+ j/ I  S

  2. ( j! \8 X8 c: Y+ u& [, v# j) W* V
  3. Set swApp = Application.SldWorks) Y; S: v8 |8 F5 i7 C/ B- n
  4. Set model = swApp.ActiveDoc
    / K+ b# c9 \' Y4 W5 r
  5. & J8 b" \8 ?  V. S" E
  6. ModelName = model.GetTitle) ]% s9 c) i: j! }: D: |% R# |
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1)
    # c0 |! Q, b3 n; L+ f
  8. 4 ~' {9 o( t! W& Q. V, y/ q
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number")/ X1 o7 u( _2 `
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10))3 Y% o: I) T4 R$ ?
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")
    4 z2 n5 n- y& h/ a9 a, l: Z
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10))# w1 A7 J* P, s
  13. 7 A* q4 j. d$ ~) L' p& A4 l) X
  14. End Sub
    * D) e0 O5 q1 q  W0 N
复制代码
, w+ E  Y- B$ d+ G

+ x! L+ s( i$ t( Z% k0 m/ w
: a4 @, T4 `& i9 `4 L
发表于 2016-4-29 16:39:54 | 显示全部楼层
杨成武 发表于 2016-4-29 15:29
" z; s! D. A8 h: d丹大这个是一个示意图;( E3 e* z* ~, `0 ?  V: P. c* r
做的不好希望能看的明白

5 K$ B' O8 U1 I0 Z* c要達到批量新增的話,如下代碼:% s' ^9 {/ _( n2 Q# i
9 ?1 _, ^9 H. Q  z. A
  1. Dim swApp        As SldWorks.SldWorks/ Y) f) m6 y8 \& ?9 q( O# D7 K
  2. Dim swModel      As SldWorks.ModelDoc, o  J" D" B( R% ^$ O% a
  3. Dim sFileName    As String
    ) F2 v7 W9 I$ w: _9 W
  4. Dim path         As String
    " G' z# h+ u! ~+ X3 ~7 n7 t6 H
  5. Dim nErrors      As Long
    ; l0 [  Z) x6 l. e- c4 i
  6. Dim nWarnings    As Long
    4 T) b" X6 |6 i/ D: _
  7. Sub main()
    2 x% T: Q8 g6 u1 ~4 J$ f
  8.     Set swApp = Application.SldWorks
    0 ~7 L; _# k% Q! p/ f6 a9 t! K6 X. w
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑
      I& Y! b3 ?$ Y0 V" b$ g
  10.     If Right(path, 1) <> "" Then path = path & ""
      u# G( q( g. }8 Y, x8 `
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw
    7 h- l1 v) k& j+ ^( b5 r4 o# O
  12. Do Until sFileName = ""
    : l9 I/ l% V- q
  13.   2 \4 ], I! d! Y6 T6 B
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING
    , M7 y0 `" {8 E: p; f! e$ P
  15.     Set swModel = swApp.ActiveDoc
    ! q$ w+ w( {. Q% y
  16.    
    ; {: h; z1 H! J& {$ I4 [
  17.     retva6 = swModel.DeleteCustomInfo("Number")
    1 \, R' a' h* s  }( K3 k# ?* O
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))7 A$ l8 G( N, Y4 G; K! L
  19.     retva6 = swModel.DeleteCustomInfo("Name")
      j* G4 o$ c, D3 |3 y3 i1 D
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))  Y% y/ N8 m. s* P, {9 y
  21.     3 F# D2 Z/ D+ _. c& q' X4 a
  22.     swModel.Save( E+ N; Q' @# z) G8 t# {% X
  23.     swApp.CloseDoc (sFileName)
    $ t9 K7 b* F! T; f# ^4 r
  24.     sFileName = Dir8 e/ Z5 g) ?. k0 y; K+ I% s: X
  25. Loop7 u# U; J: l, R# F  a0 ^
  26. MsgBox "DONE!"
    5 Q) p: U/ c/ B$ R' b/ j
  27. End Sub
    ; c/ S, v, G3 v, c* O/ A
复制代码

0 O; f, c1 a# ]! F; x$ ?1 S" e1 [2 R( }- i3 a4 w9 k4 y$ T  M

# @: z. ]( F" h- J! S9 [
发表于 2016-4-29 18:36:36 | 显示全部楼层
gt.adan 发表于 2016-4-29 16:39
6 p1 z  Y* y* c$ h" q# Q要達到批量新增的話,如下代碼:

$ Y  {/ Q+ P/ K: h0 k1 D8 m丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层
杨成武 发表于 2016-4-29 18:366 C" M; t- U( o" y5 m6 E
丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
$ i# K  e3 \) B5 u8 s8 D$ i
1. 工具--宏--新增
4 r/ M( r+ M, m6 [6 e2. 命名後確認,進入編輯視窗,不要關閉。: o$ \& U- f5 ~* i! X2 ^
3. 將#18的代碼複製下來(該樓層下方有一個複製的連結)
+ _/ n- {( N% }1 d4 ]4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。
8 H( F( h+ J/ Q8 q) r& q9 k5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。
  r/ t2 H: b, y6 e2 _; x; B6. 完成。: }5 ^+ L- d1 A: v& Q8 q
发表于 2016-4-30 19:34:08 | 显示全部楼层
gt.adan 发表于 2016-4-29 23:54  n7 G! X8 U/ g
1. 工具--宏--新增
: F" N; U4 Q+ l) f; E& y! e. Y2. 命名後確認,進入編輯視窗,不要關閉。, }5 d' M. g( l
3. 將#18的代碼複製下來(該樓層下方有一 ...
$ j; n" q0 y2 C& Z. d
不好意思麻烦丹大看看问题出在哪里' ^3 K- y1 p1 U- T$ L. M

打开来报警

打开来报警
! @: n* u3 B. K% |) z) h6 a

3 o6 Z/ z" _; f7 o' a# S7 N

出现这个

出现这个

- L+ ]8 K$ N) D' f1 I* j  S7 `  G% @! ?; V  L& l$ b
发表于 2016-5-2 08:01:35 | 显示全部楼层
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑
) z: `* b3 M" F1 x" Y
杨成武 发表于 2016-4-30 19:34
- ^5 L9 `4 y0 K' E不好意思麻烦丹大看看问题出在哪里
% q7 f) o8 f8 n- F2 t0 b: V
最上方加入下兩行代碼( w9 A5 D2 a3 `- T

9 B7 f2 m- x# J# d( i# j: U5 C! Y5 h
  1. Dim swApp        As SldWorks.SldWorks
    # U, y9 R, q! t7 r4 I" ]: {( q. S
  2. Dim model      As SldWorks.ModelDoc
复制代码

- H% v$ A$ b; r' k6 C' I6 M; N. S
8 s" v" H" D. ]* j3 p9 K& D
) G, n8 @' ]6 Y$ j7 a
发表于 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+ i- k6 z, X( U. w8 @3 J! G0 K
能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了

, ~1 F8 @( j1 m) k( s' w# ~现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层
安顺 发表于 2016-7-13 13:49
- |. ~: Z9 a. m, g. W现在要不要了,我有
4 _( u, z" `9 x* j  O4 M
能用于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 | 显示全部楼层
把我的贡献出来吧。文件名编号规则“图号+空格+零件名称”,图号长度不限制。零件和装配体都适用。宏中的图号和零件名的属性链接根据自己情况修改。# e7 s0 G: l7 p% _9 S

分离文件名.zip

6.03 KB, 下载次数: 22

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

本版积分规则

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

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

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