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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 3428|回復: 10

solidworks中利用宏名稱檢測,希望大神解答

[復制鏈接]
1#
發表于 2021-1-5 10:09:49 | 只看該作者 |倒序瀏覽 |閱讀模式
solidworks用了圖號名稱分離,先有個問題,標準件一般是開頭是中文,怎么編輯宏命令檢測到中文跳出程序呢?求大神解惑。比如:零件名稱: 12354 中文   零件屬性中圖號:12354  名稱:中文;零件名稱是標準彈墊 12345   當檢測到這個零件后不進行圖號名稱分離。+ x, v0 A, x7 P6 E1 ^
回復

使用道具 舉報

2#
 樓主| 發表于 2021-1-5 10:16:14 | 只看該作者
solidworks中宏是類似哪種語言呢?VB?Oracle?C++?

點評

VBA  發表于 2021-1-5 10:19
3#
發表于 2021-1-5 10:20:40 | 只看該作者
加個if語句判斷一下# o7 y  o' q* j$ H7 E2 O
4#
 樓主| 發表于 2021-1-5 10:37:18 | 只看該作者
魍者歸來 發表于 2021-1-5 10:202 q+ x; a) d$ j+ h  M
加個if語句判斷一下

4 u0 Z) S4 d6 g) O; o. T大神,你好,剛才看了你在宏中提取名稱的視頻。; e2 I' q5 A8 X
以下是圖號名稱分離的宏中一段代碼:" n, T  s4 p1 a6 H1 T, s

6 D1 X* B+ k' ]/ B. r1 yc = swApp.ActiveDoc.GetTitle() '零件名- _& d& g* C* K+ b. G% P
想在這加if判斷c中字符串第一個字符是漢字或者不是字母數字,但是這個和C語言不一樣,不太會,也不知道solidworks中宏的語言是哪種。
& u1 l/ m; Q  r) R! I望大神指教或者之前填上吧。萬分感謝。$ \; |2 K- }& k) D
) x, H) A/ Q* Q! q( z

/ H  O+ Z/ _3 S7 w2 ~strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
  Q7 O' M/ [8 u( pblnretval = Part.DeleteCustomInfo2("", "代號")' I& b# U: F" b6 @+ K9 H3 F0 Z( \, [- B
blnretval = Part.DeleteCustomInfo2("", "名稱")
( V5 e7 A! C; A! Z( F3 C( Da = InStr(c, " ") - 1      '重點:分隔標識符,這里是一個空格
$ P" V$ m7 M. yIf a > 0 Then
/ S4 I  I) T/ c3 d+ u. X" K  Q    k = Left(c, a)
# H& n9 E1 Z0 v; G! P2 C    t = Left(LTrim(e), 3)9 Q! c5 @$ o9 {9 k  l1 b, X
    If t = "GBT" Then) H% S3 H& i$ ~  ~
        e = "GB/T" + Mid(k, 4)
8 [3 v0 H  B3 ~& |1 E# h9 A' e7 E% Y    Else
5 U9 U1 ?! t, y) G3 T+ B        e = k/ i! Z; G/ W" w0 G
    End If! h. u, p/ o$ q  W3 T
    b = Mid(c, a + 2)# X; S4 p/ O+ f" n6 f
    t = Right(c, 7)2 H! M& Q* X* f5 _
    If t = ".SLDPRT" Or t = ".SLDASM" Or t = ".sldprt" Or t = ".sldasm" Then8 N" {9 J$ o# u2 |: J
        j = Len(b) - 7 '消除后綴(區分大小寫共4種): b8 l+ w$ y# Z& ^: `
    Else) I" z3 h) Z* a
        j = Len(b)# N2 t5 Y$ E, H( t4 Q
    End If
: A( a3 g: ^) n/ N7 s/ i8 @; E% X" X    m = Left(b, j)
5 ?' r% m0 C3 t1 ?. c; |" F: YEnd If, N$ `* H+ q) N( @7 ]' Z9 z. ?
blnretval = Part.AddCustomInfo3("", "代號", swCustomInfoText, e)  '代號. `: z8 _$ Z1 ], ~
blnretval = Part.AddCustomInfo3("", "名稱", swCustomInfoText, m)  '名稱
: _% ^5 p# P3 s' U'blnretval = Part.AddCustomInfo3("", "圖號", swCustomInfoText, e)  '圖號
8 l% ~. }5 ^' T. P
5 m8 ?* P' R7 Z
5#
 樓主| 發表于 2021-1-5 10:43:39 | 只看該作者
