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
7 B" H6 T5 ]. o打开属性栏,设置属性,如图
* ?- S6 U0 q, C, N进入方程式界面,设置全局变量,如图
: Z6 y1 b4 _. x' e& X- y! ~
老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层
杨成武 发表于 2016-4-27 20:482 w" @; Z. J+ l9 T, u
老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...

, K: s3 ~4 s$ L0 Z% s  {装配图好像不管用。
% X0 J2 o) z- Z, d你的是什么版本的. B3 m' P% }- S! p/ D
发表于 2016-4-28 19:16:50 | 显示全部楼层
jinqin11 发表于 2016-4-27 21:38
' p4 f9 k0 L0 R2 U! k4 x装配图好像不管用。
/ z, s) c' ~* Q! U6 U8 Q你的是什么版本的

  k8 O+ z( ?4 ~! hsw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层
杨成武 发表于 2016-4-28 19:16! D. ?8 p, j1 \
sw2015,你有qq吗?

4 O" j7 f- _7 J: k# X#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。  W5 Y' C6 _/ w9 S# J  N
把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。9 X8 v$ ^8 |( ]8 `) a3 W0 k
每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层
gt.adan 发表于 2016-4-29 07:01
- h/ b9 W5 t% R3 X! ?" S#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。, E* {0 y# i  B
把你要的編碼方式寫出來,具體 ...
2 W# d* ~$ n4 l1 s& M5 a2 {! O
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层
杨成武 发表于 2016-4-29 07:54
! q% |$ _0 H) O/ G谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...

2 ?: }( s+ ?. I7 N* k看不明白…4 J, f8 u) F8 i3 Z2 Z
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?, T7 c4 j# I* l" F
能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层
gt.adan 发表于 2016-4-29 09:42
8 ~% ?6 D5 v+ d# I看不明白…
. R5 F6 {  U: x1 Y, P這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?% F, X7 i: j+ z" U' W) m5 y( w
能否明白舉個例子?一個完整的零 ...
1 W* j7 }+ M% Y: ~1 ~0 N
丹大这个是一个示意图;  @7 U& L. B* K6 o
做的不好希望能看的明白/ G$ ^4 \7 B3 S# ^5 x
QQ截图20160429152357.jpg 9 w$ X4 N8 T  m
: C6 e2 `" q! x2 I8 M
% u0 M5 w3 F" h% w/ c
麻烦丹大看看谢谢。
/ r2 K# k: P: L% i
发表于 2016-4-29 15:38:32 | 显示全部楼层
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑
$ ~  k' |4 S) J, _
杨成武 发表于 2016-4-29 15:29
" G1 N9 p' H3 C# H, V7 H0 [. H丹大这个是一个示意图;) _! o9 D' q1 N9 T$ ]3 v* M
做的不好希望能看的明白

% {2 c! {- i" O( x4 C! S如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。5 O" r& m, ~! w; H  ]
那麼以下代碼就可以使用了。3 j% V- Y2 I/ U  w, g9 a

& M2 m2 y5 m' t2 p6 K6 M. ^- K  ~
  1. Sub main()
      Q: E) `: w9 M# Q; T: }

  2. # s" {" W* Y8 h* b. z9 W
  3. Set swApp = Application.SldWorks
    8 h% m4 [& a& w% \! ~8 m( n
  4. Set model = swApp.ActiveDoc' v. p0 s2 F. S8 H# t
  5. - ~7 m: _# \$ p% a% H  ~  x0 o! u
  6. ModelName = model.GetTitle$ c# Y8 }; ?( Y" j; a
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1)
    % X+ G) g# Z! F
  8. ) k! o3 K: w5 F6 v  @+ c
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number")/ C# J, D1 {+ z4 ^3 d# g( Q/ S
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10))
    $ C* f* b$ I# \6 F0 ?
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")# C! \) c; s& g8 e
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10))3 k. T5 V; T& D6 C- ]
  13. ( A# o1 A& c! F5 E2 {8 B, h
  14. End Sub( G( p# Z6 e! n+ o& L
复制代码

2 ], ]$ c8 V% T4 ?( P5 d8 n! L1 k# J7 b9 u: D& T
; U9 E0 h/ S0 `' t& E
发表于 2016-4-29 16:39:54 | 显示全部楼层
杨成武 发表于 2016-4-29 15:297 g+ D9 c* M6 w- _, c- y5 W
丹大这个是一个示意图;" T* U& j% ]3 g) m1 ^; i
做的不好希望能看的明白
# |( \$ R2 _! a# M2 o( U# q! D
要達到批量新增的話,如下代碼:) W2 L) k& k8 ~. B. C2 u7 n
& l2 w+ k- ~9 L, ~% W1 ~
  1. Dim swApp        As SldWorks.SldWorks  T1 x5 O8 _" K& ~
  2. Dim swModel      As SldWorks.ModelDoc% e- S7 Q: O: y$ P0 d# m
  3. Dim sFileName    As String
    + _) a7 A) Z' R# ^7 ^
  4. Dim path         As String
    1 j6 N. v  k# _  f# j3 t
  5. Dim nErrors      As Long
    2 o: v& S7 |+ Q% k. s' c
  6. Dim nWarnings    As Long
    / _/ R. ?: }3 C2 p; P
  7. Sub main()3 k, R/ q% r7 |8 i4 f; T9 B# ?
  8.     Set swApp = Application.SldWorks' h9 V' P6 g8 W: G3 v; ]. V
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑
    $ K6 T. O1 v# g; N) s& p/ E# W
  10.     If Right(path, 1) <> "" Then path = path & ""
    9 Y0 O  q: N* z# I
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw
    * J, H* B2 @3 ?2 ?) u  A. x
  12. Do Until sFileName = ""1 ]) x  J  g  H- i
  13.   " ?# ~2 m* T( R& Z
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING& o: R* v* v3 ^* _+ g. l7 j, }; F7 u* q
  15.     Set swModel = swApp.ActiveDoc( Q% k5 s% |& `0 I* H  K
  16.     # o" @8 H# `) h8 ]2 }
  17.     retva6 = swModel.DeleteCustomInfo("Number")5 p0 Z" S: ^- c7 j7 W2 M2 }
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))
    ( }; A2 E0 a- J
  19.     retva6 = swModel.DeleteCustomInfo("Name")
    9 U" w: K" V6 F. ?
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))
    ( n9 ~* [: g: x7 j7 D0 ]
  21.    
    % y2 m% d. c5 e8 Q  D
  22.     swModel.Save
    + C' @% W# D6 [  L% o4 H
  23.     swApp.CloseDoc (sFileName)4 F" _' @* l! T$ {* L2 r; `
  24.     sFileName = Dir
    2 J, D# n+ ?* j8 e/ [: G( ~% O
  25. Loop
    - z! D3 A# K6 p
  26. MsgBox "DONE!"
    & t& y' p) O: q' {# I2 ?. ~
  27. End Sub; G. J, ^& ]$ y9 m2 F& O- F
复制代码

; ^. y) G8 u2 c/ [1 z
( L% T; c* }5 `9 {7 z1 `, q7 m! D* Z8 D2 |) H* J; _2 y4 o% o% k0 C
发表于 2016-4-29 18:36:36 | 显示全部楼层
gt.adan 发表于 2016-4-29 16:39
: V/ Y: x. C( m: s, G: r) O要達到批量新增的話,如下代碼:
) I8 ?5 x2 B2 f; m, K3 t
丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层
杨成武 发表于 2016-4-29 18:36
- [9 i/ C' i  X( o; a1 M丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。

. Z% g+ w- O2 M+ l$ y1. 工具--宏--新增' P4 a- e% `% R& m% m7 d
2. 命名後確認,進入編輯視窗,不要關閉。
. n8 ]$ ~' \2 C3. 將#18的代碼複製下來(該樓層下方有一個複製的連結)
2 S: V; Q" n3 {4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。( W4 o4 `+ W/ m/ p* [9 P
5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。' I$ g! Y$ O; q" j! l8 `7 K: a
6. 完成。4 D9 f/ h' L% Q& Y
发表于 2016-4-30 19:34:08 | 显示全部楼层
gt.adan 发表于 2016-4-29 23:54
  l- w! y8 i. r, A% _/ W1. 工具--宏--新增' ~/ z# u' [' D$ x% ]
2. 命名後確認,進入編輯視窗,不要關閉。
( G: @" f3 q0 o  p- }3. 將#18的代碼複製下來(該樓層下方有一 ...

' z5 W4 w% o4 ?$ c不好意思麻烦丹大看看问题出在哪里
7 B9 w! g. ^  \3 g+ _; g+ Y

打开来报警

打开来报警
( d$ s- w, {: L

! R* X1 c6 c* y

出现这个

出现这个

) Q: ^; P- b/ ]3 ]8 n1 \6 A# r0 ~
发表于 2016-5-2 08:01:35 | 显示全部楼层
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑   u$ k& ?& k0 W' @! I
杨成武 发表于 2016-4-30 19:349 x+ |' ^% Q' J6 k
不好意思麻烦丹大看看问题出在哪里

) C  J* }" R/ \; [0 _9 b% w6 D最上方加入下兩行代碼
+ P! x1 C# X  D$ ?9 M& {5 O0 s6 ]0 [) S( X1 r5 n
  1. Dim swApp        As SldWorks.SldWorks5 I6 P- `+ ?' F: X$ H, ?
  2. Dim model      As SldWorks.ModelDoc
复制代码

5 h/ t6 e" ~* U+ a/ ], S
& w: K  p6 D! v: M7 d4 h0 ^9 o0 J, W$ z/ X& S. U
发表于 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) D6 Z+ X& `* j* ^) j
能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了
3 ?. Y% K3 ]5 b+ h4 T* L) D# X
现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层
安顺 发表于 2016-7-13 13:49$ z8 w! [2 `; N* U( D/ w) k
现在要不要了,我有
: V* a: ]8 F0 b' S
能用于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 | 显示全部楼层
把我的贡献出来吧。文件名编号规则“图号+空格+零件名称”,图号长度不限制。零件和装配体都适用。宏中的图号和零件名的属性链接根据自己情况修改。
5 r" }" B/ P! U" z3 r0 w7 {

分离文件名.zip

6.03 KB, 下载次数: 22

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

本版积分规则

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

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

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