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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 3427|回復: 10

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

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

使用道具 舉報

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語句判斷一下$ d3 B& K) v% l5 O1 O; d# a
4#
 樓主| 發表于 2021-1-5 10:37:18 | 只看該作者
魍者歸來 發表于 2021-1-5 10:20& U" f- {6 O/ x3 {3 `; D8 F# S
加個if語句判斷一下

7 u8 e& v& `9 L! l& B, h大神,你好,剛才看了你在宏中提取名稱的視頻。
$ m- A. R3 S0 ^( _9 |3 I9 J以下是圖號名稱分離的宏中一段代碼:- B% ?% X+ ~4 w+ _

( [  k4 F1 n3 @0 Qc = swApp.ActiveDoc.GetTitle() '零件名8 E7 N) x; Z! @; d- S
想在這加if判斷c中字符串第一個字符是漢字或者不是字母數字,但是這個和C語言不一樣,不太會,也不知道solidworks中宏的語言是哪種。
$ E* e2 z* o* \' r( ~, |望大神指教或者之前填上吧。萬分感謝。
5 m  b) l* U" j3 p& r7 m! ~4 p5 A$ ?% P  I4 ~1 x% @  ~
# M' C! f+ K$ D% R$ i) ^; ?* [% e
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
9 S8 p( y! r! @. b4 B+ Oblnretval = Part.DeleteCustomInfo2("", "代號")& X9 [4 f. \5 A: V; S3 v
blnretval = Part.DeleteCustomInfo2("", "名稱")
& x: [  H3 o3 B( m$ ia = InStr(c, " ") - 1      '重點:分隔標識符,這里是一個空格3 ^* k4 d2 \$ U) s' b
If a > 0 Then# m% q0 y$ b# z, i. F
    k = Left(c, a)$ S1 w; e/ W" ?0 E
    t = Left(LTrim(e), 3)
# Q  Z0 b7 I6 e    If t = "GBT" Then
$ R6 P) p0 s: s! T# G/ R+ ?        e = "GB/T" + Mid(k, 4)+ ~+ S7 U4 T0 b" _8 a
    Else1 r* v' e: a* V
        e = k
% A( S, ^5 c/ I* k3 n    End If
& e- R* J$ |( n; N$ u- J. l5 O" b    b = Mid(c, a + 2)
5 ~. X$ ^& P( n* ~2 @    t = Right(c, 7)+ n( n) O, l3 A$ W+ u$ }
    If t = ".SLDPRT" Or t = ".SLDASM" Or t = ".sldprt" Or t = ".sldasm" Then+ y4 H% d& B% |
        j = Len(b) - 7 '消除后綴(區分大小寫共4種)
; d% f5 N) @8 p0 V1 S    Else) K# S7 }" |# j. y& s& r! H" P/ t
        j = Len(b)
3 p; Z5 {* J# O: r" V    End If
# W1 e+ z5 T: e: f  R( a    m = Left(b, j)
/ j1 \7 l1 U5 ?5 O: ]" d2 cEnd If
2 I! E" \8 y* P7 xblnretval = Part.AddCustomInfo3("", "代號", swCustomInfoText, e)  '代號
& @' X8 l4 K  U# Eblnretval = Part.AddCustomInfo3("", "名稱", swCustomInfoText, m)  '名稱- a6 n  H! v: g) r& \9 I
'blnretval = Part.AddCustomInfo3("", "圖號", swCustomInfoText, e)  '圖號+ q5 S4 [3 l* H! L3 t' d# u
' W: j! H, @1 X9 A3 x, o' }6 ]) B
5#
 樓主| 發表于 2021-1-5 10:43:39 | 只看該作者
foxlord 發表于 2021-1-5 10:168 r! u" C! X+ |% W
solidworks中宏是類似哪種語言呢?VB?Oracle?C++?

! _: {3 }  z6 k3 d好的。了解。我查查$ y9 Y  J; c# q; q2 h' L
6#
發表于 2021-1-5 12:36:06 | 只看該作者
我也用的這個宏& _9 y8 z9 Q5 K! m, t2 Y5 u9 G
對于外購件,我一般是這樣命名的  比如  軸承  6906   螺釘 M8×10   電磁閥  SY5120-DDDD,等等吧。
3 m8 G0 e1 ?! M( p  o' b. i我對這個宏,稍微修改了一下,就能用了。再弄個宏按鈕
7#
發表于 2021-1-5 13:46:32 | 只看該作者
SW是VBA,有語言互轉軟件嗎?
8#
 樓主| 發表于 2021-1-5 14:38:45 | 只看該作者
加了條語句,已經搞定了。謝謝大家的幫助。  g: W0 f' O% B. |- w2 r8 Q
'設定變量
5 {  G9 O! T" T; jc = swApp.ActiveDoc.GetTitle() '零件名9 W3 j; K4 |- L& G" E
If Asc(c) > 0 Then5 `4 E/ N/ `1 v. F: S
4 l$ ^. l* ~, ^' L- ], o
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)$ Y' D& G  m' h2 b! E3 y
blnretval = Part.DeleteCustomInfo2("", "代號")- i7 E8 E7 @) h$ q$ |
blnretval = Part.DeleteCustomInfo2("", "名稱")
  C  r1 l3 u! [" Aa = InStr(c, " ") - 1      '重點:分隔標識符,這里是一個空格
$ S- s; G) I: M4 ^' k2 W9 J7 Q* mIf a > 0 Then% V* X( |/ O7 G6 T5 e/ n: M1 Z& I: l
    k = Left(c, a): b. D4 j% C4 d0 p
    t = Left(LTrim(e), 3)
. ^  E. [* f. ^2 U8 H    If t = "GBT" Then" F9 s9 ~, a1 s5 u& f6 b2 _
        e = "GB/T" + Mid(k, 4)6 C$ O- }7 B' i+ R& a4 s' J: b! r
    Else
5 r* `3 x. e3 N* h8 F5 X, o3 {        e = k& ^: [% e& B  ~1 l& {+ F
    End If; M3 ?* I7 |7 d$ u' r$ N: r: _
    b = Mid(c, a + 2)
' b) Z9 C; j6 S8 l( o    t = Right(c, 7)- H; M1 z  k( x. T
    If t = ".SLDPRT" Or t = ".SLDASM" Or t = ".sldprt" Or t = ".sldasm" Then
- Q3 Z" A: d4 N/ E4 n" J& w        j = Len(b) - 7 '消除后綴(區分大小寫共4種)% v0 t8 x# Z& v0 _# m$ }9 G" Q' @
    Else
" t4 W( F4 i4 H! C: Z        j = Len(b)
7 n3 R9 m9 X" a, s- Z    End If9 M- {0 {( d  l+ A" W! Q
    m = Left(b, j)
9 [. j3 q, W5 V% S3 y) Q3 a$ E2 L7 CEnd If, Q1 @' Z5 T& u' S; G
blnretval = Part.AddCustomInfo3("", "代號", swCustomInfoText, e)  '代號
, c6 t* O* E% `9 e3 _; r* N- `  qblnretval = Part.AddCustomInfo3("", "名稱", swCustomInfoText, m)  '名稱* }2 G* r2 U, E3 ?1 ?' g4 B6 m9 X
'blnretval = Part.AddCustomInfo3("", "圖號", swCustomInfoText, e)  '圖號
% f8 F1 v4 x6 i/ S5 J, X$ m0 g% cEnd If
" U  ]& q; G- I, C) Z
9#
發表于 2021-1-5 16:30:26 | 只看該作者
這個看似高大上,用起來卻并不快捷呀!
10#
 樓主| 發表于 2021-1-5 17:02:21 | 只看該作者
遠祥 發表于 2021-1-5 16:302 h% o% _* c+ x4 y9 B
這個看似高大上,用起來卻并不快捷呀!

2 ]: B3 r/ ^3 b& H# y% S還行吧,個人習慣,我用的切換填入信息,不是按鈕。
4 w7 G! v$ w3 {- {+ M* \! i' \
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

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

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

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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