|
4#
楼主
|
发表于 2021-1-5 10:37:18
|
只看该作者
0 C' j" E+ H" G7 ~2 F& R. V 大神,你好,刚才看了你在宏中提取名称的视频。; k5 m% M' k7 c" U4 E( P 以下是图号名称分离的宏中一段代码: 0 w, i, ?$ n5 V4 v j ! f# Q; e. X! U# J$ D$ Vc = swApp.ActiveDoc.GetTitle() '零件名 . T4 a' v9 h& c8 [1 N想在这加if判断c中字符串第一个字符是汉字或者不是字母数字,但是这个和C语言不一样,不太会,也不知道solidworks中宏的语言是哪种。; E- m T) O. |0 }- x# p 望大神指教或者之前填上吧。万分感谢。 * O) i6 }% F2 W3 T! {* }; N4 n/ |) y, V) O! I+ ^- f
5 e+ A; O! F5 G5 s+ {% p) Estrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34) 7 `, T2 `$ J) t5 kblnretval = Part.DeleteCustomInfo2("", "代号") $ \, u. o( d h% L, A1 `blnretval = Part.DeleteCustomInfo2("", "名称") ! C- ?6 }$ e( w# N$ w+ Ma = InStr(c, " ") - 1 '重点:分隔标识符,这里是一个空格 9 s2 N d! g2 l: P( Q7 S- E& j& kIf a > 0 Then ! V4 `0 b. U) H; V! M8 Xk = Left(c, a)# k: Z G' |, ^, P# Y: S& \ t = Left(LTrim(e), 3)7 T8 f- ^+ [1 n4 u If t = "GBT" Then# e4 S1 N1 Z, `5 A e = "GB/T" + Mid(k, 4). Y. s2 V) P. t7 m Else + @8 H9 ~) Y" E' b, S/ V8 le = k $ x3 O" b+ y) @End If$ m* ~1 t6 `5 h- Z b = Mid(c, a + 2) % y; F! ]% e# z0 J8 @8 E* xt = Right(c, 7)1 i6 t9 A. V3 @; g, v If t = ".SLDPRT" Or t = ".SLDASM" Or t = ".sldprt" Or t = ".sldasm" Then/ x' E7 ^2 R$ U& }0 y! I7 C! d: ? j = Len(b) - 7 '消除后缀(区分大小写共4种) / W5 w/ c: e! Y3 gElse ! _/ f3 q. C. \ Gj = Len(b) ' ]9 ?8 |) d+ g+ i7 u; uEnd If4 Y" T. P; m5 P* h2 r m = Left(b, j) & _; l* J" B4 f1 gEnd If & t2 F/ I8 Z$ }0 r w4 m- }: oblnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e) '代号& h% d1 @" W6 I2 |, s* q6 R) |( X9 k blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m) '名称" T, V1 p$ |$ T! l0 Z+ h 'blnretval = Part.AddCustomInfo3("", "图号", swCustomInfoText, e) '图号& ?/ f. g5 K8 g ! Z# B3 a6 M+ S$ k; Y. s7 w
|
|