机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

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

图号分离宏的使用问题

[复制链接]
发表于 2021-3-8 17:14:54 | 显示全部楼层
本帖最后由 苏州装配工 于 2021-3-8 17:27 编辑
+ ?8 V) d) r1 k" i7 r3 Q/ t: q; y% R1 r' P7 a" `
Dim swApp As Object
1 N; d) r4 R3 t( E" W" ~1 G) N/ c8 c$ c8 ~
Dim Part As Object
& U9 D9 r% Q* p  ]2 Z2 D) z2 X* h2 t+ @7 ^- b5 S5 Q5 O
Dim SelMgr As Object
9 X( G" h7 I9 v4 \$ ^+ Y+ S& V2 |* K! n8 P) P/ X- Z& ?
Dim boolstatus As Boolean: \6 a* F) l: y1 k% S9 }0 B
. o& J: w& Y- o" d' X* L, d8 w+ b) h
Dim longstatus As Long, longwarnings As Long# `8 U% G, p, e" p+ b, b7 M, e. R

! k* L$ Q. Y3 D% t8 FDim Feature As Object7 o* d  m' V3 z7 q
6 i: ?' h* n, y6 @) }0 _- X+ ^
Dim a As Integer; D9 i5 w' `- m4 _0 g4 x
! J) M9 y2 ?; R" ?! e; U/ b- Q
Dim b As String' B' B* B2 y! Y% D( H

" O# k$ _4 k* wDim m As String1 n: Z% z! K% \: W' T
1 J' p( G( k2 ]8 n7 V
Dim e As String
' A" s8 q/ V, U$ M0 d% z4 q3 O( C4 B2 _2 t( `% k9 ~' H5 f
Dim k As String
2 k  g' R7 M' n
- u7 [4 S4 ~5 V( u1 @Dim t As String
% G, w- I3 Y9 [" Q2 n" u) u. H  q$ l* `& G$ ?9 g" b
Dim c As String5 I, P& U) G( ]  ?+ ^
# A2 }' @0 g7 S" R0 z& h5 j+ F8 Y; ~
Dim j As Integer
6 J( q4 n, g8 R3 L3 j/ m0 A8 m) P% V# l5 F+ k
Dim strmat As String
: E" g( v& f5 A8 [: W9 ]
3 a$ G; a/ o: n$ U: F: u% DDim tempvalue As String
$ k7 f. d( e9 ?
8 V; l1 ^0 ?+ s2 I5 K0 H2 \2 N" oSub main(): c5 C" }+ |0 N8 x3 x1 m! g: g# l
4 Z1 ~* _3 r, ?
'link solidworks
- p3 P. o1 U% F/ G; |8 O$ b6 V! n5 n( C) }; V7 W
Set swApp = Application.SldWorks' e! ~1 T( K( u4 F
, j3 K0 T0 s3 K& [& m7 C7 a# G
Set Part = swApp.ActiveDoc
, l! K$ r& H# ~6 h; _4 m
/ `: p2 f' M" a  O" V0 T; m8 m% Y0 e0 wSet SelMgr = Part.SelectionManager7 }, |% H' Y! a( {/ C" i* M. |
& ?5 A& m! |0 T8 B6 p& j) E- @9 n
swApp.ActiveDoc.ActiveView.FrameState = 11 n$ t. b6 @3 h3 b% G
' X. ?  j; t+ a$ A; Y
'设定变量
- k( |2 z; m7 g! ]
+ i9 G3 `6 q# T# f2 s) i7 Qc = swApp.ActiveDoc.GetTitle() '零件名
& X2 j: u: D# e0 Y- _+ D; U6 G3 I& W2 F9 s3 _# y% ~
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34): T8 g( Q; y/ H; `
% Z( L+ n! A5 y1 H) \% y0 w
blnretval = Part.DeleteCustomInfo2("", "代号")
  g- F7 _1 V( v" x" {
1 D: D0 |0 z4 M* L; y  xblnretval = Part.DeleteCustomInfo2("", "名称")& q1 S' q' [# C- F0 C& A9 W  X
5 k. n8 m$ L9 m+ Z
blnretval = Part.DeleteCustomInfo2("", "材料")' ]# q0 D  k# H% T. Y
' l$ |9 R& U1 Z, i3 a
a = InStr(c, ".") - 1
' m" o* d+ v- f
6 A" C& Q" L  f4 t; a% Z2 vIf a > 0 Then
4 i# ~" {# Y% M; o
' H7 r( m$ h! c1 Z! Q    k = Left(c, a)' `1 V$ \9 w' B+ }

$ C4 }9 n# t: p    t = Left(LTrim(c), 3)
: u5 r7 X) c' j
' ^5 B% G# |+ ^, I    If t = "GBT" Then
8 F  `5 N& G* j2 [# E$ t  x" z. O
9 S9 P- A( H! R6 N( X- j        e = "GB/T" + Mid(k, 4)
- }3 H$ V/ `5 U# B$ S+ q% ?. J2 p, J4 u& F4 ?" {$ m; Q8 T
    Else! b3 }2 h: b/ A5 l0 N% b
- m& c/ S9 g" m0 O! Q' \& s
        e = k
3 E9 S7 ^- ]7 ^/ C$ n0 l
+ J& Y5 o! [) I. k) a1 C+ W    End If' j5 {) m0 o# W  M8 \
' `5 z/ T$ C" ?1 Q0 ^
    b = Mid(c, a + 2), `' X' B0 T6 J3 f

8 p) a5 H1 E# A5 H    t = Right(c, 7)
' S  X0 ?" g$ c9 L6 O4 v+ Y2 y
& I9 o" c% T: f0 g9 ?    If t = ".SLDPRT" Or t = ".SLDASM" Then
( ?4 J1 t/ I% g2 U
/ W; r4 t4 o9 h$ j        j = Len(b) - 7
2 _1 O; \; \! v
8 E+ B1 N: Q( E0 E" s. r    Else+ C: S' T6 A4 C: ]

6 {2 a$ P& C- ^" N; a        j = Len(b), x' b- |( P; I) Y
, z1 @, B" T$ h4 I6 o5 D
    End If. v7 X9 D% k7 z: J
   
( g% M" P- D4 J1 I2 \0 W  If j <> -1 Then% ~; t6 {! W: k9 W& V
  
3 X: R' P* _: w3 W3 O/ P    m = Left(b, j)
7 u0 q( e+ m2 U* c; S2 ^$ h5 s' V. a& h3 w& w# e- f, ^0 s/ f
   End If
5 z2 K% T- t) z6 O% w/ S. k2 i   2 T6 t2 t3 W/ ], a/ l' M" L: a

1 @  a, u6 c( h/ |4 l3 g8 MEnd If4 \/ o) d* V: z6 e" x0 z- _

) X7 f% d; x5 W& U, Gblnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)6 n7 q7 l3 U. Z& J4 c4 a. G( ^7 _. J2 l
$ U. S- P/ Q5 ~! q$ m" w( J7 ^' B9 T
blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)
3 W( `5 B4 u4 Q4 w3 g" {: E  |, d- d; _( W
blnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, strmat)
8 W  T7 i5 P5 ?; w: Z
% Y, ^8 @8 k( u8 w5 IEnd Sub
* p; @* J2 v- J4 ]. G# Q2 S$ Y----------------------------------------------------------------------------------------------------------------2 p1 |7 k/ e/ k. d( n) G
改了一下,亲测可用。有哪里不符合你的要求回帖再改咯。

点评

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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-8 17:31:45 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:46( q& k2 z" h( W: K) h  n' M+ Y
悄咪咪的说,这个原版是我写的
) v. }4 ]! F5 {0 |0 H. u
惊现大佬??$ g# s. J% _% s. G8 @
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-8 17:32:39 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:52
' j* L6 p/ z' X7 C" d% z+ ?正解,如果不需要分离文件名,只需要改工程图的模板就可以了
# a0 d( T3 y& K7 c+ K
咋改?求教
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-8 18:04:20 | 显示全部楼层
苏州装配工 发表于 2021-3-8 17:14
/ D1 I3 {; a4 o2 y% k4 e7 O7 L$ U8 cDim swApp As Object
8 w! q- ^! T9 ^% {) ?5 Q0 ~- _8 Y( W0 |
Dim Part As Object
8 X: }6 O6 c) ]
还是不对

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2021-3-8 18:51:30 | 显示全部楼层
半夏丨迷离 发表于 2021-3-8 18:04. G. a* K& S* q8 ?" A: F
还是不对

9 E  ?+ q/ A$ c/ Z  X( n0 z; C1 o最后那三项是宏生成的吗?自己图带的话,删除了,宏自己生成出来估计就对了,再不对就不知道了,你可以单步调试一下。我用着没事的。
1 ~1 b# k. v( g9 v* s
回复 支持 反对

使用道具 举报

发表于 2021-3-8 19:20:16 | 显示全部楼层
zhufeng_hgp 发表于 2021-3-8 15:22" P$ ], W/ H% P1 T
我用的是凯元工具,图号分离挺好用的,还能读取材料,填入日期,作者等内容,就是非会员一次只能处理9个零 ...

  I+ G' ^: h: l( s  我是会员. j2 [8 E1 `: @1 ^+ h" X1 B
回复 支持 反对

使用道具 举报

发表于 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
% z2 [4 u8 |9 d; @# F7 X8 b6 f自定义属性卡都没有 弄好 肯定识别不了啦,你要把自定义属性连接到工程图模板,然后画图也要用这个模板。B ...

2 t  M4 v" _2 y# Q& \" l* C谢了,我去查查
4 n0 C- r1 c8 b. v; d0 U' \4 ?; b3 z, c2 _
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-19 06:05 , Processed in 0.060914 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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