QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

楼主: hheyafu
收起左侧

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

[复制链接]
发表于 2016-4-27 20:48:25 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-2-18 18:45# F3 w9 v( F# o# X
打开属性栏,设置属性,如图0 @! a2 \( Z  Z
进入方程式界面,设置全局变量,如图

+ L6 Y0 E8 k; k! k5 K  X- R! i$ I老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02-03-04支撑架,装配图号例如:GH01-02-03-04-001轴承座组建
发表于 2016-4-27 21:38:24 | 显示全部楼层 来自: 中国安徽蚌埠
杨成武 发表于 2016-4-27 20:480 H+ h: o9 f, z* [3 t' ]
老师按照你给的东西我的怎么不能分离,你能加qq帮我一下吗553942958麻烦你了,我图号是这样例如:GH01-02 ...
" l& t& p& `' k' i8 b, \
装配图好像不管用。
7 g' b6 W, _& o& m* i/ k5 J; `你的是什么版本的
; m+ L9 F- z0 @6 C$ c; A4 a% Q
发表于 2016-4-28 19:16:50 | 显示全部楼层 来自: 中国浙江温州
jinqin11 发表于 2016-4-27 21:38
8 F2 T, G2 s1 J2 H! r装配图好像不管用。
/ b7 W  w/ f5 i+ f9 n- w9 K* h0 [6 B" R你的是什么版本的

! g  n  k' |+ [9 {0 fsw2015,你有qq吗?
发表于 2016-4-29 07:01:38 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-28 19:165 l2 D4 ?! ^1 ~' U, m. G
sw2015,你有qq吗?

$ p: a; P9 s% X7 w' e% b#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。
# M$ t6 j: s6 [2 O/ J7 j把你要的編碼方式寫出來,具體要求到哪邊寫入圖號?哪邊寫入名稱?這樣才好幫上忙。5 y: y: B: e' J7 V. M) T
每一公司的命名原則都是不同的,怎麼能期望一個宏就打遍天下呢?
发表于 2016-4-29 07:54:52 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 07:01
+ {: I6 P5 M* r8 g9 z#18 大大說的方式以前有討論過,似乎2013以後就不支持這樣的崁入方式了。+ |% J# U2 x% B$ M6 ?9 m
把你要的編碼方式寫出來,具體 ...
6 Y: z& C- ~8 b: k9 e4 a1 }
谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01-01-001轴承支架组件
发表于 2016-4-29 09:42:20 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 07:54
: |& z; {- a1 d( C; D% K, r% @. z谢谢丹大的回复,我的图号是这样命名的例如HL01-01-01轴承支架,装配图号编为HL01-01- ...

( j7 E% K/ t7 r; c( z' g1 L' V: L看不明白…+ y; z' e. K# A3 [4 }/ K0 @- B
這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?7 x5 C% j% F' e
能否明白舉個例子?一個完整的零件命名,然後哪一部份要寫入「圖號」?哪一部份要寫入「名稱」?
发表于 2016-4-29 15:29:43 | 显示全部楼层 来自: 中国天津
gt.adan 发表于 2016-4-29 09:424 ?: d" b! Q% E1 f1 w6 w
看不明白…
0 r& y+ K' b2 i( C* P這裡討論的應該是零件的圖號分離,怎的又有裝配圖出現呢?% }' v6 Y0 U& p0 T% i! y
能否明白舉個例子?一個完整的零 ...

6 {  ^* ^: Q8 E5 y丹大这个是一个示意图;% k2 R- B. `- d: q
做的不好希望能看的明白# b# }+ M8 q, {' f" _8 E
QQ截图20160429152357.jpg ; q  ~5 g% c+ q9 @5 b" ^1 h

2 R% U9 m+ |' U0 }  A& T! B% k; `
: O( W* }3 i' C0 D4 ]) R" ]麻烦丹大看看谢谢。
' ~+ G( X5 ^* f$ A+ _
发表于 2016-4-29 15:38:32 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-4-29 15:58 编辑   U  N. Z4 j7 D2 O' L- O" U7 H
杨成武 发表于 2016-4-29 15:29
7 N+ _8 n- W2 f" i& a  l% Z丹大这个是一个示意图;
+ k5 ~( p( q. R做的不好希望能看的明白

! Z& A% d; F% r1 J% q* s" F  d如果貴司的命名原則統一是如此:前10碼為圖號,其餘的為名稱。6 R$ q0 b! f, Q5 [
那麼以下代碼就可以使用了。* W! G4 L+ T6 f+ o6 ~

8 y. _, S# L% ~) ^  j1 B3 }
  1. Sub main()9 u8 i' e$ a+ H. t9 X7 E7 a

  2. " A  L' f- d' H
  3. Set swApp = Application.SldWorks
    & I* H5 ~3 O4 T4 l
  4. Set model = swApp.ActiveDoc
    ' v$ S3 |: ?1 r- _1 M' \: n# c7 a

  5. : P, L1 [7 c  y) r' k% o+ q
  6. ModelName = model.GetTitle
    # s  z( _: F  J! h- H( d
  7. ModelName = Left(ModelName, InStr(ModelName, ".") - 1): |; L0 s; R, A( G/ {6 C

  8. - ~- Y( Q- s9 m. [, p# w6 x
  9.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Number")
    . z+ O0 }7 }( Z/ m0 x
  10.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Number", swCustomInfoText, Left(ModelName, 10)): f9 O+ F. n* N, F
  11.   retval = swApp.ActiveDoc.DeleteCustomInfo2(sconfigname, "Name")
    8 `' E1 f/ s9 W9 s
  12.   retval = swApp.ActiveDoc.AddCustomInfo3(sconfigname, "Name", swCustomInfoText, Right(ModelName, Len(ModelName) - 10))
    1 l$ L0 d' D' @1 E
  13. ; j' ?0 _' n! y4 f4 ^& K3 n
  14. End Sub1 P' A1 q  c* w0 ]- t# t
复制代码

1 B7 G) ^2 O: Z' d; C, a. [" I8 O& ^2 h! X5 B
. [2 w; X9 I& j7 i  i
发表于 2016-4-29 16:39:54 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 15:29
" W4 S) S1 {! w# {! N0 x丹大这个是一个示意图;1 Z5 S' q* K! U  t2 a
做的不好希望能看的明白
" `: m9 E! _# R% d/ E
要達到批量新增的話,如下代碼:6 K/ Q$ N2 D0 g0 q
( q: P& A, X. v4 L
  1. Dim swApp        As SldWorks.SldWorks
    7 o% J7 a+ V) Y) z3 O
  2. Dim swModel      As SldWorks.ModelDoc
    ! t" v$ i$ |+ p9 [
  3. Dim sFileName    As String  _5 A* g* W* U7 ?
  4. Dim path         As String0 m; y/ ]) i$ `8 t
  5. Dim nErrors      As Long
    5 ^  D0 t& P; d4 Q7 s4 e2 @6 Z
  6. Dim nWarnings    As Long
    ) I/ J9 b! o! o6 z
  7. Sub main()" H4 y3 ~2 P' U& K* a
  8.     Set swApp = Application.SldWorks
    & {2 J3 y5 z1 E/ ^$ w) T
  9.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test '' )", "Parts path location") '鍵入路徑
    1 [3 {- q: T) u
  10.     If Right(path, 1) <> "" Then path = path & ""  S, ~# _; W6 `9 B' I
  11.     sFileName = Dir(path & "*.sldprt") '可以換成 *.sldasm or *.slddrw
    $ w) M6 R& L4 o2 I% Z7 _% v; i
  12. Do Until sFileName = ""
    3 [+ H$ B5 n# I1 ?% J- F5 P
  13.   
    9 @9 F7 s! g& X& f0 A
  14.     Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings) '可以換成 swDocASSEMBLY or swDocDRAWING
    + n& A1 ]% D2 B! k3 T( {9 i
  15.     Set swModel = swApp.ActiveDoc
    ) a% G# G& T3 p
  16.    
    * f( _9 K  ?4 K4 O& t, u: i
  17.     retva6 = swModel.DeleteCustomInfo("Number")
    0 ]3 C8 w4 ~8 S7 f
  18.     retva6 = swModel.AddCustomInfo3("", "Number", swCustomInfoText, Left(sFileName, 10))* C: d! P5 O1 n) V
  19.     retva6 = swModel.DeleteCustomInfo("Name")
    : v% c$ u  w, l$ g4 L
  20.     retva6 = swModel.AddCustomInfo3("", "Name", swCustomInfoText, Right(sFileName, Len(sFileName) - 10))
      j' K! Q) W8 M  C5 F; M& [5 ~+ b
  21.     , W7 ^5 }7 E1 R
  22.     swModel.Save
    . }# T. _$ c- D6 N0 ~. L% S
  23.     swApp.CloseDoc (sFileName)- _# S  N, r1 s
  24.     sFileName = Dir- V: O8 n9 t8 u6 w1 Y; W" b
  25. Loop
    & X; o: x; N! X$ p5 m1 |; o) i
  26. MsgBox "DONE!"
    9 |8 K% R" C* D9 \+ F1 ]7 D
  27. End Sub
    0 b- u4 l  Z$ ~% A% l& Q1 G' }9 D
复制代码

# S' N4 V, ^5 I( V! F% |4 X' }1 u' g. T

  M  C+ G) _9 L# I& V9 O: c: N+ A
发表于 2016-4-29 18:36:36 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 16:39
. W0 m) Z" k  x, y5 T9 p要達到批量新增的話,如下代碼:
4 g% v1 K) L  ^
丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
发表于 2016-4-29 23:54:35 | 显示全部楼层 来自: 中国台湾
杨成武 发表于 2016-4-29 18:36
& h, B, y4 M2 ~; Q! l: c) q& i8 J丹大,不好意思再次麻烦你,我对宏引用不熟悉,你能给我演示一下吗,做一个小视屏不好意思了。
  N8 J. l* a! n3 q  O, S2 C
1. 工具--宏--新增
; }# ^+ ?2 e9 `4 c! C5 r% w2. 命名後確認,進入編輯視窗,不要關閉。/ Z! v2 a$ B. h5 I. H
3. 將#18的代碼複製下來(該樓層下方有一個複製的連結)
6 J# {% w- R/ Q4. 回到編輯視窗,將方才的代碼貼上,儲存後關閉。
, e6 S3 B& ?2 s/ c2 o6 V5. 打開要加入屬性的零件,工具--宏--執行,目的選擇剛才新建立的宏。) B. G3 Q0 c- I" y) F# Y; ?3 F
6. 完成。, b8 s6 u7 D4 \; T/ B
发表于 2016-4-30 19:34:08 | 显示全部楼层 来自: 中国浙江温州
gt.adan 发表于 2016-4-29 23:54# q- V1 ?' X+ |8 `" E
1. 工具--宏--新增
2 g) l8 k& h' l2 J9 d. S9 @2. 命名後確認,進入編輯視窗,不要關閉。
* ^# x' }- F5 V9 q$ E3. 將#18的代碼複製下來(該樓層下方有一 ...

