QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

楼主: hheyafu
收起左侧

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

[复制链接]
发表于 2016-4-27 20:48:25 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-2-18 18:45, w1 U% J. y  `. q
打开属性栏,设置属性,如图
& F6 p; X8 D5 f6 t, _8 y进入方程式界面,设置全局变量,如图

. I6 a" k9 o) D4 i$ z5 H老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层 来自: 中国安徽蚌埠
杨成武 发表于 2016-4-27 20:48
8 V  I# [7 f, Q' x4 ?/ R老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...

6 n& L" u) V2 K0 i' M装配图好像不管用。- @9 I& B; k8 C: p; f7 y
你的是什么版本的
; x1 N; u3 H! v) ^
发表于 2016-4-28 19:16:50 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-4-27 21:38
9 i; D( c. _( D, Y" z" z4 {装配图好像不管用。
+ S* ~7 o: X  Y0 o' L1 F8 `你的是什么版本的
2 S8 [5 |& q2 U  @$ w
sw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-28 19:163 g7 C% D, S+ z
sw2015,你有qq吗?
9 P: }' w) V5 a/ V) }7 x( Q
#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。% G  Y. A, Q4 z  Z& J+ y
把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。1 P2 |0 b! {( {' ]/ [/ j
每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 07:012 {1 c+ o. R) y$ k7 F. n
#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。
3 W, U' s7 d. h9 G* n把你要的編碼方式寫出來,具體 ...

1 s; J+ V" U- ?1 a' J( A0 h2 d+ T谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 07:54
1 s$ j' e7 e7 w+ z% l1 }9 C; a谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...

- e: @0 V' U/ }( \( j看不明白…
4 x- f% I- [& s0 p% k這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?
! |5 [7 o! J9 J能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 09:425 @7 q+ G/ @  T2 M
看不明白…* U- B) ^! [0 n" [4 S* @7 [& b  h
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?: t0 j3 b2 G/ v; F1 |4 Z# A; v9 d! K
能否明白舉個例子?一個完整的零 ...
. w( ]8 w7 s- k7 m$ F
丹大这个是一个示意图;
% A6 q' S5 q. o1 {做的不好希望能看的明白: ?$ M  R  W0 R9 ?% ^
QQ截图20160429152357.jpg
6 s; j3 t7 v% x! y* Y& t
2 ]' ?( ^& R: D! Q4 b2 R1 x: z3 S, t3 T8 q# \/ t
麻烦丹大看看谢谢。
, g$ _/ s( J7 c8 ]# B5 R
发表于 2016-4-29 15:38:32 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑 / a  q/ \' N, ?' |$ }* ?
杨成武 发表于 2016-4-29 15:298 {) h" [( I! T# J* U& Q
丹大这个是一个示意图;" a: B9 V! W; J; L; y+ \/ a5 V  E
做的不好希望能看的明白
( E6 g  ^( j  w' V* ^! A$ U
如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。# }2 F! Y. M$ A
那麼以下代碼就可以使用了。
$ {, a( |. H& T) [: t, X! n6 q4 B5 k3 o/ n/ f! Q! A
  1. Sub main()
    5 \7 B2 m- m0 x8 T* `! w* J
  2. * Q: Y9 _4 t, T  X# a: a( w' Z% R$ n3 K
  3. Set swApp = Application.SldWorks6 g/ q. ~& Q6 c, e
  4. Set model = swApp.ActiveDoc0 b2 J# l9 k6 f2 Z5 D% e. d. {
  5. * p+ H* w6 S3 Z
  6. ModelName = model.GetTitle7 Z! K. h: a" ?' s7 g! U/ y9 ]
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1)  }$ C& s9 s+ I8 w# y: P: e8 M; E: y

  8. 3 i+ U" a+ E9 [8 _$ U  O
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number")) I4 ?1 j+ a: [7 B( x
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10))
    5 l, J; ^$ p2 e8 {0 G2 c) V. [
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")$ l. {6 a" `' a5 G! ]
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10)), O/ ^" l. Q7 \) q0 y$ @9 o

  13. , t* m1 A1 j" o; H% }& I9 i, |
  14. End Sub
    1 t& o" O2 Z) v0 a
复制代码
. t0 h& r1 B; ~# R+ Y0 ^9 d
4 T, b+ d. o. N- M5 G) L; H

0 b  c- N5 f) ]! C9 W3 K2 ~: s. _/ [9 b
发表于 2016-4-29 16:39:54 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 15:29
. e! |  m8 n. D  j- N$ s+ G丹大这个是一个示意图;8 [6 l, y0 y" r9 T* p) n
做的不好希望能看的明白

/ w, i$ Z" B3 ?( z要達到批量新增的話,如下代碼:, \) x1 L5 j5 ^; |* y* f- P
% L( O3 j) z: M, h$ t* z5 e. J
  1. Dim swApp        As SldWorks.SldWorks4 F  ?, E; H- \9 n+ v* X* n
  2. Dim swModel      As SldWorks.ModelDoc
    5 ]6 x2 O, d% y7 u  u
  3. Dim sFileName    As String
    ' b# \9 w- G6 y2 ]
  4. Dim path         As String. W- h1 K7 L+ a5 T4 l. ^) \4 ~
  5. Dim nErrors      As Long
    5 A  @/ K, h. |
  6. Dim nWarnings    As Long9 b2 Y+ ^. K4 Z; e
  7. Sub main()6 e5 ~" i8 o, ?* d& L
  8.     Set swApp = Application.SldWorks0 m  L# y$ ~- y$ e: C" W
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑
    : j, [& s& Y2 R" e4 ~! Z8 F
  10.     If Right(path, 1) <> "" Then path = path & ""
    6 ^' [$ p! T, z+ a& U
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw  f% {3 V9 ~2 g  {+ b1 ^3 F
  12. Do Until sFileName = ""3 u7 y. ?5 s- e, v* b/ e: M, D& m
  13.   
      I) E/ N+ A9 }6 @, a. g5 B. W
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING
    , U( J, G2 y8 L0 P5 I3 g
  15.     Set swModel = swApp.ActiveDoc
    % M0 r8 P+ D. w7 A
  16.    
    / H8 Y0 o. U0 a+ a1 A5 e- S
  17.     retva6 = swModel.DeleteCustomInfo("Number")
    0 b0 `) D3 d1 s  M' Y: ]
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))' l0 D) V1 ]0 t% _6 j
  19.     retva6 = swModel.DeleteCustomInfo("Name")+ F! O& i8 \8 x7 ^1 \
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))9 q6 L  R( E) b8 _
  21.     $ M, b8 p3 z( q5 ]$ ^
  22.     swModel.Save
    # l# n  g6 _% f1 t$ A! D
  23.     swApp.CloseDoc (sFileName)
    3 G8 J- M$ ~+ g  Y+ {
  24.     sFileName = Dir
    - h* R9 n" @# @8 `
  25. Loop
    8 B: D/ z* T; B6 Y' s
  26. MsgBox "DONE!"' g; J, a/ v" ]3 k2 S/ b
  27. End Sub6 P' e4 d+ Z$ U) F, g
复制代码
4 z% \+ {5 X1 j3 b0 V( r1 w

* _( P% `* C6 i! {  \+ h5 f0 g, o5 g( t- z; q
发表于 2016-4-29 18:36:36 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 16:39
, @- s( O# T' G  ^- p要達到批量新增的話,如下代碼:

" d7 p$ ]3 H# z丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 18:36* k9 N( T: `9 H2 @8 U
丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。

# U- L0 B9 e' l1. 工具--宏--新增8 D7 p/ P5 q, N$ ]3 u: f4 b  v
2. 命名後確認,進入編輯視窗,不要關閉。& G; o* U. @; `( q; J7 u, y; z; z
3. 將#18的代碼複製下來(該樓層下方有一個複製的連結), V% s# Z+ s: L0 x5 P, u9 ]- V+ o
4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。. X* H- v5 V# d
5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。! x# A) w0 W, G, i) m. K. v
6. 完成。
& o9 C( Q# l' A( R8 A
发表于 2016-4-30 19:34:08 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 23:545 M6 k2 R/ E" p+ u
1. 工具--宏--新增4 j8 ~9 X0 N9 E9 N0 D6 X  T
2. 命名後確認,進入編輯視窗,不要關閉。! D/ H  g) r2 ?5 l2 C/ ]: e( ~
3. 將#18的代碼複製下來(該樓層下方有一 ...
5 B( }' y) g2 L5 E
不好意思麻烦丹大看看问题出在哪里. u& P* H* @0 S  {" L

打开来报警

打开来报警
( [! `" u2 e9 Z; K: e
4 r4 w" |3 ~2 e

出现这个

出现这个

! N; w- Y" R. w$ Y3 v$ ?& w% T( i$ h' [" O1 E, Y9 T! `3 ^  Y- z
发表于 2016-5-2 08:01:35 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑 5 F$ H! l# ?; J- P3 y3 k% e
杨成武 发表于 2016-4-30 19:34: {; ^8 h3 A& U% P1 O4 L# L% G
不好意思麻烦丹大看看问题出在哪里

  c+ ?3 ]3 q9 ?# h最上方加入下兩行代碼
- f/ M+ E( s! x$ v/ N1 Y( Y, @2 i7 _
  d8 K5 J, \  S2 D1 S- A% ~$ w2 |  Y
  1. Dim swApp        As SldWorks.SldWorks
    * m, q# T9 d4 q5 M3 P$ P% n' ], |
  2. Dim model      As SldWorks.ModelDoc
复制代码
& D, L; c, l7 g
& W  G0 z3 ]; b( s

2 X7 ?+ `# K: g' L; x
发表于 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
% \( _2 Q3 _% L9 X4 p能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了
8 Z/ v+ `8 K5 j, B4 J% I
现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层 来自: 中国天津
安顺 发表于 2016-7-13 13:49
" E+ S* @5 u  Z) N4 h% W现在要不要了,我有

% {3 c; R) M8 ~& J. e0 e能用于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 g0 R) T  K7 O2 N! C

分离文件名.zip

6.03 KB, 下载次数: 30

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

本版积分规则


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

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

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