找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: 半夏丨迷离

图号分离宏的使用问题

[复制链接]
发表于 2021-3-8 17:14:54 | 显示全部楼层
本帖最后由 苏州装配工 于 2021-3-8 17:27 编辑
/ l( R& o. n4 Q2 m2 X" e; y2 R/ P; z# Y
Dim swApp As Object
" u0 H/ z8 ^" R$ h
) h( y, p) q0 t1 l1 b7 E1 [Dim Part As Object9 U: l' `& p% Y/ W

, s  i3 H  x6 N3 W; ~: PDim SelMgr As Object
- _3 z; ~8 R+ E% Z' Q5 W, |. j7 C4 @: U" t1 ]- ]
Dim boolstatus As Boolean) w. [7 p* B  m7 k4 Q9 h

5 F3 R. Z- L- w. ?" l( tDim longstatus As Long, longwarnings As Long' w; f* Y( m9 x- q. u
# Z  C( c9 A/ `9 |3 L* L3 E7 n% D
Dim Feature As Object3 A  o+ H$ z! R7 x: m
! B( g, P0 f3 j6 x$ s% I9 I
Dim a As Integer$ F- b& ]8 z& `0 X0 @+ |7 s

& q6 x8 x/ p' _* NDim b As String
- |* j( F" v. M* V% l- H
: w( x3 S+ ?9 e  Q) H5 k0 \Dim m As String5 E2 y4 [; v" B+ D0 ]* \
: o6 b& i  \$ i$ p- D
Dim e As String
0 F: \7 P3 g7 N) a! C! F5 a( ^  w0 k( Q7 P+ t) V, ^
Dim k As String
/ L, N0 C8 @- [4 q* ]8 R; B2 G6 Q) N- O5 p; ?: \! |
Dim t As String
4 a( v& X& |3 c& `
8 S5 w/ P0 R, K& L: T; ZDim c As String6 }8 w& o1 O6 V3 r! g
) q  o7 l! u: v1 \
Dim j As Integer
" A- v+ c* X* Q  |$ K* U' `+ @  r3 F
9 W2 d- v* U9 }% iDim strmat As String" e6 b/ Z0 @% C6 A, S

