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
$ o1 l: Q5 q7 U8 k# B1 n打开属性栏,设置属性,如图* f/ G1 ^- H. L! O* E3 |0 m4 Q; F8 |
进入方程式界面,设置全局变量,如图

+ w; _9 z. ^9 k! n+ t+ l5 A老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层
杨成武 发表于 2016-4-27 20:482 M" v: Y( b  l$ I5 q% x: ?
老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...
6 S* W5 i& y4 P+ j; {( {3 h4 X
装配图好像不管用。
$ `) o$ w. d0 Z1 N你的是什么版本的
5 {5 C# H9 u5 b+ j5 v# N7 L4 M
发表于 2016-4-28 19:16:50 | 显示全部楼层
jinqin11 发表于 2016-4-27 21:38
7 \# s% c0 }% @: O装配图好像不管用。: W) u/ Q  k% A# s! O2 L
你的是什么版本的

0 s' E9 A# y: f) Q- Isw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层
杨成武 发表于 2016-4-28 19:16) n* j$ e& f2 e7 W0 f3 N
sw2015,你有qq吗?
4 \+ o* O1 P" J. _
#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。
$ I/ u- C8 o# o把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。
. O# ~- c0 \% |每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层
gt.adan 发表于 2016-4-29 07:019 s6 e( y( K1 A9 Y7 u3 w
#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。
- k) y' o% m; j0 v( P2 _; L6 M把你要的編碼方式寫出來,具體 ...

3 [- y6 ^+ j. }谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层
杨成武 发表于 2016-4-29 07:54
  ~2 k6 F) Q. A  P! l. C! t谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...
' L9 a; o/ }; z; C8 D
看不明白…4 o; I1 H; w; ]9 n
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?" g7 x9 l" V7 n6 C0 ^- w
能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层
gt.adan 发表于 2016-4-29 09:42) ?1 [* k. z) b
看不明白…* Z5 Q$ p: v( G5 {' `3 u% i  |
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?
9 w3 s( m  r6 k  W+ X能否明白舉個例子?一個完整的零 ...

$ d4 _( r4 @6 e% d丹大这个是一个示意图;1 S2 z4 a1 K6 J1 S! r; B) h0 {
做的不好希望能看的明白
3 g! \: U2 F' o QQ截图20160429152357.jpg
! t3 Q+ R" D3 {8 I0 M. h( n; l& Y% i* ?

( e) ]" l0 O, t3 c1 a) {- g# s9 F麻烦丹大看看谢谢。& U4 e8 e9 ^1 M
发表于 2016-4-29 15:38:32 | 显示全部楼层
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑
3 H- [( _% }& z0 j
杨成武 发表于 2016-4-29 15:291 }0 J6 k/ ^! X
丹大这个是一个示意图;
- @) _5 I% S) @做的不好希望能看的明白

8 B' r. A# s) b/ i9 {如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。
/ R3 s) x5 B" l3 }# M6 x5 S那麼以下代碼就可以使用了。3 v  N" n" e! i/ R
& \$ i1 ]+ p) p' `1 h/ G
  1. Sub main()4 r. t; ?9 ~' x  H, _: V8 z
  2. - j! T! c# S; Y8 R: m
  3. Set swApp = Application.SldWorks
    8 I  }" @' J- P0 e
  4. Set model = swApp.ActiveDoc
    ' T6 p3 k& N; c4 p. U' _' N
  5. 9 p& ^: |/ m( H. }+ }
  6. ModelName = model.GetTitle6 Q0 Y8 O7 T; g! q
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1)# g1 m& c" v/ S+ k7 T
  8. 9 J( Q1 z, Z. g, @
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number")8 F2 j; }5 Q, e' ~
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10))
    ; W* V0 a6 J( z( i9 j6 `# c
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")3 n% Q( _* `# |4 l( z
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10))
    $ r2 ^$ W- ]8 V- c! k

  13. 0 W, ?7 x5 ^) |0 R, p4 Q8 ]1 W) h
  14. End Sub! h- l7 r1 C7 S# U
复制代码

