QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
用方程式自动提取“****_####.sldprt”中“_”前后内容做代号及名称
- h+ T: G2 H; {* z- M3 \- Q; \: G* Q) ]% C3 M/ d
+ |* q4 x: S% j6 }! \+ B! j
以前有两个方法自动提取文件名中的部分内容做代号、名称,如下:! u7 s. n2 R0 n. [
1 K* Y; o- E" u3 V# H4 s) I' T
A、用方程式自动提取“****_####.sldprt”前9位做代号,后续内容做名称并填入属性栏的做法见“http://www.3dportal.cn/discuz/fo ... n=newthread&fid=131”。该方法不知道在Solidwork 2014版本里如何实现(方程式编辑方式不太一样),
2 Z3 G4 R; Z* k3 G; ?) H# Z- U% ^* }* U( o  B2 D7 p

. O6 ~: ^, B8 v4 x+ hB、用宏自动提取“****_####.sldprt”部分内容做代号,名称并填入属性栏的做法见“http://www.3dportal.cn/discuz/fo ... wthread&tid=1250784”。具体见附件。
) S9 }, w# }- D4 N9 s0 P+ u3 G3 c+ k% V
感谢研究并分享A、B方法心得的各位坛友,非常感谢。; @1 a. G' d# s5 ~, F7 s& V

8 h# b& j# Z8 B; n& w' J, v) }个人认为,以上A、B各有改进空间:! E5 C5 R% s' p

# f6 [0 T  L& f6 s9 |1 O# J1、对于A方法,如果文件代号位数不定,则操作困难或复杂;& k9 R8 m: J+ j! d
2、如果文件名更改,则需刷新宏文件,不能自动更新(也许个人知识有限)。
" Y1 c. V: C' V- q1 f, ]* f8 ^9 D: i" @: a, {. O+ K8 |' G
如果将A、B方法结合起来,做成零件模板、部件模板,达到“用方程式自动提取“****_####.sldprt”中“_”前后内容做代号及名称".则完美了。不知有谁知道如何解决?请不吝指教。
. s9 F1 X, h0 c
& O+ r6 J' n6 \7 U0 Q  i

图号名称分离.rar

9.83 KB, 下载次数: 140

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

' @( x7 z4 S2 I8 o+ o7 a$ ~+ _
2 U7 Y4 b+ [1 Q. J# b0 f
1.JPG
 楼主| 发表于 2014-6-16 10:18:39 | 显示全部楼层 来自: 中国江苏扬州
上图是我自己以前使用的文件模板,是将文件名做代号用,自动提取文件名转为代号,完全关联,文件名更改、代号即自动更新,不需特意刷新,不会产生忘记刷新导致图号错误的问题。
6 P4 B" w4 B- b0 ?
" a0 k8 @# _2 P如果能将$PRP:"SW-file name"改为 : H; U$ F6 a* e( t% w
$PRP:"提取"SW-file name"中_前部分"   * _9 c  h) Y5 u
(上面为不正确的表达方式,个人水平有限,仅仅用来表达我之意思。)
9 u& i% ]; _0 T* V实现自动提取文件名中"_"之前部分做代号、之后部分做名称,实现自动更新,则美矣!
发表于 2014-6-16 13:28:18 | 显示全部楼层 来自: 中国四川乐山
可以实现了,我在模板里做了嵌入式宏命令,保存后刷新一次,就可以自动将文件名里的图号,名称提取出来做自定义的图号名称了
 楼主| 发表于 2014-6-16 13:39:49 | 显示全部楼层 来自: 中国江苏扬州
