QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

楼主: hheyafu
收起左侧

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

[复制链接]
发表于 2016-4-27 20:48:25 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-2-18 18:45, W0 `: x- h- S. V! d9 p
打开属性栏,设置属性,如图
- C4 j. _5 S5 M* r5 c! k' n进入方程式界面,设置全局变量,如图

; z0 @+ i* p5 R1 ~8 Q0 q老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层 来自: 中国安徽蚌埠
杨成武 发表于 2016-4-27 20:486 h$ S( R" j: a& [
老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...
6 i4 U. |7 t% L7 I. V/ h
装配图好像不管用。
! C9 L( Q2 y. f0 M% }1 t9 |5 v你的是什么版本的. }# `3 F9 ~+ m0 w  B: Q" y
发表于 2016-4-28 19:16:50 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-4-27 21:38
: o: Q: U, ~8 ?3 b: O" l$ t装配图好像不管用。2 L8 f, H7 F, A; S& p$ M  G8 E0 v
你的是什么版本的
5 p( i- R+ g! Y# q" X* i6 ~
sw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-28 19:16
% |; y0 V2 N4 d  ~4 ysw2015,你有qq吗?
! ?3 Z+ u$ y2 Z0 |! Y( H9 k% v; ^
#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。
8 e, `: G! o9 j$ B把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。: T' q: N' ]$ l
每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 07:01& \+ O6 [$ C; Z5 T3 J0 `
#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。/ e' r( U, H# g* u" b
把你要的編碼方式寫出來,具體 ...
, d& y# o) O9 E' s( T. N/ V
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 07:54
  f3 F7 z. G" O/ N/ \谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...
4 Q: ^) W9 S8 I/ i+ h6 G
看不明白…
# j% [) I& W4 \9 G- O! O( T這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?
& j9 u/ _5 D/ O2 t能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 09:42
( n4 f1 ~* j% M7 Z4 a2 c看不明白…! z$ p) ?# b$ `
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?
  R# U' ~  M7 P! @能否明白舉個例子?一個完整的零 ...
# C+ J8 H9 A' U( `7 P. L- j
丹大这个是一个示意图;0 `6 U, N5 U1 f* G4 G! ?
做的不好希望能看的明白0 C9 ]# ]' O. n5 G0 @: l! D
QQ截图20160429152357.jpg
3 J& v( C3 ^& ~0 R
- \, b" G. z& M5 n8 d
0 ~- t8 Y" S4 _  T' N2 W麻烦丹大看看谢谢。6 n# |. X: X7 l; h" a: F. w" r: v4 c" C
发表于 2016-4-29 15:38:32 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑 , @0 j( V6 M& z& C( l
杨成武 发表于 2016-4-29 15:29/ j' C9 c) ^/ V! W
丹大这个是一个示意图;, H3 o- ~* D; S, \7 t
做的不好希望能看的明白
  T! V9 G1 y. n' K" R  b( X
如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。
" g5 T2 ~$ M& J6 @; G3 c那麼以下代碼就可以使用了。* D& K7 n0 k& Q1 L  y8 ^+ ?4 a) b
* z( g. S, n$ q) }  I
  1. Sub main()
    5 a3 O9 B2 r! O. _7 _
  2. 4 X6 _, C$ R3 R
  3. Set swApp = Application.SldWorks$ g+ z, p$ ?+ L, t8 V. k6 Y
  4. Set model = swApp.ActiveDoc
    % T( |  |+ i9 E2 T
  5. 3 ~; m" r+ x5 y7 D* C0 T/ R1 @
  6. ModelName = model.GetTitle
    & f" k0 R, j- E& E' O
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1)
    3 F$ o* M9 `! X

  8. 9 T2 J9 x$ W5 H6 Z  G0 Q0 q
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number")
    8 Y6 [3 a+ `2 s
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10))8 `$ ~% L# [. j$ K  @: o& r' e
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")
    ; [3 D6 n8 y* Z4 _& A4 J
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10))5 E/ `* T! ~1 R0 W

  13. , J& z# a# U' ~
  14. End Sub# ]0 a6 b7 c4 o
复制代码
9 p. U- {6 J  x1 z$ q3 M- o* h

7 R6 m) a, n# t4 _+ K" F4 m+ m9 L2 C' u
. p- D2 Q/ x# \  n
发表于 2016-4-29 16:39:54 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 15:29  ~' V, U' d9 V% N' z& ]
丹大这个是一个示意图;( b$ Z) I( K! C$ M$ o  _% F
做的不好希望能看的明白

0 F& O! N# V; l+ O要達到批量新增的話,如下代碼:9 {# T9 u; K3 N1 \! ]$ r' A

: [& R9 r6 e+ n0 V6 }6 c2 N
  1. Dim swApp        As SldWorks.SldWorks
    , M' \% d6 e5 C! M+ D
  2. Dim swModel      As SldWorks.ModelDoc: z/ y! L# J+ K6 R% f  i
  3. Dim sFileName    As String
    $ z/ w: d- {+ B$ B/ i; P  U' V
  4. Dim path         As String
    5 O7 n/ u3 t& H
  5. Dim nErrors      As Long; h9 N4 u- i, n! i( c: b' D8 m
  6. Dim nWarnings    As Long
    4 D2 h# W3 v1 R
  7. Sub main()
    9 r# z: K" P* a: }( ^- s
  8.     Set swApp = Application.SldWorks
    ) s2 _5 N9 L5 g& z/ g9 {
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑8 r6 @! D. V: a! A# u9 @, U5 b. P+ e( @
  10.     If Right(path, 1) <> "" Then path = path & ""
    4 `* n0 t) z3 D% M( v
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw7 q3 n7 M' ]1 Q- a
  12. Do Until sFileName = ""
    2 w7 E0 u1 i9 W- H
  13.   + ^- b7 D" N8 V: w0 k) ?3 f( v7 s$ ]
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING' q9 S  T1 C# p& ?5 m5 ]
  15.     Set swModel = swApp.ActiveDoc  q$ P: }/ _) O! n' T
  16.    
    # p1 ?0 ^  x" Y# c
  17.     retva6 = swModel.DeleteCustomInfo("Number")
    : ]7 I3 w; M+ F' {  V
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))) j. B( `+ m3 ]$ s/ U. C
  19.     retva6 = swModel.DeleteCustomInfo("Name")7 p) V" L# K, f+ B! y$ u( D0 v; y3 U
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))2 M0 b5 q' y, w  m( w0 s
  21.     - N- {, X+ j$ b# O, B1 x
  22.     swModel.Save
    + @7 j% \' _9 O, U( X
  23.     swApp.CloseDoc (sFileName)
    1 @( C' L& J  h* |& y5 W, i
  24.     sFileName = Dir6 G# q# @: W$ i% Q: p- F
  25. Loop$ D2 V' h0 F! M
  26. MsgBox "DONE!"( x1 F& s4 K$ A3 @. M' x' F) h
  27. End Sub' M2 A0 E+ C; ?" Y- z
复制代码

; }9 o1 ^: y' U3 G& O9 n% [/ z3 P+ k4 G6 v7 D) L$ ]0 x
8 |' d7 Y; C! j5 b
发表于 2016-4-29 18:36:36 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 16:39
# I, y( F2 Z3 @, Q要達到批量新增的話,如下代碼:

# |5 P% L/ d. e. i4 S丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 18:36
4 F2 D6 G+ l6 V# l! [. ~丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
1 U1 ?% m7 ]5 q7 O1 K* ^9 f+ {
1. 工具--宏--新增" P% v0 O- ]" A& o: z
2. 命名後確認,進入編輯視窗,不要關閉。
$ ~2 E6 s+ M) }* i* g( c! c3. 將#18的代碼複製下來(該樓層下方有一個複製的連結)- t6 {# k& }9 a- c0 y1 q: i
4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。3 @  a: g( g/ X$ J0 n  C
5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。: q8 b7 u  `- p: U
6. 完成。
9 j7 p- E. P5 m8 n% [
发表于 2016-4-30 19:34:08 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 23:547 q7 O, O5 z4 S) {! S: V
1. 工具--宏--新增2 G4 f/ R5 y, f2 j# Y+ {
2. 命名後確認,進入編輯視窗,不要關閉。
9 J) C+ O3 t/ Y( z) ]3. 將#18的代碼複製下來(該樓層下方有一 ...
0 J  e. R2 a; O; H! {
不好意思麻烦丹大看看问题出在哪里
5 o2 ^. d0 R: Y' s7 b' s$ w9 m9 l

打开来报警

打开来报警

! A) N3 g6 W; x$ E  m+ u) ~2 _
/ g" E+ B2 t6 v2 t9 {  M

