找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: 半夏丨迷离

图号分离宏的使用问题

[复制链接]
发表于 2021-3-8 17:14:54 | 显示全部楼层
本帖最后由 苏州装配工 于 2021-3-8 17:27 编辑
' S# K1 Y# V* T( t. Y
$ J' A/ @9 P3 X1 F1 P2 BDim swApp As Object1 `( x9 Z4 J6 d% }

5 ?8 b9 {7 O7 U" z2 a8 yDim Part As Object
; h! _+ Q; B$ a/ {) b
) ~  u+ B" K; f8 Z) ^Dim SelMgr As Object  y- h& H& u3 t0 |0 U1 m  B

+ x' x5 g7 y  i6 @Dim boolstatus As Boolean% {9 k! m% \; p

$ ?% j- s- K1 w) \! p. f' RDim longstatus As Long, longwarnings As Long
/ ~  E9 Y) J9 p9 F
  `+ h% J1 e! C: ]- tDim Feature As Object1 K! w8 ?: {8 C6 l7 m. Q
! ^0 L/ @: g4 b7 i
Dim a As Integer/ D+ C4 p& l: e1 O* L
" k: Y) x. u6 S7 K3 _% [* I
Dim b As String
8 k, Y8 ^8 S1 v7 {" p" }5 n# W! N, K6 ~% X% D
Dim m As String6 a/ E3 D8 F# W5 u$ |7 I
2 D) m0 u2 E4 K& i8 L
Dim e As String: Z+ `8 }- B% G) A5 K' O6 _/ e
3 ^& |; k! x+ t3 ]
Dim k As String* N) _# Z5 p/ [

