QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
9天前
查看: 9096|回复: 25
收起左侧

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

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

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

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

x
用方程式自动提取“****_####.sldprt”中“_”前后内容做代号及名称
# \( H& y0 R9 r* e  v4 \% ?* \: b6 G
. L" P( Y6 o) ?0 ?0 W
2 r' z+ ]- c5 w/ e6 L; E3 V. s$ z以前有两个方法自动提取文件名中的部分内容做代号、名称,如下:
+ f7 A+ @/ V1 I8 r0 N) r, u8 O6 f( R4 S9 x+ P: ?7 @& P5 V
A、用方程式自动提取“****_####.sldprt”前9位做代号,后续内容做名称并填入属性栏的做法见“http://www.3dportal.cn/discuz/fo ... n=newthread&fid=131”。该方法不知道在Solidwork 2014版本里如何实现(方程式编辑方式不太一样),
) ]0 a5 R! d5 u/ e6 n
2 `& }4 S" g- P) A8 x; @  p9 [" g) ~3 q( M- d+ y% F, x
B、用宏自动提取“****_####.sldprt”部分内容做代号,名称并填入属性栏的做法见“http://www.3dportal.cn/discuz/fo ... wthread&tid=1250784”。具体见附件。, \& h7 b' a% V8 c

7 y/ @. v( `2 X% u  H. F感谢研究并分享A、B方法心得的各位坛友,非常感谢。
8 l3 |, ?0 b+ K; Z
* v: {0 S: ?; [个人认为,以上A、B各有改进空间:# E7 J! L  \- `( @  ?

9 Z. x, T. f- S1、对于A方法,如果文件代号位数不定,则操作困难或复杂;, M0 S+ D% l/ T! Y% m  g* z# }4 S
2、如果文件名更改,则需刷新宏文件,不能自动更新(也许个人知识有限)。: e. n& V: q8 A1 x6 U

' s8 O% w7 W& [, t如果将A、B方法结合起来,做成零件模板、部件模板,达到“用方程式自动提取“****_####.sldprt”中“_”前后内容做代号及名称".则完美了。不知有谁知道如何解决?请不吝指教。
# f0 `: j# w+ `& V
1 g. s; H: S& s: U/ \

图号名称分离.rar

9.83 KB, 下载次数: 140

 楼主| 发表于 2014-6-16 10:11:16 | 显示全部楼层 来自: 中国江苏扬州
这个问题我谈下我的感受,”图号名称分离.rar“我感觉使用效果很不错,感谢作者及辗转提供该附件的坛友,。在sw2014 sp3里能很好使用,其它版本应该更没有问题,但有个前提文件名称必须按照  “****_####.sldprt”来编制,及代号部分与零件名称部门之间必须有个下划线"_",否则不能实现提取功能。  }8 [$ u! [2 n  K9 N% ?+ ~
+ v# Z3 g  I  V4 H$ V

5 S% ], w* y' L/ c
1.JPG
 楼主| 发表于 2014-6-16 10:18:39 | 显示全部楼层 来自: 中国江苏扬州
上图是我自己以前使用的文件模板,是将文件名做代号用,自动提取文件名转为代号,完全关联,文件名更改、代号即自动更新,不需特意刷新,不会产生忘记刷新导致图号错误的问题。
; D/ Z8 a) q# L1 }+ h( `* \' U) r8 ?8 ?
' S8 k  W7 |8 X' R如果能将$PRP:"SW-file name"改为 : p) T0 c! \- l. w
$PRP:"提取"SW-file name"中_前部分"   
( {8 F& x* o8 i(上面为不正确的表达方式,个人水平有限,仅仅用来表达我之意思。)
+ _+ L& W9 `+ V9 h9 H; P' |+ C实现自动提取文件名中"_"之前部分做代号、之后部分做名称,实现自动更新,则美矣!
发表于 2014-6-16 13:28:18 | 显示全部楼层 来自: 中国四川乐山
可以实现了,我在模板里做了嵌入式宏命令,保存后刷新一次,就可以自动将文件名里的图号,名称提取出来做自定义的图号名称了
 楼主| 发表于 2014-6-16 13:39:49 | 显示全部楼层 来自: 中国江苏扬州
感谢回复5 J7 h. @1 j, {6 t7 h
. `6 h/ z; S8 x* I8 ~6 B, q0 C& P
宏提取文件名字符为何不成功
# x7 E( s: n8 I! N$ n8 G3 A2 Z$ g- Y/ j2 [6 A2 |4 S0 j  r" w# H
http://www.3dportal.cn/discuz/fo ... &fromuid=401891# O7 ~4 s# |( Z  I& [8 z
8 J3 v& ~% ^1 z, w# R2 d

2 t* ~5 |9 ~4 j0 ^上面帖子里,除了“图号名称分离.rar”用的顺利外,其它的都不行(我的是Solidworks2014 SP3),不过没关系,我对 “图号名称分离.rar”已经很满意了。但是美中不足的是,如果文件名改了,忘记了刷新宏命令按钮的话,会导致图号错误。3 {5 q+ ^/ [" L) x
发表于 2014-6-16 21:46:44 | 显示全部楼层 来自: 中国香港
arter 发表于 2014-6-16 13:39 static/image/common/back.gif/ p6 K0 @2 ?+ z! B: j
感谢回复
9 E8 s- z! r- Z0 p1 u5 m9 \1 B: |8 Q. F+ H% x
宏提取文件名字符为何不成功

" W& C! y9 _8 s% _9 P3 K寫多一個宏, 讓SW在每次切換文件時都自動執行指定的宏, 那就可以避免忘記按動按鈕." O0 J, r0 d. ?; K8 b8 b. @
) P- [  h( _) X
1.
# B5 c8 w0 ^- W在C:盤建立"Macros"的文件夾, 並複制宏"partitionTM.swp"於其中.+ {$ j/ K% C8 W
9 n0 U! l, L: Y9 ^, E; p
2.
; W+ _5 D5 }  d/ @新建一個宏, 儲存到"C:\Macros\AutoRun.swp"
6 i1 |, J. G1 w( T: [$ D' r, h2 L把以下代碼完全取代模塊的內容:4 I" k, Z; C: [* E6 ~
Public AutoRun As 类1! ^( W0 F$ T2 Q: I7 x, z+ b
Sub main()6 H2 G$ b, B8 @- b- b* x
Set AutoRun = New 类1) x9 {3 L  i. U
End Sub
8 k* ~# w# t% D再插入"類模塊", 名稱為"类1", 內容如下:6 w4 q6 G- x7 q! h4 n2 `/ F
Private WithEvents SwApp As SldWorks.SldWorks
$ v& \$ v" c  Z/ ^' i# QPrivate Sub Class_Initialize(), L( Z3 H1 ?) w: [$ c
Set SwApp = Application.SldWorks
, C0 ^  B1 j+ w6 ]- pEnd Sub) I. x  ]! Q/ y* s- E
Private Function SwApp_ActiveModelDocChangeNotify() As Long
; }- ~% [% t: _/ ^2 yDim runMacroError As Long* \- ^1 X; G/ W
SwApp.RunMacro2 "C:\Macros\partitionTM.swp", "partitionTM1", "main", 0, runMacroError4 M& K: Y- e' |+ u4 f
End Function. \, j8 b; y& B
儲存宏及關閉SW.
! M8 S$ c$ e5 W: ?# R  {8 S% ~6 m- \% `0 D( Q
3.9 D; ?& O3 L8 v6 Z( ?/ l" c
執行SW並一起載入宏的方法+ ^9 c, o# K% q6 p
"安裝位置\SLDWORKS.exe" /m "C:\Macros\AutoRun.swp"
 楼主| 发表于 2014-6-17 09:34:26 | 显示全部楼层 来自: 中国江苏扬州
本帖最后由 arter 于 2014-6-17 09:57 编辑 . |' M2 }, q# n1 H, S) t
1 b. [6 F$ k# J: T! t' p
非常荣幸能得到闷人老师的指点,让闷人老师费心了,,终于完美了。
发表于 2014-6-17 11:22:31 | 显示全部楼层 来自: 中国台湾
按悶大教程設置,成功了~~
发表于 2014-6-17 16:00:48 | 显示全部楼层 来自: 中国四川乐山
本帖最后由 l88i 于 2014-6-17 16:04 编辑 ' n" P) c7 a$ U4 {7 u4 z& H
* n- p( M& x7 M/ D; ~& n1 f( Y0 B0 y
零件' Z  k0 f: E3 D& E( G: L4 \( M
1
( ^( c3 @2 M5 O+ I  L" L) h$ uDim Txt9 j9 P5 r, H6 l1 I
Txt = part.GetTitle()* J' Z2 w. l$ [/ W6 O
Txt = Left(Txt,InStr(Txt," ")-1)& ?. ^  z8 ?" Q+ @( N* o
Txt = Part.Extension.CustomPropertyManager("").Set("NO.",Txt)
3 H- D6 Y4 d* I  V' g" L/ i装配体
6 H6 x. o$ U1 D( ^1 R1% A4 |0 Z7 |. J( S1 d; O9 \
Dim Txt
' `9 k+ `6 \) j7 u/ l7 f. W: d. FTxt = Assembly.GetTitle()9 A& F* H! g. V  a! w' k3 t) {! r
Txt = Left(Txt,InStr(Txt," ")-1)
2 q$ o# J- i2 n* J8 q7 R1 Y. DTxt = Assembly.Extension.CustomPropertyManager("").Set("NO.",Txt)- q8 O3 M) [' j+ |& M
零件8 \+ f' w. c2 G0 n+ ^; [
2; D0 G3 P/ ]: O6 {& k3 |1 `- X) h
Dim Txt
- X4 w% Z4 k' eTxt = part.GetTitle()
7 ], q: h+ o2 I. ^; `Txt = Right(Txt,Len(Txt)-InStr(Txt," "))% K) Q9 b8 x5 a
Txt = Left(Txt,InStr(Txt,".")-1)
# @/ y* a2 f; v' hTxt = Part.Extension.CustomPropertyManager("").Set("Name",Txt)' y+ ~9 U" X2 g* e
装配体
5 n3 C7 `+ z/ p. Y# z2$ e, q8 L) l1 l" k' N( L
Dim Txt
5 k7 v) S& U$ z6 X& y# BTxt = Assembly.GetTitle()% j+ P) z" z" G2 Z
Txt = Right(Txt,Len(Txt)-InStr(Txt," "))
( }; i* j7 q" j% dTxt = Left(Txt,InStr(Txt,".")-1)
( {. q) b4 c/ \Txt = Assembly.Extension.CustomPropertyManager("").Set("Name",Txt)
4 a$ A- n( k- B& v/ w6 M5 O* B4 h# f' N( A

( x' ~. y0 Q. V, [
; I! l2 o4 l: Q2 G' p8 I5 ?0 T这是我调试好的内嵌式宏
, ]' F) p  d5 l$ H我定的规则是图号名称间加个空格,以空格为来设定的! ^9 `' `! \9 Y' `
然后我设定的Name为名称,,NO.为图号,因为在06年的时候只有06版,那时候不支持中文的自定义名称,只好用这代替,一直沿用到现在
发表于 2014-6-17 16:05:31 | 显示全部楼层 来自: 中国四川乐山
如果有人感兴趣我就发我的模板
发表于 2014-6-17 16:57:59 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2014-6-17 17:29 编辑 7 |" q# o0 K. U* X5 B  z2 s
l88i 发表于 2014-6-17 16:05 static/image/common/back.gif
) W- g- z+ Y) g! k. B, v如果有人感兴趣我就发我的模板
& g  ~) q/ ^. {8 l

5 Z7 ~& n1 U5 e) ?自己按語句嵌入一次,得到錯誤的回應…
- {+ E8 c+ `% I3 W
" ~5 _5 s2 e! M+ v能傳上來研究一下嗎?謝謝。
发表于 2014-6-18 13:42:18 | 显示全部楼层 来自: 中国四川乐山
内嵌式宏命令,自动分割文件名生成图号名称,分享模板- }& c/ W4 P- e. M. e/ X) D
http://www.3dportal.cn/discuz/fo ... &fromuid=302658# p3 |" O" m& t
发表于 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 编辑
: Y8 H" Y5 p7 q5 ~' D, w
arter 发表于 2014-6-16 10:18 static/image/common/back.gif! t( p5 k% r$ \- L+ u1 V& D
上图是我自己以前使用的文件模板,是将文件名做代号用,自动提取文件名转为代号,完全关联,文件名更改、代 ...
! H- f8 u. x# Z0 g7 \1 T- b
不是属性链接设置也可以把文件名跟图代号关联吗,呵呵,软件只是为了工作设计提供方便,能方便快捷就好没必要走弯路显花招,把时间精神多花在针对专业中去吧
发表于 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.gif8 ~/ C, g6 H' O' u$ z. {
零件
4 V2 U' R; ?  y/ ]1
* M# s: Y+ w6 v/ y3 X; QDim Txt
8 k/ l8 q0 _+ \; O- C% i) w
你好,用了你的模板,图号可以更新为空格键前面的字符,但是空格后面的名称不会更新,望指点
发表于 2016-1-29 10:51:25 | 显示全部楼层 来自: 中国北京
l88i 发表于 2014-6-17 16:05. I  A$ Q( W# p2 {: x7 \3 Z
如果有人感兴趣我就发我的模板

. `: k1 w( }5 ]$ h, L0 B$ x你能把你模板发给我看看吗谢谢你啦。
发表于 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 )

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