机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 半夏丨迷离

图号分离宏的使用问题

[复制链接]
发表于 2021-3-8 17:14:54 | 显示全部楼层
本帖最后由 苏州装配工 于 2021-3-8 17:27 编辑 7 N' |" D4 C1 r1 U1 q
8 n$ \( k- a" z- n
Dim swApp As Object
: I4 P; M- F( c& F5 m+ l% C) }$ y4 A8 j( S/ T& b
Dim Part As Object9 h. f( c& [) a& ~( ]" U

/ ^0 Z/ A" L. `( N5 y. EDim SelMgr As Object* _! k: t: E  }  V* R; q, l7 i3 w
$ z+ k# j6 A6 V& }* L6 U3 I
Dim boolstatus As Boolean
. \9 M8 F; G! C
/ f) ~& t+ C0 n' V, x+ KDim longstatus As Long, longwarnings As Long
4 b+ ~! j- F! y3 K  N* T/ K
' X( c0 _6 Q% Y0 FDim Feature As Object
/ s" q- r/ }) W
* b: J. O8 b; |; zDim a As Integer
7 X0 i* S) U$ v. S! u5 E2 d  j3 V$ ?7 F8 Q# q/ w0 Y" z9 m
Dim b As String3 N7 J& d  M7 K
3 T. l0 s& n" R4 X$ e
Dim m As String
! W/ |$ E7 g9 w$ x* ]" e7 p  b) G  ^" W$ i/ d; p/ n
Dim e As String7 G* j/ e) A8 V, r7 y- o- i/ z

. _; l8 P; n$ u" oDim k As String: ^2 q7 `3 v; I6 {  f- f
+ i. {, j7 f- x5 x' ?7 v
Dim t As String
( N/ I1 s; X* C2 O0 h
, X3 S2 m2 F, v. w% I4 |Dim c As String: A$ U" Z9 B) I# W( F
& d! n$ k; B9 M/ Z7 a$ b; @# b7 H
Dim j As Integer
7 }' u0 I5 n) {. g: c6 X3 K" i
, j) a3 S# K9 m6 N" J0 VDim strmat As String
  H; J$ [4 }; j# P1 ~( t' l( u2 c4 [" L' F; \: I$ b' c
Dim tempvalue As String& }- F' @5 I1 \! y

. P8 p# Z6 \+ ^+ P" h2 dSub main()
& i7 c0 H: V% ^0 _* z$ b' ^8 @1 g# Q. l
'link solidworks
- y2 Y- j$ d/ s) \2 W5 n& ?
; J8 u4 O2 F( Q2 E" vSet swApp = Application.SldWorks
% d$ T$ G/ Z# E2 k. v2 T+ E: @1 D9 h5 W/ Q( I7 d' Q) M3 Q' _( j: F" J6 b
Set Part = swApp.ActiveDoc
, M" c- T+ ^* |5 a! l  q" j4 R
6 U: F  @" H/ OSet SelMgr = Part.SelectionManager
4 Q5 l: }2 P) k/ F  O1 R3 C  K9 m4 V6 E  b! \
swApp.ActiveDoc.ActiveView.FrameState = 1
2 p8 Z) s# ?/ b  Y. h0 j, R  P/ ^/ S# {1 S
'设定变量
% {2 P1 F/ f/ q7 _+ @
& s3 i1 Q* |. Z: n9 s7 c+ {: ~c = swApp.ActiveDoc.GetTitle() '零件名0 ^% z5 @$ v/ c8 S+ f4 h1 W+ R! q
. h& [9 O. W8 \0 _; e
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)( A$ j& P# h' m
2 S6 l/ E' ^# Z! u- Q! J
blnretval = Part.DeleteCustomInfo2("", "代号")
; A* U6 Y2 z& e- X
1 ?- x7 u+ O* t* [4 h# ublnretval = Part.DeleteCustomInfo2("", "名称")
6 t) U' t) y1 a) }% b. @' [& `: |/ Z, H% m. O
blnretval = Part.DeleteCustomInfo2("", "材料")
6 @0 E8 }: M5 J0 h0 O5 P. S
; P" g) p; I& na = InStr(c, ".") - 1; l8 M$ [0 J* u5 c

: J6 k4 J# I* Q" R+ [7 O6 ]  b. ^. TIf a > 0 Then% y+ ?4 n, N- o' P9 t; J" k

, E+ M7 f7 `# p& e% {" p- \) ]9 r    k = Left(c, a)5 u8 Z6 }( R5 q) [  e

# H* g+ A) e: L5 m    t = Left(LTrim(c), 3)
( o7 y: _$ S, z0 M  M4 j0 w; g$ b
    If t = "GBT" Then, U. N) e# p6 W, ]& @1 {
5 V4 v! o( L) j3 J& D/ T
        e = "GB/T" + Mid(k, 4)
9 n4 ~% v$ M1 o) b" F3 Q% w4 L( j, x7 Y3 C' Q7 ^, X7 q0 T4 s
    Else
# [; }) c9 h5 Y- ?; o: a) Y9 g. ?) X* p( V3 g
        e = k
: a4 ~' ~' ]# c) O; y9 K8 c+ K  e& f
9 F- j; M+ `# n; a3 w    End If; t3 u. [6 G1 z8 H

/ G# Y; I) {( R7 z5 p' ^    b = Mid(c, a + 2)
8 c4 @9 G# P. m8 ~+ |
/ b4 ?1 b1 J4 f( h$ z    t = Right(c, 7)+ B3 o+ F' f0 _( W; T% a8 F
. c& A* l( h& f  |5 v* L
    If t = ".SLDPRT" Or t = ".SLDASM" Then
9 s2 z' M3 y3 a# p* m" a% |
# w4 E. j5 v2 h# V- I; {        j = Len(b) - 7" R  x2 n, d8 b# N# \- k0 G6 t

" a; S& ]$ \' P* p- \    Else% L, R8 h# M5 j' n, X
4 Q# g; S! c& n' i. O3 r
        j = Len(b)9 i) Q: r2 B4 {' ~6 @5 ~9 l  S

: i9 R( I  Z# h5 C3 T- F    End If
& R0 b: P4 d/ ~: c" Z   
3 F1 a" R' t7 t- ^  If j <> -1 Then
) |6 @  U/ M7 N) T  ) x1 \$ ^0 k9 @/ O/ Q. w. M
    m = Left(b, j)
# H3 k4 w. u* g2 ~
! v  c) ~% D1 s. Y   End If
" }# @) @& S+ V5 j0 H) J   0 u8 c- J2 |$ C' [

! |+ P3 O5 g( u+ J2 f8 HEnd If
# ~- f. H' i5 N; o, k& ?+ t" W
9 R+ B" G4 n0 w1 ablnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)
- a! g" ]7 u! v8 U, s/ A/ `$ E6 M, S/ d! Z* j* f
blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)0 A6 r* f* |3 u3 ~; b! o
4 m9 t) R3 T/ g  }7 f9 }
blnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, strmat); P! H/ V/ R+ A2 F$ r! J

