QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 9099|回复: 25
收起左侧

[讨论] 用方程式自动提取“****_####.sldprt”中“_”前后内容做代号及名称

[复制链接]
发表于 2014-6-9 16:00:05 | 显示全部楼层 |阅读模式 来自: 中国江苏扬州

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
用方程式自动提取“****_####.sldprt”中“_”前后内容做代号及名称. G. D# b& d4 ~* {  o

. u: e3 ^9 E  W7 `6 U* O1 m2 P+ x) l/ L3 z
以前有两个方法自动提取文件名中的部分内容做代号、名称,如下:
! P7 i- h( \' O7 @. _
! H6 [$ g9 |: L- u  W$ X7 JA、用方程式自动提取“****_####.sldprt”前9位做代号,后续内容做名称并填入属性栏的做法见“http://www.3dportal.cn/discuz/fo ... n=newthread&fid=131”。该方法不知道在Solidwork 2014版本里如何实现(方程式编辑方式不太一样),2 E- C, a+ S2 W. U
, f! a  C+ u$ ^" F
0 p& ~/ F/ C; y2 R- i
B、用宏自动提取“****_####.sldprt”部分内容做代号,名称并填入属性栏的做法见“http://www.3dportal.cn/discuz/fo ... wthread&tid=1250784”。具体见附件。
" ^: C, J( v" n: l9 \' G. z8 O/ Z9 U" h* g6 R- G2 J
感谢研究并分享A、B方法心得的各位坛友,非常感谢。
- u' d* I1 a5 [* L$ A) _. h. N
' s$ z# l: G) J1 {6 J' G个人认为,以上A、B各有改进空间:
" n  c- _7 L( i6 M' x8 ^3 k% n  f8 u& e- }; i6 E
1、对于A方法,如果文件代号位数不定,则操作困难或复杂;5 g* E( ~7 o/ M$ s) t4 [) B
2、如果文件名更改,则需刷新宏文件,不能自动更新(也许个人知识有限)。
& Q' f  h* p, x2 }9 I6 g( W0 j1 B: O/ z2 ]. l6 E" }3 i  q
如果将A、B方法结合起来,做成零件模板、部件模板,达到“用方程式自动提取“****_####.sldprt”中“_”前后内容做代号及名称".则完美了。不知有谁知道如何解决?请不吝指教。  q( u2 G2 ]4 {9 `$ W5 v6 d+ X- d
1 d+ \# ]- ~. n% j

图号名称分离.rar

9.83 KB, 下载次数: 140

 楼主| 发表于 2014-6-16 10:11:16 | 显示全部楼层 来自: 中国江苏扬州
