QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
用方程式自动提取“****_####.sldprt”中“_”前后内容做代号及名称
. o+ y! h2 r+ I' s3 i- o
/ a+ q7 Z/ j& n( f
8 p0 `/ T; y4 v以前有两个方法自动提取文件名中的部分内容做代号、名称,如下:
% _( k: i9 [2 t8 o( }+ k- o. ?8 N* n
' ?& u+ }; F: U7 o2 m* L" @A、用方程式自动提取“****_####.sldprt”前9位做代号,后续内容做名称并填入属性栏的做法见“http://www.3dportal.cn/discuz/fo ... n=newthread&fid=131”。该方法不知道在Solidwork 2014版本里如何实现(方程式编辑方式不太一样),
" j# o; w" K7 T# ?# V- I: P0 A
9 m9 v% L9 {' o7 o2 u$ p: V3 c, a$ o1 }0 m" c, @
B、用宏自动提取“****_####.sldprt”部分内容做代号,名称并填入属性栏的做法见“http://www.3dportal.cn/discuz/fo ... wthread&tid=1250784”。具体见附件。
. [7 _% \9 S* z2 e
" z- @( g* J+ F感谢研究并分享A、B方法心得的各位坛友,非常感谢。
) ~% W5 ^  `) F/ _( i5 _# B( _9 g6 a* c/ g& W1 w7 ~6 G
个人认为,以上A、B各有改进空间:& h; I! a/ c; Q! w5 t

5 K7 l6 n- z; E1、对于A方法,如果文件代号位数不定,则操作困难或复杂;+ R3 L2 r+ G+ L  d
2、如果文件名更改,则需刷新宏文件,不能自动更新(也许个人知识有限)。3 V; y/ A  d+ k
- X* Q& r2 a) ~4 N5 E2 N+ Z
如果将A、B方法结合起来,做成零件模板、部件模板,达到“用方程式自动提取“****_####.sldprt”中“_”前后内容做代号及名称".则完美了。不知有谁知道如何解决?请不吝指教。- [6 G1 n, y0 M, g
7 T0 b$ y9 y! L" v2 l: p- P

图号名称分离.rar

9.83 KB, 下载次数: 140

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

1 \0 U6 y7 L5 ]8 E2 ~& c  {. z
0 r- K8 J$ \& w6 s/ V% K
1.JPG
 楼主| 发表于 2014-6-16 10:18:39 | 显示全部楼层 来自: 中国江苏扬州
上图是我自己以前使用的文件模板,是将文件名做代号用,自动提取文件名转为代号,完全关联,文件名更改、代号即自动更新,不需特意刷新,不会产生忘记刷新导致图号错误的问题。
3 Q2 f& i$ L7 x7 c5 t; v
( P: C! B% W, E8 I+ z: z如果能将$PRP:"SW-file name"改为 - L# k' b& K( K& x
$PRP:"提取"SW-file name"中_前部分"   
) a  V9 |$ H8 \+ D(上面为不正确的表达方式,个人水平有限,仅仅用来表达我之意思。)
! p/ U" l- P5 V9 I实现自动提取文件名中"_"之前部分做代号、之后部分做名称,实现自动更新,则美矣!
发表于 2014-6-16 13:28:18 | 显示全部楼层 来自: 中国四川乐山
可以实现了,我在模板里做了嵌入式宏命令,保存后刷新一次,就可以自动将文件名里的图号,名称提取出来做自定义的图号名称了
 楼主| 发表于 2014-6-16 13:39:49 | 显示全部楼层 来自: 中国江苏扬州
感谢回复* B. J9 U) T  b0 M

9 j# G6 q2 w. G6 \! G1 x宏提取文件名字符为何不成功: C8 d9 M" W9 X" S9 ?3 m7 b
0 x9 Z: s) l* G: ~) `/ e
http://www.3dportal.cn/discuz/fo ... &fromuid=401891
3 w' _, n7 U/ I# _5 l( O: R: E- V( |; k+ ~8 U

: M' W! N% Z* }6 x上面帖子里,除了“图号名称分离.rar”用的顺利外,其它的都不行(我的是Solidworks2014 SP3),不过没关系,我对 “图号名称分离.rar”已经很满意了。但是美中不足的是,如果文件名改了,忘记了刷新宏命令按钮的话,会导致图号错误。
# u' K4 A- [9 q' x
发表于 2014-6-16 21:46:44 | 显示全部楼层 来自: 中国香港
arter 发表于 2014-6-16 13:39 static/image/common/back.gif
) i- [' L% p, d5 X) X* @& U感谢回复0 _3 I+ \( Q5 Y7 |3 L

5 u1 y) b! y- D( _9 U/ F7 c2 [9 s* `宏提取文件名字符为何不成功