. g/ @7 N# D" T& {End Sub: B+ d8 \  k' |
----------------------------------------------------------------------------------------------------------------* k4 u- X; I0 L- r
改了一下,亲测可用。有哪里不符合你的要求回帖再改咯。

点评

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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-8 17:31:45 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:46
4 N" H, C; P% c* r9 Y$ P9 Q悄咪咪的说,这个原版是我写的
- y$ w$ D) S6 f8 Q% ]( J$ o
惊现大佬??. u* I6 P* d. ~9 L
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-8 17:32:39 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:52& _# D/ G8 D; |
正解,如果不需要分离文件名,只需要改工程图的模板就可以了
# R! t9 g# I9 k5 n) |& t* A  R
咋改?求教
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-8 18:04:20 | 显示全部楼层
苏州装配工 发表于 2021-3-8 17:14( C  G2 e0 C+ q
Dim swApp As Object
! t- _$ h" V5 k4 i: Q2 n& s( }; ]* F) u& `, A9 Q/ n
Dim Part As Object

! z8 X  r1 F1 y9 Y( K还是不对

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2021-3-8 18:51:30 | 显示全部楼层
半夏丨迷离 发表于 2021-3-8 18:040 g( p+ A# t" i
还是不对
- D$ y5 I7 w' r4 q' n
最后那三项是宏生成的吗?自己图带的话,删除了,宏自己生成出来估计就对了,再不对就不知道了,你可以单步调试一下。我用着没事的。  y2 k' l! u7 k* ~) ~: T6 f
回复 支持 反对

使用道具 举报

发表于 2021-3-8 19:20:16 | 显示全部楼层
zhufeng_hgp 发表于 2021-3-8 15:22/ K0 Q2 L2 }+ D0 W7 @) l  E
我用的是凯元工具,图号分离挺好用的,还能读取材料,填入日期,作者等内容,就是非会员一次只能处理9个零 ...
* I% ]. C4 [/ x; t" P" X8 ^
  我是会员9 X/ ]# I0 K' ^3 l  y1 S" _
回复 支持 反对

使用道具 举报

发表于 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
8 h4 a+ r% B+ N, ]+ U$ s0 e: d自定义属性卡都没有 弄好 肯定识别不了啦,你要把自定义属性连接到工程图模板,然后画图也要用这个模板。B ...
$ J% A+ e" a5 v. M5 ]
谢了,我去查查8 x+ D6 Y' u, v' H# G+ O% c
  f$ y5 G$ ]- }; m0 Z( h+ [
回复 支持 反对

使用道具 举报

发表于 2021-3-10 11:06:04 | 显示全部楼层
看起来好复杂的样子。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2024-11-25 10:57 , Processed in 0.056830 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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