这个问题我谈下我的感受,”图号名称分离.rar“我感觉使用效果很不错,感谢作者及辗转提供该附件的坛友,。在sw2014 sp3里能很好使用,其它版本应该更没有问题,但有个前提文件名称必须按照  “****_####.sldprt”来编制,及代号部分与零件名称部门之间必须有个下划线"_",否则不能实现提取功能。
( P/ Q$ x* {- B- C8 y! `6 J' n) n' {0 k6 p

$ M+ Z# c2 Z' p5 ^: X5 c- t6 C* g% N" q
1.JPG
 楼主| 发表于 2014-6-16 10:18:39 | 显示全部楼层 来自: 中国江苏扬州
上图是我自己以前使用的文件模板,是将文件名做代号用,自动提取文件名转为代号,完全关联,文件名更改、代号即自动更新,不需特意刷新,不会产生忘记刷新导致图号错误的问题。
# U/ {: O- T1 p2 G5 m
6 J/ ?' Y9 t" ~9 N1 f7 i; c如果能将$PRP:"SW-file name"改为
4 i* e8 e2 Z* P) b $PRP:"提取"SW-file name"中_前部分"   2 c2 G9 ?. Y$ h9 ]5 ^
(上面为不正确的表达方式,个人水平有限,仅仅用来表达我之意思。)
, e3 J8 n5 J( t, t实现自动提取文件名中"_"之前部分做代号、之后部分做名称,实现自动更新,则美矣!
发表于 2014-6-16 13:28:18 | 显示全部楼层 来自: 中国四川乐山
可以实现了,我在模板里做了嵌入式宏命令,保存后刷新一次,就可以自动将文件名里的图号,名称提取出来做自定义的图号名称了
 楼主| 发表于 2014-6-16 13:39:49 | 显示全部楼层 来自: 中国江苏扬州
感谢回复* r$ w0 B; N% ~2 e; I* W8 G, }

; r& A% D1 c' @# p+ h' {宏提取文件名字符为何不成功1 ]' Z! a" g3 a/ j+ L! M1 R4 y
7 h5 b' x; Q/ l$ c2 f% n
http://www.3dportal.cn/discuz/fo ... &fromuid=401891
9 o" U* D9 ?% @2 Y% ^2 e2 G! ~' B8 P) v: a' t

$ V* r4 J' Q, i0 e$ L上面帖子里,除了“图号名称分离.rar”用的顺利外,其它的都不行(我的是Solidworks2014 SP3),不过没关系,我对 “图号名称分离.rar”已经很满意了。但是美中不足的是,如果文件名改了,忘记了刷新宏命令按钮的话,会导致图号错误。. l. y# I6 d' N
发表于 2014-6-16 21:46:44 | 显示全部楼层 来自: 中国香港
arter 发表于 2014-6-16 13:39 static/image/common/back.gif8 h5 a) J8 m( ?+ ?5 i
感谢回复+ Z: I: F1 u1 K. r

; K- c% w0 V2 c; J* Q1 Y宏提取文件名字符为何不成功

& e1 [- @% h' m寫多一個宏, 讓SW在每次切換文件時都自動執行指定的宏, 那就可以避免忘記按動按鈕.6 i( f6 Q1 I: @) Z) Z0 ?$ W

# x# w6 J9 c  i: @1., f: H' J; S6 d, ^2 z
在C:盤建立"Macros"的文件夾, 並複制宏"partitionTM.swp"於其中.
5 E% |, g) N8 G! \( I5 O/ w9 F3 S7 r! Q1 h
2.
( Z3 v! e1 u+ Q6 t新建一個宏, 儲存到"C:\Macros\AutoRun.swp"& M! s7 I1 H* y) t. F" a0 n. \# ^8 w5 i
把以下代碼完全取代模塊的內容:/ J% b' n! x( a4 j# ], c3 ~, H# A, {
Public AutoRun As 类1
( H2 @3 s1 M+ Y; }* x. d" ~Sub main()
4 u# X8 [( ^2 X, ]  b8 d' X8 ISet AutoRun = New 类1' I& J+ d& ]8 m/ }& R% F9 a- a
End Sub
" z- c( e) b' m- `7 Z4 W9 t再插入"類模塊", 名稱為"类1", 內容如下:
( N& D8 t: R' ], J/ t. v9 `$ K5 @Private WithEvents SwApp As SldWorks.SldWorks: b$ k/ d+ r1 C
Private Sub Class_Initialize()
. [, V. I* U6 ]1 pSet SwApp = Application.SldWorks
) s" D5 S3 r7 O9 k* kEnd Sub
/ x+ _. x9 d2 M) E( @Private Function SwApp_ActiveModelDocChangeNotify() As Long
& y% f3 i, ^8 D6 U- rDim runMacroError As Long
- I" D6 D7 M' B6 a$ c, _( {SwApp.RunMacro2 "C:\Macros\partitionTM.swp", "partitionTM1", "main", 0, runMacroError
& n2 M2 ]6 C% I& k. Z' N) KEnd Function
& _' Q  @: H0 G! j6 T- r儲存宏及關閉SW.4 K8 t3 u, R% }1 T! j- ^% l

1 n5 o0 y. J# _; P3.
# d0 {, u# a1 ^9 `  t1 t" k執行SW並一起載入宏的方法0 z* v3 `4 ^' J- p
"安裝位置\SLDWORKS.exe" /m "C:\Macros\AutoRun.swp"
 楼主| 发表于 2014-6-17 09:34:26 | 显示全部楼层 来自: 中国江苏扬州
本帖最后由 arter 于 2014-6-17 09:57 编辑
$ h  |1 ~! x! u6 Q
) b. l* X! [7 ~非常荣幸能得到闷人老师的指点,让闷人老师费心了,,终于完美了。
发表于 2014-6-17 11:22:31 | 显示全部楼层 来自: 中国台湾
按悶大教程設置,成功了~~
发表于 2014-6-17 16:00:48 | 显示全部楼层 来自: 中国四川乐山
本帖最后由 l88i 于 2014-6-17 16:04 编辑 . M# C$ F3 u' Q% e8 p
/ S+ V+ Y! U5 P/ g! k+ n; g
零件5 H$ |8 }7 z4 t8 Z$ \
1
' V6 o2 `: S/ @$ _7 ~Dim Txt
2 y. t' `9 j; P! ?% x# ~" DTxt = part.GetTitle()
; j' t. g1 C% [, y4 w4 c" @Txt = Left(Txt,InStr(Txt," ")-1)
( F! l4 |# R* j+ P, _! [Txt = Part.Extension.CustomPropertyManager("").Set("NO.",Txt)
3 W0 [' O  d9 I% F2 w装配体
' v* h3 U" M  p9 \; P& |1
' F  C  _" b9 ^Dim Txt0 r2 c- `: F3 P5 I: y
Txt = Assembly.GetTitle()
& P: {3 Y7 l  bTxt = Left(Txt,InStr(Txt," ")-1)
2 S& q0 W9 g3 j$ s: g6 p( o2 @Txt = Assembly.Extension.CustomPropertyManager("").Set("NO.",Txt)
- N7 l+ A% X3 C2 u零件  Y  p7 q6 g9 ^  p. W/ x) j
2
5 [0 @* j. h9 oDim Txt  o$ o1 p  t6 B- \
Txt = part.GetTitle()
! v: h$ ?8 J" m) UTxt = Right(Txt,Len(Txt)-InStr(Txt," ")): U: D5 V/ c/ ]
Txt = Left(Txt,InStr(Txt,".")-1)
$ n& X' X/ Y' bTxt = Part.Extension.CustomPropertyManager("").Set("Name",Txt)- d# `) ^9 H$ @* V4 u* I
装配体" F% ^) @% o$ z( v
2( V) h; E: d; {9 w5 q
Dim Txt
$ j, }3 t& m8 F1 e" TTxt = Assembly.GetTitle()$ J2 ~9 }6 G; V! q: x7 R5 b; u
Txt = Right(Txt,Len(Txt)-InStr(Txt," "))
& e% P5 D. a( ^9 wTxt = Left(Txt,InStr(Txt,".")-1)
- t/ K( ~0 `# f, T& X2 }Txt = Assembly.Extension.CustomPropertyManager("").Set("Name",Txt)
+ y- k+ Y8 u- O+ g6 s" p$ M4 @- T3 M, a, c* |2 C
" t& m7 [$ ]. a( Q5 Z( K4 T+ Q

! f% V, F* H( Y, W, {. E这是我调试好的内嵌式宏7 ~" h! U3 M  t
我定的规则是图号名称间加个空格,以空格为来设定的
" _6 W- p+ w- j然后我设定的Name为名称,,NO.为图号,因为在06年的时候只有06版,那时候不支持中文的自定义名称,只好用这代替,一直沿用到现在
发表于 2014-6-17 16:05:31 | 显示全部楼层 来自: 中国四川乐山
如果有人感兴趣我就发我的模板
发表于 2014-6-17 16:57:59 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2014-6-17 17:29 编辑
/ V' \4 C; }  l+ X) n
l88i 发表于 2014-6-17 16:05 static/image/common/back.gif4 s4 {' v+ @. z+ f$ j1 r
如果有人感兴趣我就发我的模板
) _. l5 m1 q" z5 q

- C/ t  Q9 [5 K- C自己按語句嵌入一次,得到錯誤的回應…
  _4 `$ `, J+ }! w9 A! h* E6 {# c' u6 p& @, l' y0 n
能傳上來研究一下嗎?謝謝。
发表于 2014-6-18 13:42:18 | 显示全部楼层 来自: 中国四川乐山
内嵌式宏命令,自动分割文件名生成图号名称,分享模板
9 z: c8 a' Q1 W: k1 ?) s0 Nhttp://www.3dportal.cn/discuz/fo ... &fromuid=3026580 ~9 R% k2 o6 Z
发表于 2014-6-24 14:01:22 | 显示全部楼层 来自: 中国江苏苏州
我一直代号,名字放一列里。不能自动改新。看来落伍了。
发表于 2014-6-25 15:20:27 | 显示全部楼层 来自: 中国江苏扬州
8错啊。路过

评分

参与人数 1三维币 -2 收起 理由
jiang.jh -2 灌水

查看全部评分

发表于 2014-6-27 09:56:14 | 显示全部楼层 来自: 中国湖北武汉
附件无法打开啊
发表于 2014-12-27 12:58:41 | 显示全部楼层 来自: 中国浙江嘉兴
这个很好,应该有。
发表于 2014-12-27 21:20:25 | 显示全部楼层 来自: 中国广东揭阳
本帖最后由 machine134 于 2014-12-27 21:25 编辑 4 b7 G, ^3 x* N3 b, [
arter 发表于 2014-6-16 10:18 static/image/common/back.gif
- P( {0 H' w( b1 @上图是我自己以前使用的文件模板,是将文件名做代号用,自动提取文件名转为代号,完全关联,文件名更改、代 ...

% B) T3 _7 H, }; I不是属性链接设置也可以把文件名跟图代号关联吗,呵呵,软件只是为了工作设计提供方便,能方便快捷就好没必要走弯路显花招,把时间精神多花在针对专业中去吧
发表于 2014-12-28 13:23:49 | 显示全部楼层 来自: 中国北京
有顶起,有回复,有下载
发表于 2014-12-28 13:46:39 | 显示全部楼层 来自: 中国北京
不科学 ,这嵌入宏要是能提取文件夹你名字就好了
发表于 2014-12-29 19:24:43 | 显示全部楼层 来自: 中国江苏苏州
厉害,总结归纳也很重要,能人多出力,普惠大众。。。谢谢
发表于 2015-5-20 10:16:58 | 显示全部楼层 来自: 中国广东深圳
l88i 发表于 2014-6-17 16:00 static/image/common/back.gif4 _, E% [0 x1 Q% i& V5 F4 r& Y$ @
零件
8 P2 M3 k  Q  I15 Z5 g. f) F! E
Dim Txt
+ a: \5 Q6 w- k+ }6 B. b( E/ G; N3 d
你好,用了你的模板,图号可以更新为空格键前面的字符,但是空格后面的名称不会更新,望指点
发表于 2016-1-29 10:51:25 | 显示全部楼层 来自: 中国北京
l88i 发表于 2014-6-17 16:05' k5 S: g+ n  V
如果有人感兴趣我就发我的模板

- s$ s8 h1 H; s0 L" N你能把你模板发给我看看吗谢谢你啦。
发表于 2016-2-2 15:48:40 | 显示全部楼层 来自: 中国山东济南
谢谢分享,来学习。
 楼主| 发表于 2017-7-6 19:28:41 | 显示全部楼层 来自: 中国江苏南通
有没有WIN 10 ,solIdworks 2014能用的图号名称自动分离模板?以前的都不能用了
发表于 2017-7-7 08:25:39 | 显示全部楼层 来自: 中国广东深圳
学习
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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