2 j0 U8 y9 X" w4 W# NDim t As String
% b8 Q* V$ k/ G% J. e
: e! A' A8 {) v: P2 dDim c As String
! I: W6 t) S1 @1 Q2 |- `1 B: G" p2 u- J
Dim j As Integer0 ]9 c- F$ D$ B; L

2 Y8 N$ e1 H# lDim strmat As String
1 l: h% v( Z! x4 a# k
9 }, m5 v9 e/ [+ JDim tempvalue As String
5 E" x5 l9 g8 k1 d  Q- m& {# |: d# Z/ p; p& O
Sub main()- {  F& U. J5 J" U- l3 h: B0 C

* g, l* Z$ C: `( K* D# I; W'link solidworks
  i1 @9 C: ^# b' Y/ l4 W: H" s2 W* A
  H! h" a; p( J9 mSet swApp = Application.SldWorks
& P. p0 {8 X( o( j: c1 A
2 P- z/ O& F# @" C" K: g9 a% OSet Part = swApp.ActiveDoc
' {& L7 v( A" P4 B
; [& u% d1 }' m3 ZSet SelMgr = Part.SelectionManager% c# I$ ?8 B6 W6 C0 ?

( M/ k" t- l, ]$ cswApp.ActiveDoc.ActiveView.FrameState = 1
/ B5 h- F7 p) Z' |& X( R/ N/ H% C; ^4 N( T2 [
'设定变量
" G- S: r& r  T! c' d3 v6 x6 @+ ~- u% ]
c = swApp.ActiveDoc.GetTitle() '零件名) I# B4 p/ C; J7 i( u7 I

  `* S. S$ d% p" p( ]. fstrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
, z+ b# z+ g) z/ X/ E4 `
+ m! Y( t5 U  ~8 K( E) J4 Vblnretval = Part.DeleteCustomInfo2("", "代号")# Y& a/ D3 j. V

8 S1 F' r2 O" }7 ?blnretval = Part.DeleteCustomInfo2("", "名称"), I2 C8 J; C1 L
1 Q  r! N6 m; ^- I" q+ Q* g: u! O9 t
blnretval = Part.DeleteCustomInfo2("", "材料")
! c$ `7 C7 T9 K( v6 G( e+ s5 ?6 k- {- r0 h
a = InStr(c, ".") - 1
- b6 M" t' u! l  p1 _0 Q* H) s5 b9 \* f
If a > 0 Then
1 R/ G! O( z0 m9 Q) e' \8 d, j! f& r* y' |  T
    k = Left(c, a)
0 w$ {; Q$ J; T0 `& y
3 a3 o: K, ?. q* k  l% [    t = Left(LTrim(c), 3)' O& D8 f: w: O6 j
. Q( r) `1 l+ [4 d/ S: ~
    If t = "GBT" Then% N0 p* H0 @6 @

$ ?7 U: F0 _" ~% l  ]( f        e = "GB/T" + Mid(k, 4)
- ^5 @  g# X2 B. x2 A! g1 C9 D$ y( C! e$ t9 L
    Else
' k% x% D4 [1 R5 {( o0 p9 _9 r9 H+ u9 O4 J7 w, e' ]9 x
        e = k/ q3 U' @& }3 P* Q4 Q" t- }( _# b

: b: I# u2 `; K, E- G    End If1 O5 M7 {2 p- E

' q+ \% U8 }# o+ V7 M) G# k    b = Mid(c, a + 2)
% x5 i% g  d9 u7 V  |
. s( U- r( s8 o3 G1 C    t = Right(c, 7)0 l# Q  ?. M# E
: H5 d5 O! l. s1 G5 {3 j
    If t = ".SLDPRT" Or t = ".SLDASM" Then
5 @, }3 I2 [! v2 c" l4 j
; j! A3 J: I  Z4 Z        j = Len(b) - 7( {& Y1 W2 @: Q

- D% t0 v2 ~% e, t    Else
% {! [; b" b; ?' X& }0 U5 j2 m& g+ N, P5 }( s4 q0 {
        j = Len(b)# X" [& M. v0 [$ Y+ |# x+ ^

4 N2 d! {; g% S" C6 d- A    End If
: b0 s8 M6 R" X0 a" B; V   
$ A  {' T- @* C% ?7 n1 M0 v% r" i  If j <> -1 Then' V: w8 K8 S7 W: X7 ~1 D* E
  ' r% H5 l2 |9 D8 l! f
    m = Left(b, j)
" i2 j; d! ~  O+ z; V: E  o  K+ T4 w  x, a9 z2 g
   End If
  V& I' {( D9 A* t   
) @( F9 @$ d% Z8 q  r6 A' w' ^) H6 J! G3 t" Z$ ]. N! Y
End If
5 O& d5 t/ l( i# }/ ~
+ B! N& w3 E; ~blnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)& K# K* [; z5 Q1 G7 G4 G2 x  O

( a' F% {9 O2 ?; I: {7 p, sblnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)
8 S$ `6 S8 s: J8 q% r4 c1 \
1 C5 U2 k4 l4 y7 N; B/ Eblnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, strmat)
1 K6 f  G% _# m5 [
9 \/ m7 Y; i  w5 T/ K; ^( P3 S* p7 dEnd Sub9 |. x3 ^! t7 l8 F  c3 \
----------------------------------------------------------------------------------------------------------------& L5 j* V! o! q+ l/ v9 g
改了一下,亲测可用。有哪里不符合你的要求回帖再改咯。

点评

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

评分

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

查看全部评分

 楼主| 发表于 2021-3-8 17:31:45 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:46
8 q" N/ L! q# x0 |: ?0 T悄咪咪的说,这个原版是我写的
" d5 R/ P; ^- ]9 H4 Z5 {4 P
惊现大佬??' Z0 C5 q* |; ~3 _, p2 Z
 楼主| 发表于 2021-3-8 17:32:39 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:52
8 ], [& J! V# E0 Q+ y; p) ?6 V% m正解,如果不需要分离文件名,只需要改工程图的模板就可以了

8 r4 D- V1 u  f咋改?求教
 楼主| 发表于 2021-3-8 18:04:20 | 显示全部楼层
苏州装配工 发表于 2021-3-8 17:14
* ~7 K! J* a( P" GDim swApp As Object
/ e, I, @. o( A5 q* o1 E8 K
7 T, Q. g) k0 q2 T( DDim Part As Object

6 g0 a& j9 Z, K' p1 D. {! ]0 F; q& _还是不对

本帖子中包含更多资源

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

×
发表于 2021-3-8 18:51:30 | 显示全部楼层
半夏丨迷离 发表于 2021-3-8 18:04
) ~2 U7 Y' a. }6 X3 Q* v还是不对
& k+ m/ v' K& }! _0 t0 S
最后那三项是宏生成的吗?自己图带的话,删除了,宏自己生成出来估计就对了,再不对就不知道了,你可以单步调试一下。我用着没事的。
# n9 o/ K: }' i3 u& @
发表于 2021-3-8 19:20:16 | 显示全部楼层
zhufeng_hgp 发表于 2021-3-8 15:22
# F! q" P+ g7 y: v我用的是凯元工具,图号分离挺好用的,还能读取材料,填入日期,作者等内容,就是非会员一次只能处理9个零 ...
/ z9 j  S1 Y" Y
  我是会员7 F3 v# u1 J6 y9 T; A
发表于 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
0 x9 h# I! ?" V+ n8 ^; m8 F# k5 f自定义属性卡都没有 弄好 肯定识别不了啦,你要把自定义属性连接到工程图模板,然后画图也要用这个模板。B ...
; g& }% {  @# g# g. \; C7 R: a
谢了,我去查查
9 H) B  w/ N3 e! s% T8 T2 n2 ~5 x  H# N. `% a
发表于 2021-3-10 11:06:04 | 显示全部楼层
看起来好复杂的样子。。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-9-22 22:50 , Processed in 0.071744 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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