foxlord 發表于 2021-1-5 10:162 p( V0 j- f  V8 M9 r& X
solidworks中宏是類似哪種語言呢?VB?Oracle?C++?
+ Y- }: q* e" Q5 k
好的。了解。我查查! K0 j* S* [* n
6#
發表于 2021-1-5 12:36:06 | 只看該作者
我也用的這個宏
% s7 ]5 V0 a# A' {5 Q7 y對于外購件,我一般是這樣命名的  比如  軸承  6906   螺釘 M8×10   電磁閥  SY5120-DDDD,等等吧。
. M0 p* m& L! D我對這個宏,稍微修改了一下,就能用了。再弄個宏按鈕
7#
發表于 2021-1-5 13:46:32 | 只看該作者
SW是VBA,有語言互轉軟件嗎?
8#
 樓主| 發表于 2021-1-5 14:38:45 | 只看該作者
加了條語句,已經搞定了。謝謝大家的幫助。* O( K: u0 u/ q* f
'設定變量
7 l/ }1 c# @9 B$ f9 a4 f, ]4 Zc = swApp.ActiveDoc.GetTitle() '零件名! n3 i$ D% v( ~5 w; R
If Asc(c) > 0 Then; o- q1 K, M% ~, v

; e8 x6 C2 O# b9 A' B/ Lstrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
! P; v$ X0 }" I! i# iblnretval = Part.DeleteCustomInfo2("", "代號")
% i5 H  B7 {5 A, Qblnretval = Part.DeleteCustomInfo2("", "名稱")
* W, x3 N7 f; S: i  U  @$ L: C& K. ja = InStr(c, " ") - 1      '重點:分隔標識符,這里是一個空格& d. v! D/ {/ V3 c( g9 @4 I# C' U5 e9 ~
If a > 0 Then% q& R+ K0 f( ]# |. D  @
    k = Left(c, a)
3 k* S* Y$ a4 O- G& g' L# O" q: _- K    t = Left(LTrim(e), 3)
8 U* A  x1 Q* Z' H+ S: q    If t = "GBT" Then$ w. R: C+ C" R+ |. d4 M: Q
        e = "GB/T" + Mid(k, 4)" }0 Q0 W9 x  O4 h- @$ j
    Else
" W; H9 B4 ]9 x/ o: l6 }# G        e = k/ M( R9 t' Y1 c
    End If
& L4 A* r) p' F# {3 t# v    b = Mid(c, a + 2)
* X7 S, O9 O; [5 E* f    t = Right(c, 7): a' l) i6 q, r! j  W# O  N
    If t = ".SLDPRT" Or t = ".SLDASM" Or t = ".sldprt" Or t = ".sldasm" Then
) P/ ?! z4 Q$ w8 B8 g4 N  u        j = Len(b) - 7 '消除后綴(區分大小寫共4種)/ N% M6 J$ T# s5 g* D7 x( A
    Else
& B; I: h4 \+ s3 g( o! W        j = Len(b)$ U# J& ~* Q2 S8 ^; V
    End If' i6 s1 Y4 X2 f) m* _
    m = Left(b, j)
& W1 E: q! V0 f% o% J' e2 _End If. Y; G, U# s  ?  u1 \
blnretval = Part.AddCustomInfo3("", "代號", swCustomInfoText, e)  '代號
, z- b5 K2 E6 X! wblnretval = Part.AddCustomInfo3("", "名稱", swCustomInfoText, m)  '名稱# h) ^/ X  e" V- |% o; L
'blnretval = Part.AddCustomInfo3("", "圖號", swCustomInfoText, e)  '圖號
7 `) q% c. X) X, lEnd If
! q" J* f/ [# K$ _
9#
發表于 2021-1-5 16:30:26 | 只看該作者
這個看似高大上,用起來卻并不快捷呀!
10#
 樓主| 發表于 2021-1-5 17:02:21 | 只看該作者
遠祥 發表于 2021-1-5 16:30
' g3 `% b3 q/ v( y2 i. Q8 s這個看似高大上,用起來卻并不快捷呀!
1 t2 f9 }  M8 D; s- C  y" ?
還行吧,個人習慣,我用的切換填入信息,不是按鈕。
4 o6 F- d  \( v2 m! O  Y
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-8-11 10:22 , Processed in 0.071026 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表