感谢回复
$ V( s6 c( I; m. `+ c1 m
! W: h/ h6 U3 M. d1 L宏提取文件名字符为何不成功0 s. R$ b$ z) R# f- |

; \4 W$ I* e( {) e& \' Y* phttp://www.3dportal.cn/discuz/fo ... &fromuid=401891; {, L) D9 W7 M
6 B% v5 @) L- k7 N

" t: B- [# ^' r9 r: y上面帖子里,除了“图号名称分离.rar”用的顺利外,其它的都不行(我的是Solidworks2014 SP3),不过没关系,我对 “图号名称分离.rar”已经很满意了。但是美中不足的是,如果文件名改了,忘记了刷新宏命令按钮的话,会导致图号错误。
& b9 J4 d, o, P! _, I
发表于 2014-6-16 21:46:44 | 显示全部楼层 来自: 中国香港
arter 发表于 2014-6-16 13:39 static/image/common/back.gif# V* W3 p% |; o. v
感谢回复
7 N9 \/ ]8 g8 l, w2 h8 l& o) p5 n/ F" {: Y5 i! @1 R# {: V
宏提取文件名字符为何不成功

  W: M- `' j& p- g$ g2 K寫多一個宏, 讓SW在每次切換文件時都自動執行指定的宏, 那就可以避免忘記按動按鈕.
1 y1 f' a# @# S& |: J3 h* @! a- t8 X1 E1 ]- H
1.
) n! ]+ W: S: V9 [在C:盤建立"Macros"的文件夾, 並複制宏"partitionTM.swp"於其中.; _; l1 Q# n+ b6 u2 T$ k" {1 G! k

( a" v) [' P5 P9 R2.5 S% x' N+ q, V& a  e! R
新建一個宏, 儲存到"C:\Macros\AutoRun.swp"( b; T3 m! u3 V6 o
把以下代碼完全取代模塊的內容:$ i  {- E4 \/ h4 f8 W+ q5 Q& c% G( Q
Public AutoRun As 类1- c6 I) ?$ i- @) A
Sub main()5 g8 q4 w" d7 r3 e( @$ P
Set AutoRun = New 类1
' K6 j) }0 w* @7 K  g" V3 xEnd Sub' }& _5 u, m+ W) `0 m$ t+ k) ?/ O; p
再插入"類模塊", 名稱為"类1", 內容如下:
7 L5 i% q" I3 C9 N. BPrivate WithEvents SwApp As SldWorks.SldWorks2 \8 A% |" C# V: r$ y
Private Sub Class_Initialize()* C5 K+ P  X: l5 v9 y( j# M0 ]
Set SwApp = Application.SldWorks
& {6 B9 {; F7 d" _End Sub- w* T2 p: t  D2 D
Private Function SwApp_ActiveModelDocChangeNotify() As Long
; D5 M1 v8 i" ~  LDim runMacroError As Long7 l4 l7 H. \- W5 D# J
SwApp.RunMacro2 "C:\Macros\partitionTM.swp", "partitionTM1", "main", 0, runMacroError0 d. a, B# P+ t0 {
End Function" q9 h( f1 P& C* S5 L7 y+ D/ s; x
儲存宏及關閉SW.
5 d! c) H3 L* f% z) c' i$ X% ~- w7 f! s" c) ~  A
3.% I. U" h+ ?/ L4 e% X: n) T
執行SW並一起載入宏的方法, e( ^$ s" n0 {1 T
"安裝位置\SLDWORKS.exe" /m "C:\Macros\AutoRun.swp"
 楼主| 发表于 2014-6-17 09:34:26 | 显示全部楼层 来自: 中国江苏扬州
本帖最后由 arter 于 2014-6-17 09:57 编辑 9 q6 l1 @' ~1 X/ _) z" M3 `: ~
% s" A  V4 T! R) Y  q9 s
非常荣幸能得到闷人老师的指点,让闷人老师费心了,,终于完美了。
发表于 2014-6-17 11:22:31 | 显示全部楼层 来自: 中国台湾
按悶大教程設置,成功了~~
发表于 2014-6-17 16:00:48 | 显示全部楼层 来自: 中国四川乐山
本帖最后由 l88i 于 2014-6-17 16:04 编辑 ( l; d. C: `: M
' J# ?3 V+ c1 U2 f8 m, }: ], t6 _7 Z
零件5 z* j) g0 u- r. V1 u7 ]  e' }
16 Z( l8 C0 M0 G1 t" g
Dim Txt
% a4 H% ?7 B! d, v# H6 jTxt = part.GetTitle()7 [: W5 R9 f' J6 d$ O+ ~$ O
Txt = Left(Txt,InStr(Txt," ")-1)2 F  Q( r2 Y3 b' Y7 O
Txt = Part.Extension.CustomPropertyManager("").Set("NO.",Txt)/ w: Q+ W, w' |4 B
装配体
0 t3 Q7 q/ {: v' S, r" j' U/ k13 V' X# i/ O# X" W2 F
Dim Txt7 c: M! X' s7 `" A. K: n
Txt = Assembly.GetTitle()
5 Z$ e0 Z/ k# \% j* z9 ITxt = Left(Txt,InStr(Txt," ")-1)% n, z4 [3 W4 [5 }+ u& l# N
Txt = Assembly.Extension.CustomPropertyManager("").Set("NO.",Txt)
# I) w& D5 R* p# q: z) Y零件2 `% T% A6 v+ [! G
26 x" K) D1 a2 ]% l
Dim Txt, I, m' n" C. g5 t0 Z
Txt = part.GetTitle()
+ \' {4 \6 E5 W$ X+ PTxt = Right(Txt,Len(Txt)-InStr(Txt," "))6 T- p  N: s% p6 h" D& ?4 w
Txt = Left(Txt,InStr(Txt,".")-1)8 `( p0 e/ D7 Z; Q% x! l" r
Txt = Part.Extension.CustomPropertyManager("").Set("Name",Txt)
- J/ U$ u" X6 g; R装配体
* ?. ?2 K0 H  m) f* q2
& T4 L. x2 {0 |# qDim Txt1 B: y3 }& l* t; |* z
Txt = Assembly.GetTitle()
+ c* a# f+ k6 f8 W& UTxt = Right(Txt,Len(Txt)-InStr(Txt," "))
. a3 S% i2 k) b% zTxt = Left(Txt,InStr(Txt,".")-1)
! d/ ^! K# V3 s! ?: K) o2 A" lTxt = Assembly.Extension.CustomPropertyManager("").Set("Name",Txt)
8 z  w" r9 `0 k, s6 U" K
' q3 s5 }# U+ ?- N# |
' Q2 E4 y2 U, K% R5 k8 `8 B% ]8 i$ n# l3 v$ a
这是我调试好的内嵌式宏
% h0 ^! h" X3 [2 k我定的规则是图号名称间加个空格,以空格为来设定的  b: H& j1 c7 A: E0 y8 n- k
然后我设定的Name为名称,,NO.为图号,因为在06年的时候只有06版,那时候不支持中文的自定义名称,只好用这代替,一直沿用到现在
发表于 2014-6-17 16:05:31 | 显示全部楼层 来自: 中国四川乐山
如果有人感兴趣我就发我的模板
发表于 2014-6-17 16:57:59 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2014-6-17 17:29 编辑 # ?# p  m2 t" q; B2 g) [
l88i 发表于 2014-6-17 16:05 static/image/common/back.gif! l# z% y% o: i% Q. P' y
如果有人感兴趣我就发我的模板
# \- W" D$ G" F. q

1 E( x. {' e! f+ V% u7 R自己按語句嵌入一次,得到錯誤的回應…
! Z9 z3 N5 Q- r  I0 h: l. k& v$ |1 {% Z; m& Z; q0 N9 G
能傳上來研究一下嗎?謝謝。
发表于 2014-6-18 13:42:18 | 显示全部楼层 来自: 中国四川乐山
内嵌式宏命令,自动分割文件名生成图号名称,分享模板9 U) a8 X$ |1 ]  U0 ~6 ^
http://www.3dportal.cn/discuz/fo ... &fromuid=3026585 {5 ^2 q/ e. f% s# ~3 X8 _7 n
发表于 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 编辑
$ o' b. `  p! ~) K* y5 k
arter 发表于 2014-6-16 10:18 static/image/common/back.gif
  E6 A/ U0 B9 V2 [9 \上图是我自己以前使用的文件模板,是将文件名做代号用,自动提取文件名转为代号,完全关联,文件名更改、代 ...

" i/ l8 a, L( l: h+ X3 T5 x$ s不是属性链接设置也可以把文件名跟图代号关联吗,呵呵,软件只是为了工作设计提供方便,能方便快捷就好没必要走弯路显花招,把时间精神多花在针对专业中去吧
发表于 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.gif0 u) ]4 o$ T/ d
零件
9 \- Y0 [9 M8 z, Q9 Q$ @* ~3 f1
1 a/ @5 Z4 {. h7 xDim Txt

' X( _! V) t  f5 o( U) r你好,用了你的模板,图号可以更新为空格键前面的字符,但是空格后面的名称不会更新,望指点
发表于 2016-1-29 10:51:25 | 显示全部楼层 来自: 中国北京
l88i 发表于 2014-6-17 16:05* j9 @* k2 p# j9 Z; X5 ~$ _/ T
如果有人感兴趣我就发我的模板

  D5 P, x5 b/ f$ 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 )

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