机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

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

图号分离宏的使用问题

[复制链接]
发表于 2021-3-8 17:14:54 | 显示全部楼层
本帖最后由 苏州装配工 于 2021-3-8 17:27 编辑 $ @) W! P5 K% F% T0 U; Q
7 e( |/ V6 G1 Z3 r) X! R
Dim swApp As Object
3 O- t% s* d* c+ I; c7 w9 p4 O: k& n& n4 X
Dim Part As Object
, ^* Y9 M* D# G1 f, }- D% U9 L
0 d4 `* \0 y  @Dim SelMgr As Object
( j7 e0 x2 u" b) P9 U( @1 j6 q) S3 h& H
4 g. d& R' K( F+ Q; \" LDim boolstatus As Boolean# G9 D2 Y! F3 }
: m9 F: d% |: E4 a$ g9 K; E
Dim longstatus As Long, longwarnings As Long
* M9 X6 N! S( [8 I; L2 a& u+ }  l! I' J0 @" O5 L, @: H# I0 _
Dim Feature As Object
  u# v. h4 z/ \0 g
( e5 x' u" t+ N+ R3 ZDim a As Integer" [- x+ m( ^* Y4 Q; ?% p& S1 q
# n/ F* v0 u! s, B* U% n
Dim b As String
3 M4 M, q; S2 b
2 \3 l$ F* \" @8 I9 W  }Dim m As String2 A4 D# l# z& S2 y) I; v

4 {$ c/ p/ _6 N% _Dim e As String" }7 p+ @2 U" K% n: }5 a) V
) K, |- P: z9 ^' M/ V
Dim k As String
7 w+ f' H/ G- ^: H/ e  H9 V1 ?; a  l' F5 n# l* c% \
Dim t As String
( J  b1 B- z# {( ?, j( m. L6 N% l5 l) A4 q* t- }0 X7 }6 i9 C
Dim c As String/ P$ g- D/ {* m9 ^5 P

- Q% Y7 |1 A) R0 @# n! \) KDim j As Integer
, z8 Q: B5 \. E( J! H" S; u. p' z: X$ u% x4 O
Dim strmat As String7 T1 L0 ~/ Q+ x# K& N1 w7 h

: k: e  m6 m6 G: ]Dim tempvalue As String: \/ {& M1 |9 ~) e6 E  ?+ A, z
0 e; w5 ?5 ^8 ?9 Z
Sub main()
' _1 @5 l# T* K9 [) J! Q& |6 m, V7 Z5 E; }& f
'link solidworks
$ ~& l1 r7 r8 P, S6 e; ^. P" g0 c7 B6 m) L1 W, W
Set swApp = Application.SldWorks) y9 s+ F8 R$ s- U
# Y8 e& ^: g+ E# ^+ `) d
Set Part = swApp.ActiveDoc& R( k' ?7 K7 ~3 c. n' s8 I8 B
3 m8 F5 ]/ s5 G/ q9 Q  S5 g
Set SelMgr = Part.SelectionManager
+ Y. G9 W% S, x0 j
; L1 {6 K- B7 U8 C, {. wswApp.ActiveDoc.ActiveView.FrameState = 1
" q% o* d. f8 Z. z5 n$ N1 M/ ?* \
! d5 Z, h% ~' S'设定变量2 L! B& r9 V1 I6 C; ?
! x  i) c& ^; O9 \
c = swApp.ActiveDoc.GetTitle() '零件名
% j* C6 T0 q2 J! O$ y! G, C% W, d9 T$ Y
4 R3 S9 P$ Z' D) z/ Estrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
: _6 |: [" L3 d: M/ }
8 l: A  P# G5 `. |) [blnretval = Part.DeleteCustomInfo2("", "代号")) w, w7 c  U) u/ P/ ~

+ Q3 S) q3 k! ]" _, u; N& ]blnretval = Part.DeleteCustomInfo2("", "名称")
! A4 k/ E- @) |; x  ?1 e( E5 u, h. n% I
blnretval = Part.DeleteCustomInfo2("", "材料")% _- }, h9 m. i) U) {4 l

: i/ O+ H- ~# _a = InStr(c, ".") - 1
1 W- g" \7 g3 ?* |, t' t. P/ Q/ S% z, k
If a > 0 Then' E) d1 k3 q  X  z6 ?9 k  z3 h# F
  k0 I9 k+ Q0 U# a9 t7 ^. }- ~
    k = Left(c, a)" V+ A- Z+ H; C& C3 t

( [+ M: k/ _3 O. o    t = Left(LTrim(c), 3)
' W6 [* d' B( p- m- e. ]0 s
. z, a9 {* \2 w5 q; w9 P    If t = "GBT" Then
" `% o# X: |/ J( ?2 O9 K, s) _8 @; m7 X% L. B+ X, J
        e = "GB/T" + Mid(k, 4)
! ]) i$ M4 s! d! I9 O& k9 m/ e1 ]/ j4 Q& h( I8 `& J
    Else
) a: L4 {+ x$ Z- M" o3 f  a2 l0 X. [9 g
7 w1 d4 D9 B; L5 ]' j3 E        e = k0 n3 t& n. N4 e2 u6 W" [8 A
# \0 f) H" D9 x5 X- ?/ V3 t  a
    End If
: v( g& J+ q! H; d' q3 X, E* y3 b7 G1 e& B: _" L+ v! B
    b = Mid(c, a + 2)+ |* [3 N, |" S/ F0 \

4 f% K3 O! r! [4 U( x    t = Right(c, 7)1 k; o' C) t; _, j8 ]
" `; H; ^6 s' x
    If t = ".SLDPRT" Or t = ".SLDASM" Then
, \3 {# T# c) _' b2 N" Z7 |0 m; O, O# v# Q- v+ m
        j = Len(b) - 70 ^! Q/ i* h0 T
+ ]. Y' c4 o$ j3 H- K( |3 i
    Else
0 Q2 J( s1 W$ X8 r1 G. N
) u4 U! b' C: m9 _1 p5 x. e        j = Len(b)
  g3 C3 n. t9 p( @
! V) H7 F0 i$ u    End If- D3 e& S! _7 W: e6 S* {. }
   
5 R. n+ X0 }( v, V0 K3 C6 N  If j <> -1 Then& a' _- m. u- V) _' c. T/ M
  ) _  ]. l! m# s1 ]' n* q
    m = Left(b, j)