出现这个

出现这个

3 k/ k4 g+ t, V4 |
, z8 Z8 J: h% ?  B- b& y" }
发表于 2016-5-2 08:01:35 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑
7 k. C8 i- B- x3 v' a5 @
杨成武 发表于 2016-4-30 19:34
7 s6 ]6 c8 s/ j. Q不好意思麻烦丹大看看问题出在哪里

/ D% }  J( V* f2 _9 G% J! X6 ^  h最上方加入下兩行代碼
$ w1 X5 p8 g( x9 D, b% |8 y. b+ w. ]3 B; i# c# ^
  1. Dim swApp        As SldWorks.SldWorks
    3 v9 m. D$ w( d
  2. Dim model      As SldWorks.ModelDoc
复制代码

% f/ H7 ]8 z  O: k9 q" L+ r
$ q3 N5 _6 f% t3 m
! r, u+ P/ R+ x9 P& {; O* o! ^$ C
发表于 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
6 `8 n$ F- f8 c+ L' ^能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了
4 E" e9 I9 E" Q- K+ ]0 f5 K" P
现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层 来自: 中国天津
安顺 发表于 2016-7-13 13:499 ^' n% B5 H9 x4 n4 h% D2 e
现在要不要了,我有

: Y# v; C! [9 z# J能用于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 | 显示全部楼层 来自: 中国山东青岛
把我的贡献出来吧。文件名编号规则“图号+空格+零件名称”,图号长度不限制。零件和装配体都适用。宏中的图号和零件名的属性链接根据自己情况修改。8 m; S9 l: r- A$ y" S: J8 o

分离文件名.zip

6.03 KB, 下载次数: 30

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

本版积分规则


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

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

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