机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 8465|回复: 20
打印 上一主题 下一主题

图号分离

[复制链接]
跳转到指定楼层
1#
发表于 2019-4-22 14:18:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
软件小白一枚,因为公司需要统一零件模板,并且和我们搭建的PDM关联,需要将文件属性写入配置待定里面。之前用图号分离宏只能把属性写入自定义信息中,配置待定中只有空的标题,分离后的内容不能读取。' I' Z6 Y. x5 u  _
下面是我在网上找的说是可以将图号分离后属性写到配置待定的代码,实际调试有错误,见红色代码。, `# M4 A* O1 j. {$ s4 k$ \
---) f% V& e& v2 Q% ^9 R- F; D
Dim a As Integer* G! i9 W* u- |+ h! N' k: ?
; N1 B6 T% o* V+ T$ r6 q) y1 Q
Dim b As String  D9 F" M# x& Q3 D2 Y/ }6 X

: w& w8 _# Q8 ?: n/ QDim m As String  E7 H3 T5 `  ?
1 P* \  `( t3 u4 c8 k$ l
Dim e As String! a( t" X" D# {: m/ l

/ r" i- z# m) V& \% N1 [3 ~Dim k As String% u8 }1 f7 N% P) ?

4 s% T% J( L% S7 ~Dim t As String
" w/ u6 F8 H7 v
8 n) h3 C4 a4 h  P& h% J" SDim c As String
0 I' k' f+ X8 \& W* q0 F
, Y6 H2 t0 g# Z, K& DDim j As Integer
" b# F  F3 E# }! |( b# b+ i% t1 o( s9 p# b' w' z' x% E
Dim strmat As String
& u: A$ f$ h7 l' X  j- O! i, a
; m3 V7 \  @& C# `9 G9 zDim tempvalue As String4 O! v9 h. L- ^3 P

5 ?. s2 c( \/ R) wDim Part As Object9 H" p5 `* j) k! W

