QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 9119|回复: 25
收起左侧

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

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

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

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

x
用方程式自动提取“****_####.sldprt”中“_”前后内容做代号及名称
: a- _' a/ c: u6 D5 I, {# f7 Z3 O$ _/ w& U9 R- J
& Z1 n: R1 A  R* ]5 g3 P
以前有两个方法自动提取文件名中的部分内容做代号、名称,如下:* @: ^8 r' z$ r/ j

: C2 X5 d% ]1 _4 _- I( BA、用方程式自动提取“****_####.sldprt”前9位做代号,后续内容做名称并填入属性栏的做法见“http://www.3dportal.cn/discuz/fo ... n=newthread&fid=131”。该方法不知道在Solidwork 2014版本里如何实现(方程式编辑方式不太一样)," z- h' J. a( U; ]

" l8 E7 S: E- z0 H0 @# g8 U4 k) u; _* {
B、用宏自动提取“****_####.sldprt”部分内容做代号,名称并填入属性栏的做法见“http://www.3dportal.cn/discuz/fo ... wthread&tid=1250784”。具体见附件。
6 [7 c5 r1 u' U2 q" Y
: x/ [( k0 V" L% g. }6 J感谢研究并分享A、B方法心得的各位坛友,非常感谢。
  j! b, Q2 \" }' m# u+ H! c' n3 _4 \) n+ K" X' p
个人认为,以上A、B各有改进空间:
* e2 {4 V; k* `8 J+ B8 F: h! @* C, I; h# k
1、对于A方法,如果文件代号位数不定,则操作困难或复杂;
3 W4 f0 T8 r3 {8 Y2、如果文件名更改,则需刷新宏文件,不能自动更新(也许个人知识有限)。5 n' d- c7 z: A4 r9 O
1 x) X! q# x6 n, M& ^: d- h
如果将A、B方法结合起来,做成零件模板、部件模板,达到“用方程式自动提取“****_####.sldprt”中“_”前后内容做代号及名称".则完美了。不知有谁知道如何解决?请不吝指教。
4 l4 F; g3 B' I$ ~
% ^# x% W5 I8 U; n, ^& q

图号名称分离.rar

9.83 KB, 下载次数: 140

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

, n) ]- @$ x! j5 }/ g" P
1.JPG
 楼主| 发表于 2014-6-16 10:18:39 | 显示全部楼层 来自: 中国江苏扬州
上图是我自己以前使用的文件模板,是将文件名做代号用,自动提取文件名转为代号,完全关联,文件名更改、代号即自动更新,不需特意刷新,不会产生忘记刷新导致图号错误的问题。
5 c' D: [3 J: l6 Y; T" v0 w
0 o: H7 g6 r' p* ]如果能将$PRP:"SW-file name"改为
2 o, w" n+ o' m! Y9 X9 H $PRP:"提取"SW-file name"中_前部分"   
0 g, R2 M& B" k(上面为不正确的表达方式,个人水平有限,仅仅用来表达我之意思。)
; ]9 d: y- h2 K2 S实现自动提取文件名中"_"之前部分做代号、之后部分做名称,实现自动更新,则美矣!
发表于 2014-6-16 13:28:18 | 显示全部楼层 来自: 中国四川乐山
可以实现了,我在模板里做了嵌入式宏命令,保存后刷新一次,就可以自动将文件名里的图号,名称提取出来做自定义的图号名称了
 楼主| 发表于 2014-6-16 13:39:49 | 显示全部楼层 来自: 中国江苏扬州
感谢回复* ]2 D! K& T; X1 q! \
8 s4 c2 [$ k7 f" K
宏提取文件名字符为何不成功/ `$ ?: I) u1 ~! Y+ c

7 |+ c: r+ O# ^+ s7 _1 Chttp://www.3dportal.cn/discuz/fo ... &fromuid=401891
! ~4 @3 H. `( H1 D( V
' ^. o* \% P" x  |3 {/ D* o- m% ]5 n# ~
上面帖子里,除了“图号名称分离.rar”用的顺利外,其它的都不行(我的是Solidworks2014 SP3),不过没关系,我对 “图号名称分离.rar”已经很满意了。但是美中不足的是,如果文件名改了,忘记了刷新宏命令按钮的话,会导致图号错误。
5 G, ^" G5 R2 i2 [
发表于 2014-6-16 21:46:44 | 显示全部楼层 来自: 中国香港
arter 发表于 2014-6-16 13:39 static/image/common/back.gif& S1 D# \" l) y& T1 P3 T+ S0 I
感谢回复. |2 `, U" u- [9 U+ a- H

) P5 J( k$ M% n$ N3 y宏提取文件名字符为何不成功
8 @4 n  R1 C) h" h2 x$ G
寫多一個宏, 讓SW在每次切換文件時都自動執行指定的宏, 那就可以避免忘記按動按鈕.
$ H# i7 `3 B9 k7 }9 S) v, e' n+ w, L6 \/ a) }) Y3 m8 y
1.0 l/ l% V4 S0 x6 }8 q: M
在C:盤建立"Macros"的文件夾, 並複制宏"partitionTM.swp"於其中.
  z/ [" I, b% Q% ~/ s: @' F. ~9 \6 Y$ p
2.
- H# w- I8 Z+ J6 F  K6 Y新建一個宏, 儲存到"C:\Macros\AutoRun.swp"2 x/ o* S$ ~. q. Q. D' v
把以下代碼完全取代模塊的內容:
* _' I6 O- g) S1 a. J3 UPublic AutoRun As 类1% \: U; Q; \$ R7 O4 x6 e
Sub main()- i1 f2 A9 L' q( w6 i
Set AutoRun = New 类11 q2 a+ ?& g, N& X3 O# U, Y
End Sub
( y  H) \2 D  P) t" x再插入"類模塊", 名稱為"类1", 內容如下:
% S% u* j  T& q6 CPrivate WithEvents SwApp As SldWorks.SldWorks9 n* s  Y0 d% l  e3 @
Private Sub Class_Initialize()
* o' L( U1 e& R( H) i" LSet SwApp = Application.SldWorks4 X7 `6 T  s4 U' J0 {9 q- c; J
End Sub- r  P& V/ m& J, A$ ]; Z
Private Function SwApp_ActiveModelDocChangeNotify() As Long
& K3 Q- }2 U$ P. l" g. Y& zDim runMacroError As Long
) C8 t% Y* _4 \8 K" ~' Q( U; i+ CSwApp.RunMacro2 "C:\Macros\partitionTM.swp", "partitionTM1", "main", 0, runMacroError) V* u  l/ \0 t1 L' ^
End Function# ?. b! s# V, s5 t
儲存宏及關閉SW.
) G' m4 G% q& ?8 s7 O9 d; W. O: x3 n6 k
3., P5 s3 v" n4 t. C. R
執行SW並一起載入宏的方法0 V$ H4 {$ D* n; }9 e* P3 l
"安裝位置\SLDWORKS.exe" /m "C:\Macros\AutoRun.swp"
 楼主| 发表于 2014-6-17 09:34:26 | 显示全部楼层 来自: 中国江苏扬州