4 Q. Q! F; f* V1 W9 h寫多一個宏, 讓SW在每次切換文件時都自動執行指定的宏, 那就可以避免忘記按動按鈕.
4 x; [- `$ F+ W5 N
6 X5 U( Q+ o1 z9 P& e; t6 ~' ]1.3 @4 g) o2 ~* \! H5 [
在C:盤建立"Macros"的文件夾, 並複制宏"partitionTM.swp"於其中.
2 [4 r/ C5 E+ X
+ S. ]- [- w% g6 }3 J2.% Q0 D; I, X0 I" G% _
新建一個宏, 儲存到"C:\Macros\AutoRun.swp"
' r$ \( N1 W7 _0 Q2 G* k把以下代碼完全取代模塊的內容:
. @! g0 {" x& B, y6 yPublic AutoRun As 类1
# X# |0 [. Y2 A1 [7 bSub main()
3 c1 g5 a* ?: tSet AutoRun = New 类17 T" U1 m7 u6 S0 t/ d" j, R( ?
End Sub
) p; N( [! H7 _% e再插入"類模塊", 名稱為"类1", 內容如下:+ Z: K6 Z, U2 P- H$ Y
Private WithEvents SwApp As SldWorks.SldWorks9 o. d5 B$ s, Z
Private Sub Class_Initialize()
4 e& T6 h) Y0 X+ b0 |2 k' ^& BSet SwApp = Application.SldWorks
1 D0 q' v* M" J8 G" ?9 N# S, lEnd Sub
6 F& [$ f9 S( U" j5 o; W+ n  EPrivate Function SwApp_ActiveModelDocChangeNotify() As Long, o0 ~1 [/ z- q  g
Dim runMacroError As Long& a  N  P8 K' w7 L+ b/ q4 p, i, j
SwApp.RunMacro2 "C:\Macros\partitionTM.swp", "partitionTM1", "main", 0, runMacroError
! r( D% O; ]0 vEnd Function2 \7 @+ p, u% c3 m3 U) V
儲存宏及關閉SW.
2 k2 L! ~% e5 d1 E; `1 n4 O% A' c; C7 O; v3 L/ U' L
3.
% \7 A! `, s8 m" I% V$ I執行SW並一起載入宏的方法% h: `2 {" f: w9 q7 T1 \
"安裝位置\SLDWORKS.exe" /m "C:\Macros\AutoRun.swp"
 楼主| 发表于 2014-6-17 09:34:26 | 显示全部楼层 来自: 中国江苏扬州
本帖最后由 arter 于 2014-6-17 09:57 编辑 % m/ A4 m8 Z4 D) L( Q

) {- t/ q) E6 a4 q+ E! q5 h' v非常荣幸能得到闷人老师的指点,让闷人老师费心了,,终于完美了。
发表于 2014-6-17 11:22:31 | 显示全部楼层 来自: 中国台湾
按悶大教程設置,成功了~~
发表于 2014-6-17 16:00:48 | 显示全部楼层 来自: 中国四川乐山
本帖最后由 l88i 于 2014-6-17 16:04 编辑
, f/ Y2 x- s& }7 @7 u
0 O% g( g' {) z- k2 c2 G' [* U8 C零件* n9 L6 M4 J4 r0 O( ?
1
6 q* C; k+ m8 Y2 QDim Txt0 S" ~- k$ |0 Z- H% s5 e+ S8 l5 n' i* v
Txt = part.GetTitle()
8 K$ g5 q3 i3 H" m$ r+ P. f- RTxt = Left(Txt,InStr(Txt," ")-1)7 p4 _8 }0 v) ]4 Q& G1 g# m
Txt = Part.Extension.CustomPropertyManager("").Set("NO.",Txt); l  |, Q; b, c
装配体
2 i6 [2 M& J% [% m2 Y) k" Y1
) g0 o. {# q0 F0 o. gDim Txt
+ q1 R: I2 x3 ?Txt = Assembly.GetTitle()
: N% e8 |3 Z. z4 m6 p; z* i- PTxt = Left(Txt,InStr(Txt," ")-1)) ^2 }3 f, P) {! j  \3 n: j
Txt = Assembly.Extension.CustomPropertyManager("").Set("NO.",Txt)
/ b9 R$ f  X1 S" ?9 w% T零件" g. L" Q6 h5 M5 h* F7 h
2: c, x1 d, U! g) Z6 F  d: k5 P
Dim Txt) ?/ _% b5 F# `3 A9 z0 m4 N& x5 W) R( v
Txt = part.GetTitle()- [$ j1 k' m, H
Txt = Right(Txt,Len(Txt)-InStr(Txt," "))/ n* P$ @$ H2 ]5 X) V5 j
Txt = Left(Txt,InStr(Txt,".")-1)
/ h" ?& r+ r3 q# t- G5 j9 _Txt = Part.Extension.CustomPropertyManager("").Set("Name",Txt)! k/ E9 d: d4 Q: I, W
装配体. `. y3 x4 ^4 t. r
2* \0 e& [! B- @$ N) a9 g7 q
Dim Txt1 u# {. `+ q5 T# H
Txt = Assembly.GetTitle()( C; n9 m% ]9 x' C* h1 ~* x" _
Txt = Right(Txt,Len(Txt)-InStr(Txt," "))
( S) j6 ]+ V# xTxt = Left(Txt,InStr(Txt,".")-1)
0 e+ p& O( C4 p& r+ K* s% b) TTxt = Assembly.Extension.CustomPropertyManager("").Set("Name",Txt): _5 o8 X! |* v
5 e' J0 g1 H( C: S