2 x9 ~8 O3 M" bDim swApp As SldWorks.SldWorks5 f7 ~9 S6 c# N" D( o, i# ^8 H( z
  T9 p  O1 {! e
Dim swModelDoc As SldWorks.ModelDoc25 V# b0 w5 U4 ^! J& X

8 Q" @) O: C, m( P6 |4 x, GDim swConfig As SldWorks.Configuration
0 g/ P2 d1 r2 Z. W& W$ [
: I: z# T, H+ o9 j* ^Dim swModel As SldWorks.ModelDoc2
7 A- q. ~! a8 V
6 \! x0 J, G2 |Sub main()
. ]1 b( h5 w6 D! O2 |4 h8 |
( N' P! V% G. t# }9 s4 _0 J8 m6 mSet swApp = Application.SldWorks+ T8 k; J4 s  @4 ]. i1 L' V

2 Q. t7 P2 J8 Y8 `, w- }Set swModelDoc = swApp.ActiveDoc
. f: |) v0 X. ]* O" Z, ~; X- t: y4 H+ K7 V$ @# R
Set swConfig = swModelDoc.ConfigurationManager.ActiveConfiguration
" V4 e( s: A2 y* Z8 b0 n
! f' T9 T. d. P: t/ CSet swModel = swApp.ActiveDoc
( f8 p$ Z  _. s* i, v; |5 `# w7 D/ s  A+ x: {
Set CustPropMgr = swModel.Extension.CustomPropertyManager(swModel.ConfigurationManager.ActiveConfiguratio.Name) '配置特定延伸
6 |6 ]( l" J0 ?+ X; L/ V0 x' d0 q+ e  v, A
'设定变量
  a, H( a; l" z4 Z' V
" w  j9 ?& a( U3 rc = swApp.ActiveDoc.GetTitle() '零件名; H" S, U  @* |. h# e6 C- W
9 l$ ~) [$ a9 d+ T
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
; e, J/ J8 P8 o2 |9 o
4 N! l4 F3 p! l# \9 n! ca = InStr(c, " ") - 1 '重点:分隔标识符,这里是一个空格,也可换成其他符号
5 ?4 m0 u# D1 r' X' g
% D, T# g% Y, zIf a > 0 Then
% l9 I" b' I$ H0 m; v1 M6 H. T+ D% K7 Q1 b# d7 m# K; r
k = Left(c, a)* R/ }) {9 C# |9 o

$ s3 [9 ]4 v4 Y/ [! `t = Left(LTrim(e), 3)
0 u" F+ e+ a; A/ Z
6 J9 m- d7 k. qIf t = "GBT" Then4 _  V6 J4 Q6 D4 p0 t9 j
' C4 ^. ]) |7 V9 R" A# d6 H, f
e = "GB/T" + Mid(k, 4)6 |6 V3 r& p9 M4 O
# `2 r) B( Y* p: p7 u+ \4 }
Else6 I" K: {& B1 b; ~0 F$ B4 P: g

& W5 B: Z. |% `+ M* Pe = k
) `, B- g* h! z8 G+ b& G$ \
! y4 ~$ E6 M- _  I3 z, aEnd If
8 \3 v$ I7 ^1 M+ }6 x
/ u  z5 |3 @: l7 e, h1 kb = Mid(c, a + 2)6 \- y) B+ C: G$ q4 t: c  k/ P0 v: s

: m% T3 F+ A& R2 n( ^6 t4 It = Right(c, 7)
, z) R* Z1 g* u' X) m, {* n3 ?- C" S; H6 a& ]4 ?( k: q7 p) r7 X' M
If t = ".SLDPRT" Or t = ".SLDASM" Or t = ".sldprt" Or t = ".sldasm" Then
9 N/ w' n5 y2 N0 @- W# K- f
' T5 S3 w0 G; x$ J7 u: M" Bj = Len(b) - 7 '消除后缀(区分大小写,即含4种)
0 K# F/ g# o7 d5 {" h7 B, j
( a( x6 a4 g9 b+ aElse- _2 `# ?" t5 @5 D* u! h
2 N6 C% f9 U1 F/ o
j = Len(b)
/ L4 f9 m0 ^7 E: ?/ V. w+ W( P* p: @5 N0 ^- ~
End If
9 ~; T+ Y# j' n( B, M( R6 W5 ^# n& U1 Q9 V8 V* a
m = Left(b, j)9 l) @) _9 F1 ~9 Q  T% Z7 b' y

: y& Y/ n# B3 Q3 {$ }8 r( ^End If- b8 @, u8 X" R  H9 I2 [( s

4 V. h; P4 O7 }'删除栏
' E# u( [4 d. Y4 y: V# v; K) ^* M3 E7 A
CustPropMgr.Delete ("图样代号")
$ o. |1 Y: `3 G' p" l' K; u' S6 K% Q
CustPropMgr.Delete ("图样名称")
$ P% a5 C, F& Q
0 z6 }# y& X3 s1 C, S# _CustPropMgr.Delete ("材料")
2 l8 W' ]  b2 v& \" Z- A
, j, X$ B! g1 V+ T+ _5 T; L'新增
+ V  ^0 a  S9 r/ k9 s$ ~1 S4 @5 g0 J9 \' S" F, a
CustPropMgr.Add2 "图样代号", swCustomInfoText, e
, G$ V: q0 K, I9 X# ?- v% A3 h. D
CustPropMgr.Add2 "图样名称", swCustomInfoText, m
' g" e" ^8 ?3 K# ^
5 P% H" N: g& q$ f/ ICustPropMgr.Add2 "数量", swCustomInfoText, ""
, v& n* l9 M% E* b3 s: ^7 S
& n3 X0 \3 P7 o! G. v9 cCustPropMgr.Add2 "材料", swCustomInfoText, strmat7 R9 d* j8 h  Y/ B3 n$ Y" v5 k6 R
& U9 E, I7 A0 C9 l
CustPropMgr.Add2 "单重", swCustomInfoText, ""
5 s% G' I' y0 q3 e1 [2 o! k
$ d$ V! s% ~5 R; q- NCustPropMgr.Add2 "总重", swCustomInfoText, "") c: A7 Y# x% G' _9 D' {9 c7 u

, O2 l; Y/ L/ P. D0 Z4 LCustPropMgr.Add2 "备注", swCustomInfoText, ""
+ D+ ]* I& d% S* B9 ]
2 g, ^1 I: r& o& h' |  X( I; kEnd Sub
% P( R" Y9 i1 c( S  M* b; A1 N---# _# ]- e, |& C( N8 x% U9 \/ c
想请教下大拿们,这个代码要怎么修改才能管用。之前的图号分离宏,可以让所有属性出现在自定义里。或者有没有办法加一段自动复制自定义里面属性到配置待定里去的代码?
$ j# S) s) V1 [, ^5 W
2 Z/ @, ~" I, ~  d- j4 _3 H在线等大神解惑
- y3 G% h, r6 c: x7 {7 f3 N" m. f) j) E3 `2 d( ^

  E2 B, T1 d2 Q- C! k/ i; W! X

本帖子中包含更多资源

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

x
回复

使用道具 举报

20#
发表于 2024-8-26 09:05:35 | 只看该作者
下来看看
回复

使用道具 举报

19#
发表于 2024-1-25 16:37:34 | 只看该作者
高手如云
回复

使用道具 举报

18#
发表于 2024-1-25 16:00:12 | 只看该作者
看着头晕
9 U. T8 r/ H& t6 j% m4 `
回复

使用道具 举报

17#
发表于 2023-12-14 17:02:59 | 只看该作者

, z; M% p- K' x. f我也有宏
9 Y$ G6 ]2 c. P9 x
回复 支持 反对

使用道具 举报

16#
发表于 2023-12-7 11:55:35 | 只看该作者
唉,看着就头麻,还 是老老实实敲吧$ x) v$ D/ h/ _& z! t
回复 支持 反对

使用道具 举报

15#
发表于 2023-12-6 13:49:08 | 只看该作者
插个眼,有时间再来研究
回复 支持 反对

使用道具 举报

14#
发表于 2023-12-6 09:00:56 | 只看该作者
不能自动生成 “类型” 的那列的值,“数值/文字表达”这列都事空白的,
回复 支持 反对

使用道具 举报

13#
发表于 2023-11-23 22:18:22 | 只看该作者
本帖最后由 laotoule8 于 2023-11-23 22:20 编辑 " u6 q3 }* ~- t* `1 ~# X- u

9 x" W  @0 Z( s) j$ ]+ J不错啊。
回复

使用道具 举报

12#
发表于 2023-11-21 14:41:22 | 只看该作者
C:\Users\Administrator\Desktop

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2024-12-24 11:26 , Processed in 0.052765 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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