(完整word版)solidworks代号名称分离宏命令(属性”自定义“或”配置特定“中)

更新时间:2023-08-06 12:28:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SolidWorkS2014基于宏实现快速"图号名称"分离

1.两类代码

>代码1 (内容添加至“自定义下”)

Dim SWAPP AS ObjeCt

Dim Part AS ObjeCt

Dim SeIMgr AS ObjeCt

Dim boolstatus AS BOOlean

Dim IOngstatus AS LOng Z IOngWarnings AS LOng

Dim FeatUre AS ObjeCt

Dim a AS Integer

Dim b AS String

Dim m AS String

Dim e AS String

Dim k AS String

DimtAS String

Dim C AS String

Dimj AS Integer

Dim Strmat AS String

Dim tempvalue AS String

SUb main()

I linkSOlidWOrkS

Set SWAPP = APPliCatiOn.SldWorks

Set Part = SwApp-ActiveDoc

Set SelMgr = Part-SeIectionManager

SwApp-ActiveDoc e ActiveView e FrameState = 1

'设定变量

C = SWAPP.ActiveDoc.GetTitle()'零件名

Strmat = Chr(34) + Trim("SW-MateriaI" + "(3)'1) + c + Chr(34)

blnretval = Part.DeleteCustomlnfo2("","图样代号")

blnretval = Part.DeleteCustomlnfo2("","图样名称")

blnretval = Part.DeleteCustomlnfo2(,"?"材料")

a = InStrfc z,, ")-1 谨点:分隔标识符,这里是一个空格,也可用其他符号区分

If a > OThen

k = Left(C z a)

t = Left(LTrimfe)z 3)

Ift = ll GBT n Then

e = M GBZT M + Mid(k, 4)

EISe

e = k

End If

b = Mid(C z 0 + 2)

t = Right(C# 7)

If t = ll.SLDPRΓ Or t = ,,.SLDASMπ Or t = ll.sldprtπ Or t = ,,.sldasm,,Then

j = Len(b) ?7'消除后缀(区分大小写,即含4种)

EISe

j = Len(b)

End If

m = Left(b, j)

End If

blnretval = Part.AddCustomlnfo3(",?"图样代号", SWCUStOmlnfOTeXt e),代号blnretval = Part.AddCustomlnfo3(,,,?"图样名称笃SWCUStOmInfoText, m)'名称blnretval =

Part.AddCustomlnfo3("","表面处理", SWCUStOmlnfOTeXt"") End SUb

> 代码2 (内容添加至“配置特定”下)

'定义SW

Dim a

Dim b

Dim m

Dim e

Dim k

Dim t

Dim C

Dimj

Dim Strmat

Dim tempvalue Dim Part

Dim SWAPP

Dim SWMOdeIDOC Dim SWC Onfig Dim CUStPrOPMgr Dim SWMOdel AS Integer

AS String

AS String

AS String

AS String

AS String

AS String

AS Integer

AS String

AS String

AS ObjeCt

AS SldWOrkS.SIdWorks

AS SIdWOrkS.ModelDoc2

AS SldWOrkS.Configuration

AS SldWOrkS.CustomPropertyManager AS SIdWOrkS.ModelDoc2

SUb main()

Set SWAPP = APPliCatiOn.SIdWorks

Set SWMOdelDOC = SwApp e ActiveDoc

Set SWCOnfig = SWMOdelDOC.ConfigurationManager e ActiveConfiguration

Set SWMOdel = swApp.ActiveDoc

Set CUStPrOPMgr = SWMOdeI.Extensi On .CustomPropertyManager(SWMOdel. ConfigurationManager. ActiveConfiguratio http://www.77cn.com.cn)'配置特定延伸

'设定变量

C = SWAPP.ActiveDoc-GetTitIeO ,零件名

Strmat = Chr(34) + Irim(M SW-MatenaΓ, + ”@”)+ c + C hr(34)

a = InStr(Cji)-I '重点:分隔标识符,这里是一个空格,也町换成其他符号

If a > O Then

k = Left(c, a)

t = Left(LTrimfe), 3)

lft = ,,GBT" Then

e = ,,GB∕T" + Mid(k, 4)

EISe

e = k

End If

b = MieI(C z a + 2)

t = Right(C z刀

If t = ,,.SLDPRT" Or t = ,,.SLDASM" Or t = ,,.sldprt u Or t = ,,.sldasm,,Then

j = Len(b) ■厂消除后缀(区分大小写,即含4种)

EISe

j = Len(b)

End If

m = Left(b, j)

End If

'删除栏

CUStPrOPMgr.Delete ("图样代号")

CUStPrOPMgr.Delete ("图样名称")

CUStPrOPMgr.Delete ("材料")

噺增

CUStPrOPMgr.Add2 "图样代号“,SWCUStOmlnfOText, e

CUStPrOPMgr.Add2 "图样名称",SWCUStOmlnfOTeXt m

CUStPrOPMgr.Add2 "数量", SWCUStOmlnfOTeXt Z ""

CUStPrOPMgr.Add2 "材料",SWCUStOmInfoText z Strmat

CUStPrOPMgr.Add2 "单重", SWCUStOmlnfOTeXt z ""

CUStPrOPMgr.Add2 "总巫",SWCUStOmlnfoTeXt""

CUStPrOPMgr.Add2 "备注", SWCUStOmlnfOText Z ""

End SUb

待别说明:在虚拟件中添加属性时,名称会自动加上从属装配体,IE虚拟件则不会(此问题急需高人指点)

2.操作步骤(以上述代码1为例)

一、宏代码1

新建宏代码:工具——宏一一新建

在文件名中输入:图号分离.Swp :点击保存,进入宏编辑界面:

。旳Iiffl热矛0+1」Q SW6ΘB3 乙St i x E

3?×]≡≡ N

WW≡T P

UoadiIjss>p r PPy

(如?」3」W Y9Λ MS

A<^≡βfr≡'

?βζ53K3≠H?**?M55

&B93Wθ≡

?fi≡

W

»1*?≠>SB≡

Pl^ 4 ii?q ≡?a??rf J TUO^dy

M>Q

TM

(;如口… (XJ) MK>H^ 呻 (切WB&Z *# (=Q)-

WSθ?n C0> 叫

ISQ P

Ka

写代码:复制如下代码,写到上图的2区域;

'从这里开始复制:

'定义SOlidWOrk

Dim SWAPP AS ObjeCt

Dim Part AS ObjeCt

Dim SelMgr AS ObjeCt

Dim boolstatus AS BOOlean

Dim IOngStatUS AS LOng z IOngWarnings AS LOng

Dim FeatUre AS ObjeCt

Dim a AS Integer

Dim b AS String

Dim m AS String

Dim e AS String

Dim k AS String

Dim t AS String

Dim C AS String

Dimj AS Integer

Dim Strmat AS String

Dim IemPVaIUe AS String

SUb main()

'lin k SOIidWOrkS

Set SWAPP = APPliCatiOn.SIdWorks

Set Part = SwApp e ActiveDoc

Set SelMgr = Part-SeIectionManager

SwApp e ActiveDoc-ActiveView e FrameState = 1

'设定变量

C = SWAPP.ActiveDoc-GetTitIeO ,零件名

Strmat = Chr(34) + Trim("SW-MateriaI" + ”@”)+ c + Chr(34) blnretval =

Part.DeleteCustomlnfo2(wl?"代号") blnretval = Part.DeleteCustomlnfo2(','?"名称") blnretval = Part.DeleteCustomlnfo2(,"?"材料")

a = InStr(C#,,,,) -1 '觅点:分隔标识符,这里是一个空格

If a > 0 Then

k = Left(C# a)

t= Left(LTrimfe), 3)

lft = ,,GBΓ Then

e = ,,GBΛ', + Mid(k z 4)

ElSe

e = k

tnd If

b = Mid(C# a ÷ 2)

t= Right(q 7)

If t = ,,.SLDPRΓ Or t = ,,.SLDASM" Then

j = Len(b)? 7

EISe

j = Len(b)

End If

m = Left(b z j)

End If blnretval = Part.AddCustomlnfo3(l,l ? "代号蔦 SWCUStOmlnfoText, e)'代号 blnretval = Part.AddCustomlnfo3(,"? "名称舄 SWCUStOmlnfOTeXt m) ■名称 blnretval = Part.AddCustomlnfo3(,"? "表面处理", SWCUStomlnfOText,"") End SUb 83号分离-图号分离[(代至 Iink soli?rorks

S?t SWAPP β Application SI^VOrkS

S<t P?rt ■ SVAPP ActivtDoc

S?t StIMCr ? Part. StltctaΦrK?A<c?r

IWAPP Activ?Doc. ActivtYitv FrM?St?t? ■ 1 '设

询I .............. ...........

SWAPP Acti”DOC GttTitleO 件名 street - Chr(M) ? Tri?CSHUt?ritT ? V) ? c ? Chr (34)

t??pv?lu? ■ Ptrt CustgInfRC *HM*) HArttYd

? Part Dtl?t<Cust<>?Inf^2f ? Elarttvd - F<rt.

DeltttCustoalftf?2C ? 纬 EhiretY ? Part

DeIeteCustΦalaf«2(a ?

∑I>InStr(c,八)7 ITVyIrnmr --------------- k ≡ L«£t (c> ?) t «

Uft(Lrri?(?L 3)

£6 °¾> )3??→¾C> I£ t ■ PBT TUn ?? PB/T ?

Mia(E 4)

Else

b ? Mi

心? ? 2) t ■ KiCht (e. 7) If t ??.SLDFRT* Or t ? SIJASTun j ? Una) - 7

El”

End If

?? U£t(k j)

?I ≡ F?rt tΦ?Inf^3(*? "代号 ?1 ≡ P?rt 离d<JC"tgInfo3L*? "名瑟 ≡ FIrt KidC5(-? 目 Vlnrttv?1 ■ F?rt. A4^Custo?Inf?3(*? blnrttv?l

■ F?rt. ?lnf?3(*? " blxxr<tτ?l ■ Part λ44CuttMlnf«3( blnr<tv?l ■ Ptrt Ad 上UStgm?3("?,二 BU If

blnr?tv :nCustoeIa£oT«xt, «

nC^stc«Ja£oT«xt> ?)

BWCUXtCalnfoT<xL str??t) IWCUS t CeIqfOT ex

?vCuιtc?InfψT<xt? .SWCUXtc*I

nfφT?xt, *)

保存退出。

第一部分做到这就算完成了。下面是创建宏按钮;

Mkrosoft ViWai BMk f<x APPliCatk>n? -I

X?Φ

MkD 4S ω *λφ β≡½2) MbW ”® X*Φ M?C0fiD ?t!?w

?

4 丄亠件巧 e ? ??Nf*jrir e βM.Ri Iβ??*V? i ∣ S?lt*?rk?

Pf -ι?*

々 S?H)?ι ' lιa? i«J» ?erkv S«t ”S ? ?>l?tatι?^ Sl??rh

S?t Fert ? CVAft A?t ∣v??w S<t S?lM<r ? Faft S*l?<tι?

WAtt SW?>x ArtiV?V ∣?v

END

二、创建宏按钮

1. 返回SOlidWOrkST 作界面,进入自定义工具栏:工具一一自定义;

选择命令选项卡,找到宏,把新建宏按钮拖到工具栏的空白处;13

( ■m V I ° >ι? *??> M O?j??t

>»? P ?* A ? 川 r?DUr A? Obj?<t *t? V*?l?t?tw? Ae Di. l?M>t?<?> U L M < 1?M*.A9 It X^a< h? F??tw? AB gj"Q

?o? ? U lM?<w >i? b A StriBf 川? U Str>M *ι? ? ?? Str?M *t? k U StrIM Bι? t ?t StriM He ? As StrIM >t? j <« l>t?c?r lie ?tr??t AB

StflM >i? UWτ4? 4 M

?1 Mnw

×

B?M*∣ M ×J M ?*ia()

2. 弹出自定义宏按钮对话框:

1、 选择上面保存的宏文件;

2、 指定一个图标,以便在工具栏中显示;

3、 扌旨定一个扌旨示的名称,以便在工具栏中显示;:^占?日?。?峋?Q ?8夕站 ΛBk) ?≈?JlIIG 20S)O OmXPffI va?Wf

OftKf IS 仝

?n«E ■

把这个按钮拖放

到工具栏的空白

地方. M ■标"!自定义

?K ■包■

ItK «

? M 遇昨I ∑Λe

g σjχn<o‰ιo Sffuom 3 © WrVt at

fi?5Z

■■

^nτ≡ .■几廊

黠 MMJK

TWS

工具栏[佚捷方式栏 命令 菜单 as 鼠标笔势I 底

米旦山c? ?½(0)

3. 点击确定,退出自定义宏按钮,完成制作。

快妙吐命令

÷?5∣lr∕n. 自题注钮 菜单

∣as~Γ??^¾

C:\U5ers\five2.000\Desktop\Solcr 圉斗... 图号分离1.main V 外观(A)

图标 选择圉像(6?[

工M 提示(T ):图号分离

| C ?Users ?f ιve2β000?Desktop ?Sold ?E?=

礎定(0) 取消(C) 帮助(H)

自救宏按钮

援作

(A) 宏C ?Users ?five2.000?Desktop ?Soltf ? 图:... 方法(日: 图号分离1?main

选择宏文 V 件 外观(A)

图标

工具提示(T);图号分离

提示(P):

自定义图标 C ?UsersV ∣ve2.00σ?Desktop ?Sold ?≡l —= 要显不的名 称

援作(A) 宏(M):

方法

1

新建零件命名规则:

代号+空格+名称

注意:代号中不能出现空格,宏以第一个空格为分隔符。

本文来源:https://www.bwwdw.com/article/w1yj.html

Top