5 _' }+ A4 t' o9 J' o. fDim tempvalue As String
, _" G. {5 }/ H9 a3 x. C$ @; N) r& \7 j+ g2 O! ?
Sub main()% n, o/ x( F* ~9 I% C1 S9 V9 d

9 d5 b" e1 p8 L( f% ?) A9 O'link solidworks
. f+ b7 O$ R& O& M' n  n2 C
( Q; [/ q6 A$ Z& }, ASet swApp = Application.SldWorks4 o! n1 `$ d; q  Y( |  q; W
7 j' `* h( n2 L0 C
Set Part = swApp.ActiveDoc& r" N9 Y3 ?* p4 @
1 C( x* Q  A4 K' @* t! f: B
Set SelMgr = Part.SelectionManager
/ b  P) j0 f; `# e0 H: M, N) _; d
swApp.ActiveDoc.ActiveView.FrameState = 11 p) \: D  B* P! b
3 {: O# ]3 g- h0 b9 C# e% l  r& J! @3 R
'设定变量
" g5 \3 Q% e' K, N7 z6 D( y) V' B1 |9 w
c = swApp.ActiveDoc.GetTitle() '零件名/ @% E4 X/ K+ u- p, \
: p5 O$ J+ D( z+ G
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)& k5 B! \, I0 L( D' c+ q
! r9 h( D9 e- Q" ]  r
blnretval = Part.DeleteCustomInfo2("", "代号")
, X5 u- E  P% m
+ s% w$ ?* o. z$ X# e# _blnretval = Part.DeleteCustomInfo2("", "名称")
  j) B+ C) r9 ]  \3 P2 ]8 d
+ K* G" E9 v  iblnretval = Part.DeleteCustomInfo2("", "材料")/ I1 l& C& R) S# Z

9 N4 B8 @/ y9 B$ ]+ X5 I2 W1 {a = InStr(c, ".") - 1
; a. U* B) o( a% F7 I% J; s' z6 U$ P  T
If a > 0 Then
$ R2 [# w8 H* }9 x& _# u! l2 a3 S: O) p  `3 s$ F
    k = Left(c, a). ^. p( D5 g; g; p

/ {. E: C5 P* [8 _+ @* B    t = Left(LTrim(c), 3)- R9 o8 [: d, O( P! a
1 t/ Q! |7 x" e$ ~' R" T6 U8 c
    If t = "GBT" Then
3 ?% ^8 i1 e$ O* @7 y" ^' ]" v# k6 O
        e = "GB/T" + Mid(k, 4)
6 q, X% W* L) G. i% H
* x% r$ ~2 W" A/ e4 K5 _; v) i    Else7 y6 S) G/ A7 I; k4 }# B3 V

! X# v& c0 T: R        e = k  G. N8 t9 ]+ ~

  f  y5 _! X6 {- @# w1 O' T    End If& q2 a( c; f- C4 s2 w9 C
9 B9 F6 X( o9 ~' _2 m
    b = Mid(c, a + 2)5 L' R- G# }" W- g3 O

4 s# V* U$ J' k6 J' B    t = Right(c, 7)
* V7 |5 _+ t  b, b/ b9 ?' F- y  q& `& O( E
4 v, E3 F' L; ^( f  W2 S3 Q    If t = ".SLDPRT" Or t = ".SLDASM" Then
# b' I8 h- W' |0 V3 h3 f- w) _1 l, I9 E
        j = Len(b) - 7
; D+ j# R! s& C/ N7 I
6 u( @2 g6 b0 o, W0 s1 c% g, S5 u5 Z    Else7 E4 F1 r2 W' c6 O! v" F* T3 d* ]
- a: D) I- M7 k5 P  e9 B4 g
        j = Len(b)
4 M/ G$ w( e( M/ C2 ^. t; ~; T
: F' ]) u+ j/ h1 k- ?  u2 Z# U7 j7 A    End If8 R3 M8 @. _; V$ V
    6 \! c, W: _3 o! ^( R# f7 h' U
  If j <> -1 Then
8 ^% n2 {1 Z# E$ G3 F% Q9 ?! V( T  
0 n. W" }7 `7 Q% k5 @    m = Left(b, j)
9 Y( K5 l  o% f/ ^7 z' t: ], m, h
% i2 O# d) ~* b3 Q# r; m" z   End If% k. o0 W. ]) [& W( F
   : ~$ q& n( D4 L, X0 r+ [
0 P+ |7 K) b8 L
End If! b! x& O0 g- c- `" ?6 s) G" H$ @/ F& M

) ?# @1 n4 G% _, Oblnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)
0 J7 |5 G: f6 y+ _9 O% p& f$ Z- e) j; I$ U
blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)0 z; G* ~; R* q$ a$ t% P5 C

# C4 O7 w2 U2 {: j4 ^blnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, strmat)9 p: i. P  f( U) t. W% j5 l( O; a8 @1 B

& P* Z& c6 b' P1 ^& z) lEnd Sub
* a! Z/ _; D* Y+ a+ O1 \2 w- F" [2 v----------------------------------------------------------------------------------------------------------------
( T' |- a# S5 k  V/ e改了一下,亲测可用。有哪里不符合你的要求回帖再改咯。

点评

出现不良后果概不负责,哈哈哈哈哈哈哈哈哈哈哈  发表于 2021-3-8 17:16

评分

参与人数 1威望 +1 收起 理由
未来第一站 + 1 热心助人,专业精湛!

查看全部评分

 楼主| 发表于 2021-3-8 17:31:45 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:46
  w3 S" N9 y- _5 Z悄咪咪的说,这个原版是我写的

# t& c# o1 [1 E8 V3 D7 n惊现大佬??
0 `$ s3 [) r3 J- L' C8 ^
 楼主| 发表于 2021-3-8 17:32:39 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:52( Q  ?+ U- K0 [; m$ \" @( @
正解,如果不需要分离文件名,只需要改工程图的模板就可以了

* {0 V. ?- v' P& ~4 Z- w9 N咋改?求教
 楼主| 发表于 2021-3-8 18:04:20 | 显示全部楼层
苏州装配工 发表于 2021-3-8 17:14
, l/ s8 Y2 G5 c  t5 I2 xDim swApp As Object
3 }' K" c6 o6 F4 B2 ?: u; r7 l
) B& J! q2 x: r) _Dim Part As Object

7 R! q/ ~, s2 C/ Y/ e, V$ G4 M* y. {还是不对

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
发表于 2021-3-8 18:51:30 | 显示全部楼层
半夏丨迷离 发表于 2021-3-8 18:04
% u8 \( D: P% f+ N" e/ x还是不对
9 k& r3 v; r" i3 S* ~1 @$ x9 T3 c% t
最后那三项是宏生成的吗?自己图带的话,删除了,宏自己生成出来估计就对了,再不对就不知道了,你可以单步调试一下。我用着没事的。
! v" ^+ h* v2 y6 h% A* v
发表于 2021-3-8 19:20:16 | 显示全部楼层
zhufeng_hgp 发表于 2021-3-8 15:229 a  b+ F, u9 C
我用的是凯元工具,图号分离挺好用的,还能读取材料,填入日期,作者等内容,就是非会员一次只能处理9个零 ...
8 y7 I6 ~9 q& \# p
  我是会员
8 _" P1 Q  f; {0 f
发表于 2021-3-8 21:23:47 | 显示全部楼层
图号加名称一种奇怪的存在。
发表于 2021-3-9 01:19:30 | 显示全部楼层
自定义属性卡都没有 弄好 肯定识别不了啦,你要把自定义属性连接到工程图模板,然后画图也要用这个模板。B站 搜 SW自定义属性工程图。众所周知B站是和学习的地方
 楼主| 发表于 2021-3-9 09:27:33 | 显示全部楼层
特斯拉·MY 发表于 2021-3-9 01:19
. ^$ z* ^/ X2 Z. p; o3 t% D自定义属性卡都没有 弄好 肯定识别不了啦,你要把自定义属性连接到工程图模板,然后画图也要用这个模板。B ...

& S) U: m! V5 ?& J谢了,我去查查# w1 Y, e( R  P; {: p2 D0 i  |7 d
4 g7 O) g! N0 r2 R% d
发表于 2021-3-10 11:06:04 | 显示全部楼层
看起来好复杂的样子。。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-7-12 18:41 , Processed in 0.090469 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表