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# W/ ~9 E1 F+ c+ \3 V6 o
打开属性栏,设置属性,如图
! E  k. ~8 d2 O2 m' }7 H$ j进入方程式界面,设置全局变量,如图

" f/ S! Q: N+ n6 _0 s" R2 N: n老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层
杨成武 发表于 2016-4-27 20:48; G5 p8 }1 p8 Q7 I/ K
老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...

0 n4 N! ^. d- j! @装配图好像不管用。" |6 t" @# W% G: M  a" ?) p8 T$ S
你的是什么版本的- ^' x- u5 E4 m% U' i
发表于 2016-4-28 19:16:50 | 显示全部楼层
jinqin11 发表于 2016-4-27 21:38
6 [& x7 a$ d; \) O/ c5 _# l装配图好像不管用。
- l8 L' ]" A( C% J8 Y( f你的是什么版本的

+ ~" F7 u. o6 h8 isw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层
杨成武 发表于 2016-4-28 19:16
/ j% c5 w: |" a1 Z1 lsw2015,你有qq吗?

7 {! ]6 v& y% e8 F0 O1 v* l8 a! q7 R#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。: D% ?5 z( u" w! I; v$ K
把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。
( g5 @& d) ~: C0 w5 Y7 ?$ c4 K每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层
gt.adan 发表于 2016-4-29 07:01
1 z: c& o' I6 `, ]# F#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。9 U, T; d0 j1 X$ S( t" K
把你要的編碼方式寫出來,具體 ...
! G, p$ y+ n; H1 G
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层
杨成武 发表于 2016-4-29 07:54
; b9 y1 V5 v8 ?5 y' g3 R: Y谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...