3 r4 U) \4 Q, n: g! i
! X! Z% i1 k0 o5 P7 @   End If
: h9 V9 v; A2 P5 ~. F   : N( u5 J/ Y, }- e& {6 E) E! V
& {! w, D& p% ~) e5 {
End If
& r& m+ y  V$ H  ]" @, |# I
% [/ h2 g+ p) s8 x' G; Z$ fblnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)3 Q* \: M& }( @9 R* s% z

/ u' Y. d) {1 kblnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)
" p3 D. X7 W$ @/ K; q0 P/ t" ]9 W) G
, F- Z2 C6 B' r" i/ Rblnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, strmat)
' a8 `3 \# r! D: o+ `1 J4 |2 G3 D5 F
End Sub
% {3 h+ t( C) L4 r----------------------------------------------------------------------------------------------------------------
9 h2 H. _) B# q! n3 U* E) ?改了一下,亲测可用。有哪里不符合你的要求回帖再改咯。

点评

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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-8 17:31:45 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:46
1 Z  V/ z; M6 x悄咪咪的说,这个原版是我写的
- q# E6 D0 |9 n7 S; ?6 X. J
惊现大佬??
7 S0 f& f7 m. _2 ~  @9 b. N
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-8 17:32:39 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:52
: x. ~. O% y6 S4 o0 B正解,如果不需要分离文件名,只需要改工程图的模板就可以了
" L7 L4 m5 }. C  S' Z
咋改?求教
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-8 18:04:20 | 显示全部楼层
苏州装配工 发表于 2021-3-8 17:14
+ Y2 Q& u& G+ D& oDim swApp As Object
" c/ b3 `6 F" _4 |' L9 P) ~( s! U. |) |9 O( F+ P" U& w* H2 w$ \9 F
Dim Part As Object
6 t- [4 G, a1 R$ {; h! K
还是不对

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2021-3-8 18:51:30 | 显示全部楼层
半夏丨迷离 发表于 2021-3-8 18:045 B) K7 F  i4 i2 G3 j
还是不对

/ V' W/ {5 U6 s' y+ o9 G7 k最后那三项是宏生成的吗?自己图带的话,删除了,宏自己生成出来估计就对了,再不对就不知道了,你可以单步调试一下。我用着没事的。" z( g2 E8 j7 O' G4 m6 ^
回复 支持 反对

使用道具 举报

发表于 2021-3-8 19:20:16 | 显示全部楼层
zhufeng_hgp 发表于 2021-3-8 15:221 d. t. a. T$ c# |! m& F  ~( C: E
我用的是凯元工具,图号分离挺好用的,还能读取材料,填入日期,作者等内容,就是非会员一次只能处理9个零 ...

/ E# b" Q# |" u4 j4 L  L  我是会员& k# h+ W2 s: 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
( c+ L& g' i) {6 ]自定义属性卡都没有 弄好 肯定识别不了啦,你要把自定义属性连接到工程图模板,然后画图也要用这个模板。B ...

# ^' `' q9 ^3 J谢了,我去查查' ^" g% ]" R3 Q' {7 i& c
/ N- u4 ^) Z: s: |2 N' U3 x
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-29 01:55 , Processed in 0.059524 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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