找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: 半夏丨迷离

图号分离宏的使用问题

[复制链接]
发表于 2021-3-8 17:14:54 | 显示全部楼层
本帖最后由 苏州装配工 于 2021-3-8 17:27 编辑
- K9 y5 \- e1 g# {! h) A5 p
5 Q1 R3 U# C' g( s( g9 U$ S" o, ]Dim swApp As Object
7 Y9 ?' t* _' I$ v- |6 }1 e5 M
/ w6 f5 ?7 ^; r# x) h/ k' ^  GDim Part As Object4 O' S; v+ P) T- [# U* r/ Y; I7 X5 b1 _

& e; x! V, @6 F/ r5 ^7 NDim SelMgr As Object6 g- S; C) N  E3 Y8 _5 W, Z/ z

' {7 N! l. U1 J( XDim boolstatus As Boolean
* m6 p, y3 O4 F' N6 J% @
: b5 _; L3 @: W  EDim longstatus As Long, longwarnings As Long' Q$ _& j7 r9 C) w/ {$ @

6 t4 ]. P8 }9 t4 N. wDim Feature As Object
" O% t) m) E2 n  A0 ^: q5 M7 g, y
Dim a As Integer$ h/ M5 j0 H- ~8 r+ T
1 C0 o: C0 k) g1 K0 r3 ~* ^/ {
Dim b As String
% O+ |4 c$ B& ]$ F7 R, H& h: T- ~4 y. j; Y  ?8 M2 s
Dim m As String% W0 W. b- |& o- B' ?( ~
4 ~; h4 H/ E0 s( D2 W" d6 m" M
Dim e As String$ o- {! g8 b# b$ T( k+ j
$ ?' }: y6 g9 G% d. H$ z# M/ h
Dim k As String2 h  x% ?2 f" f! K% z3 v+ c
/ B; U7 V" B  b' O- R9 [/ u
Dim t As String
# P/ B% S: s" D: ~$ C/ {
9 y. A% V- \% p" V- rDim c As String. [/ m1 z( N# C& v, O

7 _, C& {6 s- y/ f* |: WDim j As Integer- P0 u) g/ j+ ], ]& z  k: X7 y

# V# @. d9 w( M. H; A: tDim strmat As String! n3 R; B0 k( f3 H( H

( a# w/ U$ K7 `  U; HDim tempvalue As String# K( ?/ {- {. r4 H1 V

/ I* t, G# ~+ ~& U. j# D7 K6 eSub main()
- Z) f9 Q0 t7 q6 t
  J+ p) ~- z9 b# f'link solidworks
. T' i  F2 u; [, Q( z0 j( ~$ B, p/ f2 V
Set swApp = Application.SldWorks
! c% @9 g& W1 @2 |. w- J4 w/ j2 C3 @3 P1 y4 S
Set Part = swApp.ActiveDoc
; p5 a0 F% n5 A0 d2 C3 ~! c1 R) w$ T3 N
Set SelMgr = Part.SelectionManager
. n4 o5 f- _4 n, |3 d3 Y  w! r
8 J4 f- y: }/ y; WswApp.ActiveDoc.ActiveView.FrameState = 1
' s; N' T# [' H2 [, h6 e" P- ?
- A; G3 W4 _3 u'设定变量
4 V1 f% `* c$ g8 ]+ L9 l$ L% S1 ]' N1 ?. L9 ]0 a" T: D; o1 R3 J( P7 O
c = swApp.ActiveDoc.GetTitle() '零件名3 }# n9 O; N" D, Z3 M

- ^2 @: f' \* _$ |" p; S( Vstrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
" w! U8 e3 P6 U  }
3 d) m  P" B1 K0 s: ]) zblnretval = Part.DeleteCustomInfo2("", "代号")
9 j5 R% l. S* w% m1 h/ S% i* Z
1 l  r- g2 f% q" X( b1 B0 h+ vblnretval = Part.DeleteCustomInfo2("", "名称")
, j# `, k! ~' s( c) g1 q  o1 ~" I3 }
! J6 f9 G5 L* V) D$ A3 Nblnretval = Part.DeleteCustomInfo2("", "材料")8 w9 `/ f4 o# ~) t
- i% Z8 N8 j# q2 Y2 b
a = InStr(c, ".") - 1
; g) D" B5 l# V$ f; F; n' p+ y2 N: I9 J
If a > 0 Then
, `# n* q7 N" P" f* o5 N7 J1 t, d+ D( q9 m# J$ Z
    k = Left(c, a)
