找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: 半夏丨迷离

图号分离宏的使用问题

[复制链接]
发表于 2021-3-8 17:14:54 | 显示全部楼层
本帖最后由 苏州装配工 于 2021-3-8 17:27 编辑
1 t4 l) w3 s6 E9 B0 V9 F& I1 X9 N8 [8 n
Dim swApp As Object: s3 b' w9 R# W) _9 A

6 A& ?/ k6 c9 h1 N: B0 q& ?Dim Part As Object- o/ y9 L! H( G, d. v+ G1 D
1 l% s; x4 M2 `1 D' l9 |
Dim SelMgr As Object6 U' V* n0 [6 d0 G; w

" |$ D7 e: z& G1 R6 q+ l3 u9 W. ]Dim boolstatus As Boolean
0 g/ [  ~& D3 _- _
0 j  `+ P. y. k: q/ x1 z( ]& d& ]/ ZDim longstatus As Long, longwarnings As Long
% b7 z5 a/ t  S! b8 B  F) g3 L9 |3 {9 H
Dim Feature As Object: Z* P2 f8 O" o/ O1 F5 f
' k1 w  w! y1 l3 R8 s
Dim a As Integer
+ p  m2 d5 w6 T, ]# u. r7 Y% ^8 m& W
Dim b As String0 j# ]' F1 v( f: o
. K, a7 ]  G6 d) X4 H; p; y( L, b
Dim m As String
: p: y& e3 p/ J" o- H" @5 w8 t  l! }* O1 a8 @
Dim e As String
. L- B$ |' Y' U7 B5 F- ]' s" p7 I1 k, B; O
Dim k As String) o! a5 `" x9 R# l
( ?9 g1 R6 C7 v2 e0 J+ e( d
Dim t As String0 I8 K1 Y/ f! L. `$ e+ C. s
: X" d- I/ U9 D9 P/ R7 }' p( U
Dim c As String
7 `9 T. M: H7 W$ A& I. W- R7 c
" c2 u$ |3 e* {% K6 ^  zDim j As Integer. T5 U, f% E( f4 a( ^6 F0 r

+ L$ H& [/ ?. i3 L. ]7 W4 LDim strmat As String
7 ^3 v7 @2 B) _4 m( Q+ d- e$ O$ L+ ]1 S& g* E$ Z  m
Dim tempvalue As String
# p1 Y! @* q1 e3 n7 {* E
& i/ ?8 X- ~8 k# H' h/ ?Sub main()0 w- ~3 c4 e5 p3 F+ Y

8 D+ }! V+ I# _7 n! ?! U  J'link solidworks$ J: g' }& M* S- ^* h2 i& b  F, i

: r( ]7 h+ y9 v( T, l$ uSet swApp = Application.SldWorks" c6 _& N& A; I, w
! I5 I$ f1 W5 s7 G/ E
Set Part = swApp.ActiveDoc
- H. f7 @& N# F# a
* O2 ?* ^2 G6 L$ m8 H$ iSet SelMgr = Part.SelectionManager
4 K3 p! W/ J; {# `9 e# s% U8 O  x6 l5 a5 b6 `! F
swApp.ActiveDoc.ActiveView.FrameState = 1
( z4 t; \, d4 {- q0 ~, Y; f- e
& a% q4 n  R% Z% Z* }# O/ R3 p& [$ t'设定变量
2 G! v4 L! p' L2 |5 r; n- I$ z: n& Y
c = swApp.ActiveDoc.GetTitle() '零件名
) x8 L. o; x+ {3 @0 f; m
7 ~# w& e( y7 {$ _strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)- S1 }! n# v! H/ O# F
& E) r/ u0 {4 ~
blnretval = Part.DeleteCustomInfo2("", "代号"): f# O' J* F7 L5 ?+ ^

# x% F4 E4 _5 sblnretval = Part.DeleteCustomInfo2("", "名称")" C8 ^+ x: ]* g, y1 X

* F3 Y+ Z/ r7 S: A1 |! x5 F5 @blnretval = Part.DeleteCustomInfo2("", "材料"), D1 i3 W5 E  `4 Y; v) A
' k. P/ }; @  v. ~
a = InStr(c, ".") - 1
6 H3 H% F# _+ k# J! v
  |: v8 {: h: h" W9 A8 i5 FIf a > 0 Then
8 }& K6 w7 Z3 g9 Z% j- u. A3 s2 I
    k = Left(c, a)& W1 K/ [# _1 C4 e) X

% C2 r* i5 l/ v: t" G$ C1 \/ e; W    t = Left(LTrim(c), 3)
3 n5 B) g, r) h* K4 y+ E: Y- k  y4 {. R. g, w
    If t = "GBT" Then1 H# K& u0 z0 k) |. E' Q

% [+ x5 [+ X" E  Z8 `        e = "GB/T" + Mid(k, 4)
8 H% }- r  C. l  x# Q0 S- o/ P4 x% q1 q  B% [  z4 l9 C. h
    Else* \1 c2 w- T0 `' t

2 }0 }3 J5 u* E! \/ n4 z        e = k) j; q. W9 P8 O: V2 T, _6 {; [
6 h9 z( k$ ?9 Y1 k9 b
    End If
3 F: ?9 ?  B6 V
" t* R6 z9 D! H& C1 }6 r    b = Mid(c, a + 2)
: y6 c, w% Y3 f: V, r3 M$ i: J( Z% R9 s. _9 O+ Q
    t = Right(c, 7), a$ J, \' u4 }, K/ u
  D2 g3 b+ F$ Z6 U! o7 f* [
    If t = ".SLDPRT" Or t = ".SLDASM" Then, u( X# P9 e) p
' M5 o: f2 O4 i% e
        j = Len(b) - 7- O' w. Y& I& J- w
4 J) \* y( G: p& ]& n3 I* U: Y
    Else: [2 M% L* ~7 {+ C: @

' K( G/ z9 Y& |+ k. j, t        j = Len(b)
' U$ f+ d' _5 K
! C6 B2 l# h$ \    End If
# p' ~0 G; W: m8 |  w# k/ p0 H* C8 O' p    9 _. P# E/ n8 B7 L# |0 N  u
  If j <> -1 Then
2 \+ w* B6 t: m; S  ! a) L3 j6 E. k1 k2 P- a6 V1 K; K
    m = Left(b, j)+ @+ |* V. `2 l