" o- W6 e* g6 `/ X3 @: X
' G# w" S, y: x  \, ~$ L) f5 v1 k5 S( n
发表于 2016-4-29 16:39:54 | 显示全部楼层
杨成武 发表于 2016-4-29 15:29! `/ N. j2 R2 x7 _+ j$ q1 T
丹大这个是一个示意图;+ c# G, U* {8 F
做的不好希望能看的明白

5 l  G; W9 z, f$ ^  L要達到批量新增的話,如下代碼:
9 n! J% F1 K9 T# G$ M' X! H! H1 A0 Z  S2 o2 k! S2 p; }2 i! D
  1. Dim swApp        As SldWorks.SldWorks: S+ ?4 ]" N4 ~( l+ l
  2. Dim swModel      As SldWorks.ModelDoc% K& t0 k- x6 k/ W5 q5 d5 \
  3. Dim sFileName    As String
    3 G  ^: ]( s9 A' F
  4. Dim path         As String
    - i! l7 F2 |+ Y6 A+ X! U9 x( K& B
  5. Dim nErrors      As Long- o' y) {1 F3 y) E7 j
  6. Dim nWarnings    As Long
    5 r) t3 @; A. c" W1 r+ X9 `
  7. Sub main()
    ; g: L; j4 x; m& N2 W, N0 p- J, F
  8.     Set swApp = Application.SldWorks3 e3 l+ w1 S/ E) D
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑
    . V% }5 E; A  l8 A, v% y2 r
  10.     If Right(path, 1) <> "" Then path = path & ""
    " [: C+ Q) f: ]- O2 d
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw* f; w/ O; i6 K$ C! N9 y
  12. Do Until sFileName = ""
    4 x+ P# z$ h( W. e
  13.   * D! g4 j# H. W; w9 T
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING7 v) B! ]0 X9 R+ ?( P
  15.     Set swModel = swApp.ActiveDoc
    1 R- N: B6 O# i' {7 C/ g0 E& d
  16.    
    3 c$ U8 ^- [! d0 u8 Q6 ^+ g2 l: p
  17.     retva6 = swModel.DeleteCustomInfo("Number")
    1 Z& F8 i. P$ B. t
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))
    , ^( W6 R. Q* O1 E
  19.     retva6 = swModel.DeleteCustomInfo("Name")
    7 y2 x% Q1 y# W
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))/ U4 R' T! s8 U$ m9 M# g$ y4 d
  21.     7 q7 ]' E( O" v1 @( z) H0 b
  22.     swModel.Save) ?( G$ c- x# \" x: G
  23.     swApp.CloseDoc (sFileName)/ D, z2 C# w! G$ Y0 M; s
  24.     sFileName = Dir8 z9 q! b) E# P1 I1 v7 i& ^- V
  25. Loop
    , g6 f; |) e6 e+ Y% m
  26. MsgBox "DONE!"( G# e$ y  X9 f1 l  z  o
  27. End Sub7 z  {# i0 v" Q9 r3 A3 G1 f
复制代码

% Y  u5 ^6 N! X# P6 l: S; h
) e& \, `" t- |, v: |4 K3 j5 C% W+ z2 @/ o0 L2 k3 p9 m
发表于 2016-4-29 18:36:36 | 显示全部楼层
gt.adan 发表于 2016-4-29 16:39
- y2 A2 m$ S# V! E# I( H要達到批量新增的話,如下代碼:
, m6 b! o0 c2 \, R, w' J
丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层
杨成武 发表于 2016-4-29 18:36
/ _7 t2 N9 A' D9 l4 G2 @7 S8 A丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。

! B2 `/ _9 [! ^* c5 ^1. 工具--宏--新增: T3 T- o/ J$ v- y; s, f- N$ Y3 w( x
2. 命名後確認,進入編輯視窗,不要關閉。1 C& _6 H8 k) _/ R' H7 }: H
3. 將#18的代碼複製下來(該樓層下方有一個複製的連結)
1 M( K( p$ h3 V' l) P% ?2 h9 D4 D4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。
$ s! b' m: ?# L1 J5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。
& z9 v; @5 _  i9 o9 `" S& g6. 完成。
+ H5 x3 T) v2 F4 @, x9 p- X, ?, ?
发表于 2016-4-30 19:34:08 | 显示全部楼层
gt.adan 发表于 2016-4-29 23:54
8 P$ O6 v: y) Y( d3 R3 {1. 工具--宏--新增
& V% N" K4 G. F5 \+ A2. 命名後確認,進入編輯視窗,不要關閉。, }8 V, A* I9 u" T2 y
3. 將#18的代碼複製下來(該樓層下方有一 ...
6 A( X! Z2 m% O
不好意思麻烦丹大看看问题出在哪里% T" Q% y! }3 F5 `

打开来报警

打开来报警
: _) f$ `: i  d" C' E/ t2 h

+ Q! N4 j, L/ {1 A1 M- ?) f: u

出现这个

出现这个
" }* D% Q! _) A, h
  [# g2 X  `5 Y
发表于 2016-5-2 08:01:35 | 显示全部楼层
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑
* G/ q' ?3 V; |4 n# ?
杨成武 发表于 2016-4-30 19:34& L8 A3 w' _% a" w3 s3 S
不好意思麻烦丹大看看问题出在哪里
  m3 [/ Y9 x3 N9 L+ k
最上方加入下兩行代碼( l2 n' Z# D5 E/ J% N

4 n/ U7 w" |) [" E7 u( _4 K$ Y4 ?
  1. Dim swApp        As SldWorks.SldWorks
    4 c. b1 B, p" S. b
  2. Dim model      As SldWorks.ModelDoc
复制代码
$ P: |$ T( T7 |+ H
/ l) C& d$ ?, L. g
, S$ k# j6 a/ g" P7 ^- F- L
发表于 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
& B' R; n7 g0 K( x* F  j能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了

, T1 v/ T) r6 U现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层
安顺 发表于 2016-7-13 13:49) a0 Z( K6 E- W) X
现在要不要了,我有
! B" }# ?, H1 i& n
能用于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 | 显示全部楼层
把我的贡献出来吧。文件名编号规则“图号+空格+零件名称”,图号长度不限制。零件和装配体都适用。宏中的图号和零件名的属性链接根据自己情况修改。
' ]6 ?0 W9 ?2 h) i. i" H, \

分离文件名.zip

6.03 KB, 下载次数: 22

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

本版积分规则

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

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

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