7 z) D$ F; k4 ~6 Q+ W3 f8 N  }0 l* m( B- M+ X! M
    t = Left(LTrim(c), 3)$ _, T2 t. w; w9 R# x3 H
8 k2 F/ M; t/ Y# ^
    If t = "GBT" Then
4 A2 W2 A; H9 J+ D, W% B! r: Q& C" \% i0 i7 R
        e = "GB/T" + Mid(k, 4)
3 r" V& l4 a0 r. P' F! V9 i+ y  t: G
    Else
6 f( O& z: R6 F; b. s- \. m8 F) p
        e = k" _4 v7 H8 n6 c; H8 _2 a& K
2 y  @; ^4 ?% G1 F( `
    End If9 P& m* r' D/ g7 q1 M

3 e" @$ n4 ]; a' Q9 Y& u    b = Mid(c, a + 2)
% g3 n$ ]3 r, j4 K1 [& o5 }- n  J8 X1 r+ r. m, `+ b  M* a
    t = Right(c, 7)/ `4 `; p$ O7 a! T3 k0 ?, C- B
# Q) n8 t0 _$ Y. Y+ S# d
    If t = ".SLDPRT" Or t = ".SLDASM" Then; J2 D9 P' P3 G
6 ?5 P) K7 p0 o8 @" A5 T1 g" @6 E
        j = Len(b) - 7
) |- h1 v- }+ H' |% Z6 z( r( q% M! j  l3 N
    Else4 R( C6 D  I9 A8 [  _8 h
! |3 W9 o4 Z" S+ t+ |( o- I
        j = Len(b)1 P: u# I. f- A

  L5 f( X! K0 R: f) G    End If0 {( g8 x$ J+ O; ?- k
    ! T0 v1 M6 H- U. ?: @* F+ ?
  If j <> -1 Then2 J9 Q% q( T- Y+ {; ?% r
  1 b5 w+ _2 o/ w! p% W% `
    m = Left(b, j)
) X$ X( X! l+ \9 B. x) L  K" r( M0 H( a- I, T( z, i6 Y2 k4 O
   End If
7 |) Y/ C7 @& `: B   
0 y( V1 ^# a  g; H! c
  H  ?9 \" ]! Z0 R8 mEnd If
# }0 \# y0 |0 @$ D' y: J+ W* U: o0 }4 ^0 s0 R
blnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)
/ l! }# }: F  G
1 D5 a: {: j" d% P; \5 t% vblnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)$ }7 I# u, T- G- c% B$ \4 b: q

/ u# {* S8 x# W0 @0 yblnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, strmat)
2 Q) h- Q! J& Q) _: p
% t8 e! M. E+ b/ C8 bEnd Sub
# `# l$ G3 c/ ~( n----------------------------------------------------------------------------------------------------------------
" k, `: Q2 r/ F! T8 @4 i8 D改了一下,亲测可用。有哪里不符合你的要求回帖再改咯。

点评

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

评分

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

查看全部评分

 楼主| 发表于 2021-3-8 17:31:45 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:46
+ n/ S. ~* y  y% A- I8 e, b悄咪咪的说,这个原版是我写的
7 F$ M9 [& x9 m2 C# Y' T
惊现大佬??
1 @# N" Q( {, Z7 b% h. P
 楼主| 发表于 2021-3-8 17:32:39 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:52% O; x5 S" V# J% _% c% F
正解,如果不需要分离文件名,只需要改工程图的模板就可以了

9 y  ^0 \% K5 z0 y0 Z/ H( b咋改?求教
 楼主| 发表于 2021-3-8 18:04:20 | 显示全部楼层
苏州装配工 发表于 2021-3-8 17:14
$ a/ j- Z3 j$ ^$ nDim swApp As Object
; Y  G8 v% ^! E- j7 A* I. J( D# I/ b3 Q; D
Dim Part As Object

. ?6 ^; U6 O% p0 q还是不对

本帖子中包含更多资源

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

×
发表于 2021-3-8 18:51:30 | 显示全部楼层
半夏丨迷离 发表于 2021-3-8 18:04
1 j6 D$ M$ J) ^; G0 Z$ e- a" L/ g还是不对

$ `( h; f( V; f0 [$ _最后那三项是宏生成的吗?自己图带的话,删除了,宏自己生成出来估计就对了,再不对就不知道了,你可以单步调试一下。我用着没事的。
0 [; {0 B! C% K8 G8 f/ a
发表于 2021-3-8 19:20:16 | 显示全部楼层
zhufeng_hgp 发表于 2021-3-8 15:22
8 o" n+ x* \, }. Y我用的是凯元工具,图号分离挺好用的,还能读取材料,填入日期,作者等内容,就是非会员一次只能处理9个零 ...
, p+ H1 m4 C$ U2 a4 ^% l; C0 S; i) r% P
  我是会员
. G9 Z, y$ z6 p  H* }
发表于 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:190 Q6 S  E) B" P2 T; _% G) B
自定义属性卡都没有 弄好 肯定识别不了啦,你要把自定义属性连接到工程图模板,然后画图也要用这个模板。B ...
6 y( c4 b4 S6 g
谢了,我去查查
% F9 L; C4 M0 ~! z$ G2 O: w9 Q9 h9 o, F) ]- Q7 t# z8 X
发表于 2021-3-10 11:06:04 | 显示全部楼层
看起来好复杂的样子。。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-8-5 12:12 , Processed in 0.074278 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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