机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 4638|回复: 10
打印 上一主题 下一主题

看下这个是不是开了挂 搞的 图号 名称分离?

[复制链接]
跳转到指定楼层
1#
发表于 2018-9-11 19:23:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
零件   故意用   图号   加  双引号 名称    出图的时候 名字变成了只有图号 而且 标题栏    也是 只显示  图号~4 u/ U; t7 D! m) ?7 a: v  Q. ~, z' e

# N# y9 g" Z! A4 b: W7 D* Q1 e4 P2 k7 j
怎么弄的??  还有左侧  他这种   子集    树状列表 具体 怎么操作? 好处是 方便图纸整理 规范。& b  N3 J& i8 U0 s

本帖子中包含更多资源

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

x
回复

使用道具 举报

2#
发表于 2018-9-11 20:16:19 | 只看该作者
本帖最后由 晓昀 于 2018-9-11 20:17 编辑 " R! p- A) S) P% d+ |! x. p
) y5 |& m, H9 |4 I) ~. q1 {" s
看看这个零件的属性自定义里名称和图号那里的信息是什么?工程图纸中的信息是来自于零件属性里的信息。软件就是个聪明的大傻瓜,你让它做什么,它就做什么。也只做到那个地步。
回复 支持 反对

使用道具 举报

3#
发表于 2018-9-11 22:49:01 | 只看该作者
只是个普通的宏命令而已,不要大惊小怪,对于这种的同学我都是赞一个,工作有方法
回复 支持 反对

使用道具 举报

4#
发表于 2018-9-11 23:00:27 | 只看该作者
经常大批量且有规范的时候,可以这么做,一劳永逸,正常是简单做个模板。难得出图的情况下,怎么玩都无所谓了
回复 支持 反对

使用道具 举报

5#
发表于 2018-9-12 10:05:44 | 只看该作者
这个双引号显示的是“配置说明”,并非是前面几个大侠说的图号分离。从SW原则来说,零件名跟工程图文件名肯定是同样的。细看楼主的的截图就知道前面几位高手没说到点上。
0 h2 X( _5 q$ D0 l& ]6 ?# A* [关于图号分离问题,是很赞同楼上几位的。下面是图号分离宏(分离到自定义,备注:中间间隔符是空格号。可以根据自己需求改动)
' R) a! }  z+ n'定义solidwork
! J$ m( t% q6 O" \' H/ CDim swApp As Object- b9 x( g" j+ |* k; c5 }5 k
Dim Part As Object0 A3 [5 m' z+ }( J* D2 `
Dim SelMgr As Object. C6 E% G6 w( f1 R1 H. k# d
Dim boolstatus As Boolean+ K" o' q4 I9 C0 r
Dim longstatus As Long, longwarnings As Long! f& k& {' z* @2 p7 t# O2 y9 f& I
Dim Feature As Object
" S" F% h: |0 p. O+ ?* G; V+ z" ADim a As Integer$ y' w3 z. p3 \5 s8 N4 S
Dim b As String' D! z" C9 l* d$ R7 G
Dim m As String2 m2 E: o3 a5 p2 {1 f. U* f4 r7 `
Dim e As String; D! E# G/ w- H- ~- Z
Dim k As String+ d. K) K) l: s) b  V' {
Dim t As String
; L% V6 x5 O+ L0 |- i  `" q$ U9 RDim c As String% f8 g* V3 y; m' H/ K3 R+ j
Dim j As Integer
, a4 {6 i/ ]  `8 z! o3 w8 ADim strmat As String
9 i8 ^, H  w- zDim tempvalue As String
/ L) y- A( t! D5 A% m# DSub main()
4 O! c: |4 H6 P9 X5 J; c! `& J'link solidworks$ [  p" H- P! M1 s
Set swApp = Application.SldWorks, W! {& b# @) ^' Z+ `9 w
Set Part = swApp.ActiveDoc
' p7 ]* k9 P  a' v, Q- t" @; X! lSet SelMgr = Part.SelectionManager
5 D/ O# a. Y, c/ CswApp.ActiveDoc.ActiveView.FrameState = 1
$ `' J( X" u1 S2 U'设定变量
$ x( N0 m. @! W+ dc = swApp.ActiveDoc.GetTitle() '零件名
; ]- P) [. H+ m9 P' y3 Mstrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
/ X$ P) r# _& a2 d6 W" {; Zblnretval = Part.DeleteCustomInfo2("", "代号")9 H* J# s6 r% w6 F2 l2 ^0 E
blnretval = Part.DeleteCustomInfo2("", "名称")5 u. d1 T, ?7 q% [" A$ N) I
blnretval = Part.DeleteCustomInfo2("", "材料")* ~4 e9 l2 I: a$ i7 N! s
a = InStr(c, " ") - 1      '重点:分隔标识符,这里是一个空格
) S$ h: c0 D" X; ~If a > 0 Then3 P4 q; z: d8 D3 y; @& M
    k = Left(c, a), V, s, Q. C& z! b
    t = Left(LTrim(e), 3): z. S: z8 Z1 O! p0 t; R
    If t = "GBT" Then7 o1 P. z6 i  D0 }4 Q
        e = "GB/T" + Mid(k, 4)+ t( D: B- K  f; G( R% V
    Else
) P6 Y, y4 Q3 B        e = k
( {, ~# c2 K4 a) `/ A8 x+ u    End If  t. [( j% W6 Q& ~) j) C
    b = Mid(c, a + 2); ^& t. z6 y% d7 X& Y' e3 \* |
    t = Right(c, 7)
( {2 ~& s; @, c/ H9 V    If t = ".SLDPRT" Or t = ".SLDASM" Then
( \9 U! B5 f: p  K( o3 C$ n        j = Len(b) - 7
5 s7 }- ]9 Y* z( @$ J    Else3 F! O7 n. D2 b. g5 b8 j6 ?5 _
        j = Len(b)0 d' Q5 a8 b: {. [2 W8 O6 k7 l' z
    End If
( Q3 u+ [. p, Q7 ]    m = Left(b, j)
5 l' [) {& S5 H( q, u: g4 {! C, SEnd If
( x. a  V2 F6 nblnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)  '代号
; J" T+ Q" s# L7 f# nblnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)  '名称" X: C+ N$ Q$ h% J! [3 U$ n
blnretval = Part.AddCustomInfo3("", "作者", swCustomInfoText, " 刘腾qq420221716")
/ n& L( p* m  k; e8 X* rEnd Sub3 f" l2 O. u' s

本帖子中包含更多资源

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

x

评分

参与人数 1威望 +1 收起 理由
喂我袋盐 + 1 热心助人,专业精湛!

查看全部评分

回复 支持 反对

使用道具 举报

6#
发表于 2018-9-12 10:08:56 | 只看该作者
下面是分离到配置(备注:间隔符同样是空格号,并可以根据自己需求编辑)! k* ?6 i# y8 _7 ^# H" ^' ~; N
! m$ o2 _$ q9 l+ c
'定义sw5 l: Z# R  p& O3 ^
% [& w. e4 B. ^' f1 k$ n

8 c0 m) f: t2 y% G0 V; z1 ]7 p3 I0 ]) k- X' s& g
Dim a As Integer) T+ I( c7 S9 ~1 W6 D

; v+ \5 x) N( o& p0 S# n6 zDim b As String) g, v0 g, U& s; ^4 V1 n- q5 b

& E# Z; I: {6 \- k7 b  h9 fDim m As String
) \8 T% D( K  r! ]
* t0 m+ O& e' X: P0 q$ n1 H. XDim e As String* d; T8 H# L. g+ `+ Q
- q3 k$ ?; z7 r; g) |, ~
Dim k As String" _% C) W# l3 J

/ t- d+ k& R: a) ]# `7 yDim t As String5 d' y' ~4 X' L: S

0 @3 L# L5 j! s& }$ DDim c As String
0 D' g0 \. K  m# Y- e% K8 h# n3 ^% X) `8 v7 @
Dim j As Integer
8 D5 P1 V4 `: d/ L8 j" l% o. t( z- m7 Y
Dim strmat As String
. e" P% d9 M* c" X. q7 n
; C- c) k0 w0 z% JDim tempvalue As String
& B: [! F% {: o- `$ }! n
2 ?  `; ]) D/ h& w0 T2 |. lDim Part As Object" G6 j$ d# q, Q% @, M0 i' p! q* h

5 q$ p) R1 m# |% a  BDim swApp As SldWorks.SldWorks
( ^; Y& t* }8 Z! b/ L, Y5 _  ~/ L5 I' o' ^2 R; C1 X
Dim swModelDoc As SldWorks.ModelDoc2, ?3 g. t- N, V; ?  L3 f+ j6 H7 w

# @& h7 H5 q# _7 |, e3 O) a* W6 gDim swConfig As SldWorks.Configuration1 P1 Y; J: S; f

% s1 a( z8 P/ qDim CustPropMgr As SldWorks.CustomPropertyManager
$ \9 i1 `' ?  E7 B6 v9 R! X! m$ g- B/ G
Dim swModel As SldWorks.ModelDoc24 E3 e% v. X! V5 W3 K; S( A  ?
4 ^* W0 F. T- Y, ?
. p+ t5 {' t* B3 a" q4 S! U
% U+ y8 C$ Z- ^
Sub main()% L0 g8 c3 A& v1 t8 X

; j6 p% a. N% ]% d* L( O/ o8 \Set swApp = Application.SldWorks" Y' t3 S  W! i  L& P
, `8 C( U  m  a# v$ o, _
Set swModelDoc = swApp.ActiveDoc
5 L! T4 m' P. \4 O' @  m$ g, W  ]% ~8 S( R5 }& j
Set swConfig = swModelDoc.ConfigurationManager.ActiveConfiguration
0 K6 }. m6 d' R' |/ O" x3 `7 u0 }
# G+ P* M& N2 t% MSet swModel = swApp.ActiveDoc
5 H' {5 t. Z8 I8 g4 z* |1 ~/ t" u9 O& K
Set CustPropMgr = swModel.Extension.CustomPropertyManager* X- ~' _+ e3 Q$ I3 g- m8 V# m

. j. A5 d0 ]! h3 e(swModel.ConfigurationManager.ActiveConfiguration.Name) '配置特定延伸. [6 n$ J! y, C0 n6 r& \5 t

% r& |; c% _% y& t
1 d! P3 X/ X' }1 `8 T
% g- u" x2 E  P1 W'设定变量
  y3 Y+ g7 J2 P' d# a2 t/ u
/ t( b6 T& t& X& }# e7 y8 @c = swApp.ActiveDoc.GetTitle() '零件名
8 q& f( S4 o1 y5 E! {
- C2 D' ^+ X3 d- j# Q1 U* dstrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)& C+ X5 e" ^% O3 U+ ]. V0 O4 w
+ H1 b0 Q6 v/ i
a = InStr(c, " ") - 1 '重点:分隔标识符,这里是一个空格,也可换成其他符号0 @1 R" q; R9 L2 W2 K& `; |
# W1 T8 D1 t. q
If a > 0 Then
% T7 R0 I+ S* \6 m/ o
  ~6 Z- T1 T! Jk = Left(c, a), r4 t/ |, q" G' `. b

0 E( a: w8 \; p& T/ pt = Left(LTrim(e), 3)
; j! t2 w; u: b% e; L- T  |
1 T; B7 R# K2 R+ N9 lIf t = "GBT" Then* w2 @& v& N1 R0 E/ t, p

2 f3 f0 t1 Q5 e4 T, n/ Pe = "GB/T" + Mid(k, 4)
8 R) n, l# P2 e" h7 K9 ^6 G6 Y/ b0 p, R6 x+ }- q
Else
9 n. `( b7 {0 S' k
6 Y' e0 g% u# X9 l) Q" V, Oe = k
: d) O' l8 a# S! M  e9 `$ q( W
/ P  `- i2 W% H9 ^. W7 d' JEnd If! O' M2 ?6 g- Y+ O- v/ T$ J5 k

1 T6 X# ?: T8 k* ?- ~/ m0 l  d: Cb = Mid(c, a + 2)
9 f6 M- p* w* T$ u0 j
- O/ }% L) S3 w6 ?t = Right(c, 7). P2 R  \! ^6 S8 S
9 I9 {2 Y1 j" w
If t = ".SLDPRT" Or t = ".SLDASM" Or t = ".sldprt" Or t = ".sldasm" Then
$ ^  V  U/ o% i0 C$ g
' W/ k9 i# _0 }j = Len(b) - 7  '消除后缀(区分大小写,即含4种)
0 p3 d0 P6 b& O
8 U  t! C8 s  D. ?, a& a" iElse' X. K  ~1 B; X! h7 K- _

+ Y1 X! G$ U0 T# pj = Len(b)0 J9 O# M$ w# [! _9 v4 U
# Z! q# N: h% n  q' a2 P
End If0 p2 n2 J. W4 y; o

! r7 H1 D0 e- D+ }; Um = Left(b, j)( |2 @7 f7 q/ _. M+ _3 Q
0 B  R, T- m0 o4 C8 ^. y  ~
End If0 ^+ E- Q% `8 u0 Z6 n" b, s) g
8 v" K7 C7 ]! _7 W
'删除栏1 C0 o4 o8 J7 D, a
4 z8 y% P7 m1 q* [4 r
CustPropMgr.Delete ("Number"): |" v- R$ A5 l7 U0 M  c! @
& W4 f. ]6 z) k" r, t# I+ n
CustPropMgr.Delete ("作者")
" @5 K! t7 x! l' ~
& `# m! S2 G! a/ a, cCustPropMgr.Delete ("图样名称")
& F1 X/ A  k& o  [- U5 r$ `0 o' Z8 n( h$ I& Q7 _% ^) N

! B6 z/ K) m2 u% I% _5 J  v# h  [/ C3 o' E% q, u9 X
1 a3 o2 x3 F) B
# @8 O( K0 t% T
1 t7 O2 }& a* q7 B
'新增
) {& G' y3 i+ q$ r1 V6 E
& T5 ?1 ~- [( {5 U. ^& k3 LCustPropMgr.Add2 "Number", swCustomInfoText, e
% J3 s5 D7 A. ^5 t
  `2 Y) \  W  Y! `" l1 tCustPropMgr.Add2 "作者", swCustomInfoText, "刘腾qq420221716"
4 j2 k' h$ @" O# z$ H6 g4 |+ R4 I+ f* ]7 _, N
CustPropMgr.Add2 "图样名称", swCustomInfoText,  m# N/ w; E3 w2 D7 h6 k" j. r

" F. v; ?2 }( M+ X# ]
% ]6 o$ U* t/ @" y* l/ k/ Z- x- C6 L& m  O
& T9 w4 M5 }6 H+ n; F% s* R2 c6 k
End Sub
* Q$ ~3 p: B8 `: _7 k6 O
8 {: K( E5 M! B: p8 q) d6 \/ K' I2 n. t
回复 支持 反对

使用道具 举报

7#
发表于 2018-9-12 10:11:53 | 只看该作者
金卯刀-劉 发表于 2018-9-12 10:08' r9 X: q3 d( Z1 ]+ F
下面是分离到配置(备注:间隔符同样是空格号,并可以根据自己需求编辑)
6 y/ W9 U% V9 e3 T* M8 X8 ^. Q3 P/ U; V
'定义sw

/ L6 K  h9 r! C当然这里截图显示是上面代码经过编译后的效果。
2 b7 y4 Q0 ?5 `/ B5 q0 z

本帖子中包含更多资源

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

x

评分

参与人数 1威望 +1 收起 理由
喂我袋盐 + 1 热心助人,专业精湛!

查看全部评分

回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2018-9-12 18:35:36 | 只看该作者
金卯刀-劉 发表于 2018-9-12 10:059 i5 w1 m. u4 E) e( x' R% f9 A+ H+ G
这个双引号显示的是“配置说明”,并非是前面几个大侠说的图号分离。从SW原则来说,零件名跟工程图文件名肯 ...
/ e: Q9 x$ M9 f1 u  }( v$ w
他这个 双引号 没有显示在  配置说明的括号里啊 ?直接在 代号后面的
. |- O# ]* i* M4 g
回复 支持 反对

使用道具 举报

9#
发表于 2018-10-6 10:29:37 | 只看该作者
学习了,谢谢!
回复 支持 反对

使用道具 举报

10#
发表于 2018-10-6 11:05:22 | 只看该作者
进来学习!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-19 06:22 , Processed in 0.068345 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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