|
4#

樓主 |
發(fā)表于 2021-1-5 10:37:18
|
只看該作者
9 X3 Y: o2 L! C3 i. D大神,,你好,剛才看了你在宏中提取名稱的視頻,。
3 n8 J) p! r k. x; y以下是圖號(hào)名稱分離的宏中一段代碼:
) ^' X# ]( L& ], ` t( k7 x. b" s3 h2 y) j9 e D
c = swApp.ActiveDoc.GetTitle() '零件名' a2 y/ e" c8 T3 F# {
想在這加if判斷c中字符串第一個(gè)字符是漢字或者不是字母數(shù)字,,但是這個(gè)和C語言不一樣,不太會(huì),,也不知道solidworks中宏的語言是哪種,。
- @ g$ K+ H+ C( N4 m9 V望大神指教或者之前填上吧。萬分感謝,。
, E& k5 ^" z+ {5 `; ^0 p6 i0 A2 S" `
' H) ]4 Y% O; q4 Z5 R" G
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
' a, N1 s6 y- E/ A" D- eblnretval = Part.DeleteCustomInfo2("", "代號(hào)")' m1 X( R0 b, C5 y3 x* z
blnretval = Part.DeleteCustomInfo2("", "名稱")# z, @& Q J+ D$ A2 S
a = InStr(c, " ") - 1 '重點(diǎn):分隔標(biāo)識(shí)符,,這里是一個(gè)空格
4 i9 O) I, T+ t% F2 `8 \( |+ ^If a > 0 Then9 J% Y6 j1 q! L* y; u
k = Left(c, a)
: B* g0 p$ j1 r. u* G5 N t = Left(LTrim(e), 3)
! c8 R+ n- k- ^4 O: K$ y5 l If t = "GBT" Then
- z* P# X- o! i6 i- i* B e = "GB/T" + Mid(k, 4)
* @$ F7 z }3 n. R Else- @, N6 z* _3 x) [' z% w9 l
e = k5 `/ G3 J7 l9 m! a k, Z
End If6 [& N) f& F6 ^
b = Mid(c, a + 2)/ i4 N ~6 N9 B [
t = Right(c, 7)9 `6 d# H* E7 s/ H
If t = ".SLDPRT" Or t = ".SLDASM" Or t = ".sldprt" Or t = ".sldasm" Then( A! F7 a* h) U/ Q. \
j = Len(b) - 7 '消除后綴(區(qū)分大小寫共4種)
' D0 _& b$ f- [: X* T: X Else
! b6 H2 g7 u4 [# p8 a" a% y j = Len(b)
- }6 {- b/ E3 x$ A' u End If# j3 H# r/ Q! ~& [- d
m = Left(b, j)
! |& L `6 z2 _- T2 x: j3 ^- Q' r1 _' QEnd If
: v. }: }+ `% H4 |' A; B: P7 }, Pblnretval = Part.AddCustomInfo3("", "代號(hào)", swCustomInfoText, e) '代號(hào). {6 }6 b0 k' d8 }$ [' B
blnretval = Part.AddCustomInfo3("", "名稱", swCustomInfoText, m) '名稱4 w: ~) O* l, R0 |6 G* l3 Y
'blnretval = Part.AddCustomInfo3("", "圖號(hào)", swCustomInfoText, e) '圖號(hào)
3 {& M. H# [: Z( K( ?' g% K* h3 O
|
|