久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

機械社區

標題: solidworks中利用宏名稱檢測,希望大神解答 [打印本頁]

作者: foxlord    時間: 2021-1-5 10:09
標題: solidworks中利用宏名稱檢測,希望大神解答
solidworks用了圖號名稱分離,先有個問題,標準件一般是開頭是中文,怎么編輯宏命令檢測到中文跳出程序呢?求大神解惑。比如:零件名稱: 12354 中文   零件屬性中圖號:12354  名稱:中文;零件名稱是標準彈墊 12345   當檢測到這個零件后不進行圖號名稱分離。
# J# t6 V  k# y  @% ~: ?! q
作者: foxlord    時間: 2021-1-5 10:16
solidworks中宏是類似哪種語言呢?VB?Oracle?C++?
作者: 魍者歸來    時間: 2021-1-5 10:20
加個if語句判斷一下
% n) M2 |. P6 H  J
作者: foxlord    時間: 2021-1-5 10:37
魍者歸來 發表于 2021-1-5 10:203 W* Q# [4 a* c3 _( j9 \
加個if語句判斷一下

2 C' U. q  B: x大神,你好,剛才看了你在宏中提取名稱的視頻。# I4 E* s4 ?5 x& @& q* H" C1 l
以下是圖號名稱分離的宏中一段代碼:
2 g9 I/ `9 p' t7 V8 ]4 l) ?* n0 I* F. d/ I# v( N1 g9 w
c = swApp.ActiveDoc.GetTitle() '零件名) k5 V' E9 Y: n. G0 l# S/ G" z
想在這加if判斷c中字符串第一個字符是漢字或者不是字母數字,但是這個和C語言不一樣,不太會,也不知道solidworks中宏的語言是哪種。
' x" b) t: ?9 |望大神指教或者之前填上吧。萬分感謝。; l; _2 Q- P- L) p

) g1 ]8 G% h" G! i" h& i
6 s! i0 K! e' d: o) M  z
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)( g+ W; \7 A/ Y) P0 F; k4 \
blnretval = Part.DeleteCustomInfo2("", "代號")
" J0 T9 y+ w0 |/ t/ h0 Tblnretval = Part.DeleteCustomInfo2("", "名稱")
" r2 R- r6 A2 ]& g. I6 I2 ]; xa = InStr(c, " ") - 1      '重點:分隔標識符,這里是一個空格% F% `. q" k2 q0 Z
If a > 0 Then9 Z1 a& Q, A4 e; E/ `8 m
    k = Left(c, a); Y" o& X( l1 E
    t = Left(LTrim(e), 3)) Y# ^- k+ I8 h( B1 _2 j+ n
    If t = "GBT" Then9 B* D0 m$ M" h3 @% Q, Q
        e = "GB/T" + Mid(k, 4)' `6 {4 S0 e/ _  k; M
    Else; ?- u. Y1 P: O, _$ @0 g1 p* d
        e = k0 ^/ c5 j  a: {9 R# x
    End If
* u( W( d6 x: Q' I0 X    b = Mid(c, a + 2)
# d9 o: H% \& f+ w1 z0 P, l    t = Right(c, 7)7 j0 y+ s- i: b0 }% P) c
    If t = ".SLDPRT" Or t = ".SLDASM" Or t = ".sldprt" Or t = ".sldasm" Then; b+ ~) R; F' x. K* d
        j = Len(b) - 7 '消除后綴(區分大小寫共4種)
2 ]+ C; ~" x9 _    Else
: |: G4 b, O' Q1 T        j = Len(b)  ]% K' U: x3 u; s7 F
    End If
5 o$ ^' @! V$ \/ Z    m = Left(b, j): ]7 @4 e1 o; z) h) J% U0 ^& n
End If
- F1 S, Z" [9 u6 Lblnretval = Part.AddCustomInfo3("", "代號", swCustomInfoText, e)  '代號
: @! `: |& m- y* Q# i. F4 T* h) O% G: Bblnretval = Part.AddCustomInfo3("", "名稱", swCustomInfoText, m)  '名稱
( Q7 M9 B4 ]- `'blnretval = Part.AddCustomInfo3("", "圖號", swCustomInfoText, e)  '圖號& C2 ], f; d; k0 i' Z

/ A1 Z( q* u! p
作者: foxlord    時間: 2021-1-5 10:43
foxlord 發表于 2021-1-5 10:16( H$ H6 u3 U8 S6 L5 Q, C$ i
solidworks中宏是類似哪種語言呢?VB?Oracle?C++?
/ R2 G( A! d7 ~0 `
好的。了解。我查查6 K/ L1 v) l! a# h- U5 Y; C

作者: 水水5    時間: 2021-1-5 12:36
我也用的這個宏
3 F" t/ z+ G9 v對于外購件,我一般是這樣命名的  比如  軸承  6906   螺釘 M8×10   電磁閥  SY5120-DDDD,等等吧。9 u" }9 v; O* j
我對這個宏,稍微修改了一下,就能用了。再弄個宏按鈕
作者: bamboo    時間: 2021-1-5 13:46
SW是VBA,有語言互轉軟件嗎?
作者: foxlord    時間: 2021-1-5 14:38
加了條語句,已經搞定了。謝謝大家的幫助。2 _5 }7 d$ e. s2 V/ F
'設定變量( y7 W8 O! b0 h
c = swApp.ActiveDoc.GetTitle() '零件名* s* a" k8 p* ]( |, y
If Asc(c) > 0 Then: k# A4 X9 R- r& m! Q: G) o9 K
- d1 I, n/ h8 m6 ]. N9 ]0 ?
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)6 m- K, k1 }; i
blnretval = Part.DeleteCustomInfo2("", "代號"); r$ r5 O; w* L' M4 R
blnretval = Part.DeleteCustomInfo2("", "名稱")( g) a, Y5 v2 t8 C' p* N% O- Z
a = InStr(c, " ") - 1      '重點:分隔標識符,這里是一個空格
0 g0 C& j0 ]) |9 _' _If a > 0 Then' G# q/ R8 }& h5 c- [. a$ E
    k = Left(c, a)' k' S0 ~! s! r# B
    t = Left(LTrim(e), 3)
: L5 J- t# w) b/ E: g$ k    If t = "GBT" Then4 o% N: s. O$ D4 J
        e = "GB/T" + Mid(k, 4)/ o) l0 \/ ^$ F
    Else
+ p+ k' {7 ~; E" A0 y        e = k
, D8 \  L3 {7 f% Y" x$ X5 V0 u    End If/ ]+ b: I% i  G+ r- Z: b% Q* o
    b = Mid(c, a + 2)
/ C+ R! x3 q3 E4 r' W! t    t = Right(c, 7). f1 E! q' C3 o5 R$ ]
    If t = ".SLDPRT" Or t = ".SLDASM" Or t = ".sldprt" Or t = ".sldasm" Then( L+ f% _( o1 F3 d# x$ C5 m( A( _
        j = Len(b) - 7 '消除后綴(區分大小寫共4種)
! }! C( [' ]$ b7 E2 I    Else2 ]7 N: ?  L+ j) S) C7 G
        j = Len(b)! W! S; ?8 A7 F5 h5 h* U
    End If$ ^# f7 M. V" v. j" w8 }% l
    m = Left(b, j)& v+ r5 l! N" t4 z8 ?
End If0 ]; l& i2 Q( Q9 b% Y3 r: m: X
blnretval = Part.AddCustomInfo3("", "代號", swCustomInfoText, e)  '代號
- X7 x* C" O1 K# O  b% _) rblnretval = Part.AddCustomInfo3("", "名稱", swCustomInfoText, m)  '名稱
* E8 b6 Q* M4 _, s'blnretval = Part.AddCustomInfo3("", "圖號", swCustomInfoText, e)  '圖號
) T/ |3 H, y: P7 ?/ }) q- M. G! cEnd If6 G4 Y$ c' w# ?5 @9 O/ z& g

作者: 遠祥    時間: 2021-1-5 16:30
這個看似高大上,用起來卻并不快捷呀!
作者: foxlord    時間: 2021-1-5 17:02
遠祥 發表于 2021-1-5 16:30
6 C, i1 F  ]% D# A; X3 |) ~' b這個看似高大上,用起來卻并不快捷呀!

; M5 |' a8 T) J" f0 o' c4 W" n還行吧,個人習慣,我用的切換填入信息,不是按鈕。
( W" U! x1 g2 X' t




歡迎光臨 機械社區 (http://www.ytsybjq.com/) Powered by Discuz! X3.5