本帖最后由 arter 于 2014-6-17 09:57 编辑 * e5 R# D( j7 d- x+ H2 o( w% r

- i) |( d2 O: {- q/ V/ n  ?1 r非常荣幸能得到闷人老师的指点,让闷人老师费心了,,终于完美了。
发表于 2014-6-17 11:22:31 | 显示全部楼层 来自: 中国台湾
按悶大教程設置,成功了~~
发表于 2014-6-17 16:00:48 | 显示全部楼层 来自: 中国四川乐山
本帖最后由 l88i 于 2014-6-17 16:04 编辑
8 }) o" [4 P/ e! c7 k6 l
2 q& i; T( B2 |' d! h零件) c- e* \  _# ~7 e9 D5 k
1
2 A2 `/ s. u9 k+ P: yDim Txt4 _" c3 W* G# E
Txt = part.GetTitle()- b: p$ V* d7 ^" r6 h5 s* ]
Txt = Left(Txt,InStr(Txt," ")-1)& `4 h7 W! N- ^- E1 f0 I8 I
Txt = Part.Extension.CustomPropertyManager("").Set("NO.",Txt)5 D2 H: \3 ?1 D
装配体
4 ^, {# n9 r  c$ d; g1- n/ z8 K' X9 B7 P- L# I( v' C3 P
Dim Txt
1 R9 Z$ l3 r9 c; ~Txt = Assembly.GetTitle()( n! U. D1 u% S
Txt = Left(Txt,InStr(Txt," ")-1)+ {6 ~0 I8 B# l' s7 D
Txt = Assembly.Extension.CustomPropertyManager("").Set("NO.",Txt)
6 d7 a4 h1 K) M$ r" [+ F零件
: G8 ^# ^( ]! b6 g27 p- S' U9 Q8 c/ y+ `
Dim Txt
3 `, X, W5 y3 G# H/ ?0 _3 YTxt = part.GetTitle()
* ~6 e; r) W5 A# F* c/ n; s' T' iTxt = Right(Txt,Len(Txt)-InStr(Txt," "))8 B& F/ J; S9 E; G& V3 O, ~+ W
Txt = Left(Txt,InStr(Txt,".")-1)* ^- e( w# R5 D) _$ G  {3 Q3 p
Txt = Part.Extension.CustomPropertyManager("").Set("Name",Txt), T  k. V$ ^6 Z& O: L% g0 d
装配体
7 d! ?) x3 _- f5 B; O2  ?& K; o5 A; x7 V( G0 i
Dim Txt
7 Y  J! k6 u, L3 STxt = Assembly.GetTitle()
' e7 _4 g# P, [6 e6 o. `Txt = Right(Txt,Len(Txt)-InStr(Txt," "))- w- H0 F& P" ^  L& K% [
Txt = Left(Txt,InStr(Txt,".")-1)
# X  b& m) P* ]( t: k$ c0 B9 DTxt = Assembly.Extension.CustomPropertyManager("").Set("Name",Txt)
/ Z5 h" N% K& |0 B* K# L, W* ~! D' ?9 H; Z
/ _& X/ l- E# E/ l5 }4 a

$ |/ W7 ~( Q9 H& [& X0 t  `% L这是我调试好的内嵌式宏  `; t8 |6 p4 Y: A
我定的规则是图号名称间加个空格,以空格为来设定的; w. _3 I' f* R# U7 H
然后我设定的Name为名称,,NO.为图号,因为在06年的时候只有06版,那时候不支持中文的自定义名称,只好用这代替,一直沿用到现在
发表于 2014-6-17 16:05:31 | 显示全部楼层 来自: 中国四川乐山
如果有人感兴趣我就发我的模板
发表于 2014-6-17 16:57:59 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2014-6-17 17:29 编辑 % [* l) Q6 Y+ r3 R8 D) Y
l88i 发表于 2014-6-17 16:05 static/image/common/back.gif
1 A$ K5 H! D- W1 r6 R) i如果有人感兴趣我就发我的模板

- d+ F" U8 w  a% p& W: t5 _1 a5 C  A. F9 c% a* w1 Q6 t
自己按語句嵌入一次,得到錯誤的回應…
+ Y+ r9 i) M" T: A) O# O+ @6 Q6 f/ m: n6 T
能傳上來研究一下嗎?謝謝。
发表于 2014-6-18 13:42:18 | 显示全部楼层 来自: 中国四川乐山
内嵌式宏命令,自动分割文件名生成图号名称,分享模板1 Q/ T; C: r1 _0 A6 P+ C
http://www.3dportal.cn/discuz/fo ... &fromuid=302658
$ u( E8 P; k. a4 l: ]) z5 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 编辑
% `  Y: [- ?: w' f! R" e& g( K) z
arter 发表于 2014-6-16 10:18 static/image/common/back.gif
8 U3 A" k" q1 T' V& u上图是我自己以前使用的文件模板,是将文件名做代号用,自动提取文件名转为代号,完全关联,文件名更改、代 ...

. l. R( ~  R8 [不是属性链接设置也可以把文件名跟图代号关联吗,呵呵,软件只是为了工作设计提供方便,能方便快捷就好没必要走弯路显花招,把时间精神多花在针对专业中去吧
发表于 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.gif
7 H  y/ o' Z) B  Y7 f8 v, y零件
  H- p* r% @! N- w1+ N- O0 N: _1 B) d1 l
Dim Txt
/ }, r+ p- }0 p' v  m+ h
你好,用了你的模板,图号可以更新为空格键前面的字符,但是空格后面的名称不会更新,望指点
发表于 2016-1-29 10:51:25 | 显示全部楼层 来自: 中国北京
l88i 发表于 2014-6-17 16:05
% O( P$ M! i4 r如果有人感兴趣我就发我的模板
% r. A# g* h4 `! |% U' y9 e
你能把你模板发给我看看吗谢谢你啦。
发表于 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 )

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