2 m3 L" a# d0 f- q7 Q) A# @) B6 Z   End If# O/ F; J6 j7 A# i: N: ]7 F+ w
   ; q: X4 m+ n, B) P) q7 M
' B* R# L; A% r- {
End If) K* u% B9 N, c8 i5 i, @
# x# o- Y" A1 j: j9 l
blnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)
( e* K1 m9 g0 }0 [, ]+ o# Y
8 o$ @- Y! {1 Kblnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)
; s7 I6 l9 v( S5 B
4 I& ]1 z. B( k9 Y; r* Xblnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, strmat)
$ H  Z1 ^# K- j$ n  D$ Z( e3 h
. U! s6 {# r7 e) |* G. uEnd Sub5 h4 L$ f; v+ l$ w. _4 V
----------------------------------------------------------------------------------------------------------------2 B) b' M; A- M& u
改了一下,亲测可用。有哪里不符合你的要求回帖再改咯。

点评

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

评分

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

查看全部评分

 楼主| 发表于 2021-3-8 17:31:45 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:46
: D3 r8 X3 ~3 {) W1 Q9 C+ G& G悄咪咪的说,这个原版是我写的
; n6 w9 G' K  H# o' K4 y
惊现大佬??" P/ j6 l1 U$ Z- X( t- F
 楼主| 发表于 2021-3-8 17:32:39 | 显示全部楼层
魍者归来 发表于 2021-3-8 16:520 |6 w. Q6 A7 v4 A/ |
正解,如果不需要分离文件名,只需要改工程图的模板就可以了
4 f/ p) Q: H6 |# [
咋改?求教
 楼主| 发表于 2021-3-8 18:04:20 | 显示全部楼层
苏州装配工 发表于 2021-3-8 17:14* _8 m% p& C0 H. y, L3 j
Dim swApp As Object1 ~, @. }- x( h) t7 V
$ G; [# U* Z$ Q" v3 f
Dim Part As Object
4 j0 J' T) n4 H$ G, {
还是不对

本帖子中包含更多资源

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

×
发表于 2021-3-8 18:51:30 | 显示全部楼层
半夏丨迷离 发表于 2021-3-8 18:04
1 \1 W. u/ P/ h% ^# v( E还是不对
& E5 V0 l* v, q5 c0 L# p
最后那三项是宏生成的吗?自己图带的话,删除了,宏自己生成出来估计就对了,再不对就不知道了,你可以单步调试一下。我用着没事的。
1 U* g. m7 n6 X4 b# J/ V
发表于 2021-3-8 19:20:16 | 显示全部楼层
zhufeng_hgp 发表于 2021-3-8 15:22/ N6 u( ?& f# A# X' o
我用的是凯元工具,图号分离挺好用的,还能读取材料,填入日期,作者等内容,就是非会员一次只能处理9个零 ...

& M7 _; C' z. E  我是会员
8 e" b9 m- Q3 X# L# }
发表于 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
% F+ [' r" T0 s& N1 E. ^自定义属性卡都没有 弄好 肯定识别不了啦,你要把自定义属性连接到工程图模板,然后画图也要用这个模板。B ...
& I0 z( i9 k: A% d
谢了,我去查查$ t7 \& K, D1 S

8 ]* F, d9 @; I$ l2 {
发表于 2021-3-10 11:06:04 | 显示全部楼层
看起来好复杂的样子。。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-9-17 14:48 , Processed in 0.072886 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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