' |8 z1 }' q+ `$ B9 F3 `
2 l+ h. d2 |( D$ L! p# e这是我调试好的内嵌式宏3 R$ {% K+ u9 s- K# D
我定的规则是图号名称间加个空格,以空格为来设定的
; D, |, l$ A& \- D) S# x然后我设定的Name为名称,,NO.为图号,因为在06年的时候只有06版,那时候不支持中文的自定义名称,只好用这代替,一直沿用到现在
发表于 2014-6-17 16:05:31 | 显示全部楼层 来自: 中国四川乐山
如果有人感兴趣我就发我的模板
发表于 2014-6-17 16:57:59 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2014-6-17 17:29 编辑 2 a) ?% b0 ~* l0 I! N3 }, K' r- D- M
l88i 发表于 2014-6-17 16:05 static/image/common/back.gif
$ ^5 A+ S% r# x9 v# q1 ^如果有人感兴趣我就发我的模板
0 w9 G" [- d& S+ v) Y
. M% u2 H5 p3 k5 _2 E
自己按語句嵌入一次,得到錯誤的回應…
; K1 z  v% q) T4 T3 l% C
1 p) v6 Y1 x7 b2 {能傳上來研究一下嗎?謝謝。
发表于 2014-6-18 13:42:18 | 显示全部楼层 来自: 中国四川乐山
内嵌式宏命令,自动分割文件名生成图号名称,分享模板5 a& }1 Y: C! {7 U
http://www.3dportal.cn/discuz/fo ... &fromuid=302658
1 L1 Z( c" A: j  Z$ F; h. G. P9 h
发表于 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 编辑 ' m! v5 F  ~" w8 t: N/ Q  g- k4 ^: M
arter 发表于 2014-6-16 10:18 static/image/common/back.gif
9 q2 b# h* Q* n, p9 x8 Q上图是我自己以前使用的文件模板,是将文件名做代号用,自动提取文件名转为代号,完全关联,文件名更改、代 ...
, z9 B$ l0 H; w" [: _( p1 j
不是属性链接设置也可以把文件名跟图代号关联吗,呵呵,软件只是为了工作设计提供方便,能方便快捷就好没必要走弯路显花招,把时间精神多花在针对专业中去吧
发表于 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/ G: Z. l4 I* ^: D" M
零件
  M+ G& U8 Y9 x5 O8 z1, |5 A3 f) l- h% a% Y1 G
Dim Txt
7 O4 g/ u3 ~6 f4 A9 Y8 i
你好,用了你的模板,图号可以更新为空格键前面的字符,但是空格后面的名称不会更新,望指点
发表于 2016-1-29 10:51:25 | 显示全部楼层 来自: 中国北京
l88i 发表于 2014-6-17 16:05
( K( g1 R) v+ s9 s3 P, ^/ b如果有人感兴趣我就发我的模板

+ k" P/ v3 g( F你能把你模板发给我看看吗谢谢你啦。
发表于 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 )

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