2 t( x# _" f# P0 A3 V6 B" O看不明白…# H- i# q' U4 `+ ^6 f- H) j
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?; w& H, B: |8 ?$ s. h: E! n1 \& J. J
能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层
gt.adan 发表于 2016-4-29 09:42
" m  m0 y% f' ^4 N  N+ D  h看不明白…# z, m  H4 D# ?8 p/ ~& Y
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?+ M& m( L; {& K5 d
能否明白舉個例子?一個完整的零 ...

' X- Y2 r) c7 k' |) A丹大这个是一个示意图;
* |  i6 t, }$ |5 j! `) Y0 o做的不好希望能看的明白
/ ?; \' d1 q# j" C9 H1 z0 W# P QQ截图20160429152357.jpg
( E$ _1 f8 e3 {6 W7 V9 z- W! h. x, |5 D5 x- S, r

4 p9 n3 q3 I4 B5 c! Q麻烦丹大看看谢谢。' i/ E- ?0 c3 n- p
发表于 2016-4-29 15:38:32 | 显示全部楼层
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑
' F# k) s/ a3 p' {
杨成武 发表于 2016-4-29 15:29
9 G: @+ O6 V8 M& k9 g1 U& `+ Y+ B8 t丹大这个是一个示意图;% B5 F+ Z/ s, u
做的不好希望能看的明白
. A3 Y* E. {6 G$ H) s
如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。; k* u' `9 A4 X) g( q
那麼以下代碼就可以使用了。
: y  N) y" d$ s7 k' P8 S; N8 P6 R  U9 a# e( O3 z! |
  1. Sub main()
    % i! i" Y0 C/ @' B" z: O
  2. 2 L  l8 ~, L2 {7 ?+ \
  3. Set swApp = Application.SldWorks& g& i5 D7 _1 c( `" n6 ^4 U
  4. Set model = swApp.ActiveDoc
    : f4 [$ M3 t2 C( I0 h2 I! r
  5. 0 U6 `1 g+ h5 D2 g* G
  6. ModelName = model.GetTitle
    9 b; N+ I- ?/ x/ q( m9 }7 u
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1)4 @1 Z" H, n$ ^$ z* f1 R" t4 q

  8. 3 \: ]4 }5 u- R4 d
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number")6 o$ h2 w, S4 ~; b" K
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10))
    $ W3 W3 k$ l6 N% `
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")- U; f( g! Q2 \5 ^3 o  b
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10))
    1 ], v& f- t1 _2 |2 L$ p) @8 u

  13. $ w" |" y( T/ _/ K
  14. End Sub7 Y6 U2 @) e2 G& |1 i
复制代码
* ^& ~! b) O  u7 N
8 P  M8 A* P! h- f

1 z( ?1 v, t# A; u
发表于 2016-4-29 16:39:54 | 显示全部楼层
杨成武 发表于 2016-4-29 15:29+ E( w' p5 N* Y5 a- j* j; |
丹大这个是一个示意图;2 `: H0 S5 w0 b  d$ h  Z: Q
做的不好希望能看的明白
9 T& {% N9 v, K4 w( K4 u2 B
要達到批量新增的話,如下代碼:+ M+ t; Z5 f4 l0 A8 `2 D
7 v0 m, b. A- P. E
  1. Dim swApp        As SldWorks.SldWorks
    6 w& X( u4 t6 V  k- }, r( o
  2. Dim swModel      As SldWorks.ModelDoc
    2 E  o$ X! n8 \2 C3 r# R
  3. Dim sFileName    As String( n, ]% F/ E1 D5 p5 S
  4. Dim path         As String6 P  n* `- [6 j: k1 x( `: h/ F" @
  5. Dim nErrors      As Long
    . r  X) G. p* X5 ]
  6. Dim nWarnings    As Long
    ( }. d. |% i- n, A- k0 A2 c8 t
  7. Sub main()
    5 o. N/ U( h6 d( b( p3 e  ~
  8.     Set swApp = Application.SldWorks% B2 L3 {% }, ~
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑- n! l- x1 t7 m# S/ P# Z' U
  10.     If Right(path, 1) <> "" Then path = path & ""
    8 o' V7 b( k" P4 u2 {
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw, B* c& ^/ ~- M& U, H
  12. Do Until sFileName = ""! Z4 l: F( ^& L
  13.   
    4 y5 ~# k! ~% H/ V0 i: ~2 L/ ~9 V/ A
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING: G" G) A. x) [3 E
  15.     Set swModel = swApp.ActiveDoc
    ( @& a- y1 b" U- D2 x- e* D
  16.     ) W& _) m5 f  J
  17.     retva6 = swModel.DeleteCustomInfo("Number")
    % P% J+ _( g6 j" a
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))/ ~' P8 h3 [+ x3 N% Y0 t
  19.     retva6 = swModel.DeleteCustomInfo("Name")& q2 x1 z7 y8 g
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10)); s: Z& G0 R8 [+ E: _
  21.     & X9 V) f# S# f" [& g) F
  22.     swModel.Save
    % Q. O# L0 z1 u5 m
  23.     swApp.CloseDoc (sFileName)
    $ ~$ r9 A2 w* V( k" d7 P
  24.     sFileName = Dir* [1 D5 F( ~6 V* @1 U
  25. Loop" Y+ X$ ~6 u, x: |8 K$ {
  26. MsgBox "DONE!"3 t+ [5 }0 d5 s" m3 H( o  J4 e$ j
  27. End Sub
    * {# b% }8 {* C6 B6 a. k/ G0 ?
复制代码

. P& E4 f0 b8 r0 J2 m" [, S  y- e7 q& Y  g

: b4 G5 N; U( e# P& ]
发表于 2016-4-29 18:36:36 | 显示全部楼层
gt.adan 发表于 2016-4-29 16:396 p$ s: {4 H' q; h
要達到批量新增的話,如下代碼:
; R: r: o  V  m* I3 Z' M$ o
丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层
杨成武 发表于 2016-4-29 18:36. e0 q+ s1 B" i/ @- L; p
丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。

$ S) t3 L6 ?8 b$ ?7 G1. 工具--宏--新增( m2 {. f6 ~. _% i/ @( A
2. 命名後確認,進入編輯視窗,不要關閉。
7 K& L( |/ k' h) X+ v3. 將#18的代碼複製下來(該樓層下方有一個複製的連結)# Q' {0 I' {5 c# G7 z# m; D
4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。6 y! A0 K  |9 h! B; Y( J* S
5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。
1 V: q1 B% v2 m6. 完成。
6 D4 x! O0 h) r/ ~; b4 P
发表于 2016-4-30 19:34:08 | 显示全部楼层
gt.adan 发表于 2016-4-29 23:54
( a4 [) J0 P- z+ u8 ~1. 工具--宏--新增
& [# S; x6 a% u* b2. 命名後確認,進入編輯視窗,不要關閉。
, H+ i0 e! `6 U6 R% c2 ]+ x3. 將#18的代碼複製下來(該樓層下方有一 ...
* `, R9 v* H+ I7 V
不好意思麻烦丹大看看问题出在哪里& k! S9 l! Q" g; u' r

打开来报警

打开来报警

2 H* I4 P- ~: q0 W
* a4 F# F! W& O0 R, x& ^# L( \

出现这个

出现这个

  Z, n$ j( U: h0 @; j" I( |. t2 c
发表于 2016-5-2 08:01:35 | 显示全部楼层
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑
+ s" Q5 ]3 V' `# K' O  r
杨成武 发表于 2016-4-30 19:343 n4 }: W$ a( }4 X! F
不好意思麻烦丹大看看问题出在哪里
6 U* P+ J: i5 C- q8 L
最上方加入下兩行代碼
3 I& M. g! ]+ n+ L3 P( P' r+ Z  s4 T% d% B( T: [' |# P/ ]) j9 j
  1. Dim swApp        As SldWorks.SldWorks" M% U1 Q, B3 w; ]
  2. Dim model      As SldWorks.ModelDoc
复制代码

4 a4 ^( q: i' C; f* q" x$ E- q) x: [0 T& M
- I' H9 x; [3 `; K
发表于 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, j# k- y4 ^/ o7 `/ I) X
能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了

3 d! _; K3 c2 {7 _8 c现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层
安顺 发表于 2016-7-13 13:49
' s  ]4 @2 W0 X2 @( `' l3 B现在要不要了,我有

% Q% {& R  x$ y, s/ ~9 m4 u能用于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 | 显示全部楼层
把我的贡献出来吧。文件名编号规则“图号+空格+零件名称”,图号长度不限制。零件和装配体都适用。宏中的图号和零件名的属性链接根据自己情况修改。
' y5 e( I+ M: N7 q! L7 t

分离文件名.zip

6.03 KB, 下载次数: 22

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

本版积分规则

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

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

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