# n2 U- V& {" ]5 k# k- x; t不好意思麻烦丹大看看问题出在哪里
' j+ K- Z3 z1 r5 }: r9 n

打开来报警

打开来报警
/ U4 s% B' H0 J
: Y7 l2 q$ y0 }  G% v- J* @

出现这个

出现这个
" R: i& Y$ \4 o% L2 p* E7 |/ C
2 w6 y$ R: r% o# \" @1 Z: O
发表于 2016-5-2 08:01:35 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-5-2 08:03 编辑 : W" i* u0 W+ z6 G$ @6 ]& o
杨成武 发表于 2016-4-30 19:340 ]! e+ w7 ^8 \' {  K: R$ ^# l( m
不好意思麻烦丹大看看问题出在哪里

0 Q1 R, |4 `, j. s" O# j( l最上方加入下兩行代碼# T0 M7 N$ I3 N" N9 e- P: n

6 R5 Q2 A0 \$ j* F
  1. Dim swApp        As SldWorks.SldWorks
    ' K' Q" {1 S8 P  K; _/ k! P4 _: F% v
  2. Dim model      As SldWorks.ModelDoc
复制代码

: Q% z4 l; g+ a' W7 y9 p* X
0 L) S6 T( h+ D. V/ G) O. P! |- g0 d% t. 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
4 K7 }  x; |9 }7 Y0 [$ b8 ?3 ]+ R能共享你所使用的宏吗,我也想要实现这个功能。麻烦你了

3 w0 t1 B' p* ?+ ~! [/ n( x9 z现在要不要了,我有
发表于 2016-11-17 22:04:02 | 显示全部楼层 来自: 中国天津
安顺 发表于 2016-7-13 13:49
# w+ o! |& }+ x6 X$ k现在要不要了,我有

, Y* P2 }( q: U0 e7 N, l1 ~能用于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 | 显示全部楼层 来自: 中国山东青岛
把我的贡献出来吧。文件名编号规则“图号+空格+零件名称”,图号长度不限制。零件和装配体都适用。宏中的图号和零件名的属性链接根据自己情况修改。$ T( w& X  |8 Z- d  C: [# K

分离文件名.zip

6.03 KB, 下载次数: 30

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

本版积分规则


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

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

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