catia利用宏批量改名的方法_谁有CATIA批量改名的宏程序啊

' -----------------------------------------------------------

'批量重命名后批量保存

'程序说明:

'程序实现在Product下,对第一层结构树内零件批量重命名,

'并将重命名后的零件以新零件名保存在当前路径下。

'程序运行前应先手动将不需要重命名的零部件隐藏(如外购件等)。

' -----------------------------------------------------------

Sub CATMain()

On Error Resume Next

Set rootDoc = CATIA.ActiveDocument

On Error GoTo 0

If TypeName(rootDoc) <> "ProductDocument" Then

MsgBox "错误!" & vbLf & _

"本程序仅能在Product下运行!" & vbLf & vbLf & _

"程序将被关闭!", vbOKOnly + vbCritical, " "

Exit Sub

End If

MsgBox "注意!" & vbLf & _

"运行前请先隐藏外购件!" & vbLf & vbLf & _

"  ", vbOKOnly + vbInformation, " "

Set productDocument1 = CATIA.ActiveDocument

Set selection = productDocument1.Selection

Set visPropertySet = selection.VisProperties

Set product1 = productDocument1.Product

Set products1 = product1.Products

DocPath = productDocument1.Path '获取当前文档保存路径

' -----------------------------------------------------------

'初始化

' -----------------------------------------------------------

strName = Inputbox("输入组件名","请输入组件名","")

If strName=False Then '取消命名则退出程序

Exit Sub

End If

j=0

k=0

' -----------------------------------------------------------

'寻找相同的part,并隐藏

' -----------------------------------------------------------

For m=1 to products1.Count-1

For n=m+1  to products1.Count

str1 = products1.Item(m).PartNumber

str2 = products1.Item(n).PartNumber

if (Instr(str1,str2)) Then

Set producti = products1.Item(n)

Set products1 = producti.Parent

selection.Add producti

Set visPropertySet = visPropertySet.Parent

visPropertySet.SetShow 1

selection.Clear

end if

Next

Next

' -----------------------------------------------------------

'重命名

' -----------------------------------------------------------

For i=1 to products1.Count

Set producti = products1.Item(i)

Set products1 = producti.Parent

selection.Add producti

Set visPropertySet = visPropertySet.Parent

visPropertySet.GetShow showstate

selection.Clear

If  showstate <> 1 Then  '隐藏为1

If not(Instr(products1.Item(i).PartNumber,strName)) Then

j=j+1

str = CStr(int(j))

if j<10 then

str = "0" & str  '零件号尾部

end if

if 10

str = "0" & str  '零件号尾部

end if

products1.Item(i).PartNumber= strName & "-" & str      '批量修改零件号

strPartNumber = products1.Item(i).PartNumber

products1.Item(i).name = strPartNumber & "." & 1

SaveToFile products1.Item(i), DocPath '保存重命名的文件

end if

end if

Next

' -----------------------------------------------------------

'寻找相同的part,并编号

' -----------------------------------------------------------

k2=1

For m=1 to products1.Count-1

Set producti = products1.Item(m)

Set products1 = producti.Parent

selection.Add producti

Set visPropertySet = visPropertySet.Parent

visPropertySet.GetShow showstate

selection.Clear

If showstate <> 1 Then

For n=m+1  to products1.Count

str1 = products1.Item(m).PartNumber

str2 = products1.Item(n).PartNumber

If (Instr(str1,str2)) Then

k2=k2+1

products1.Item(n).name = str2  & "." & k2

End if

Next

k2=1

End if

Next

Msgbox "文件已保存至该路径--->" & DocPath

End Sub

' -----------------------------------------------------------

' 文件保存路径

' -----------------------------------------------------------

Sub SaveToFile(oProduct, DocPath)

'loop inside the product

Dim i 'As Integer

Dim intIncrement 'As Integer

On Error Resume Next

oProduct.ReferenceProduct.Parent.SaveAs DocPath & "\" & oProduct.PartNumber

On Error GoTo 0

For i = 1 To oProduct.Products.Count

Set prdSubProduct = oProduct.Products.Item(i)

If prdSubProduct.HasAMasterShapeRepresentation() Then

Set prdRefProduct = prdSubProduct.ReferenceProduct

Set docSubDocument = prdRefProduct.Parent

strSubFullPath = docSubDocument.FullName

'identification of the component (CATPart or CATProduct)

Dim extension 'As String

If InStr(strSubFullPath, ".CATPart") Then

extension = ".CATPart"

Else

extension = ".CATProduct"

End If

docSubDocument.SaveAs DocPath & "\" & prdRefProduct.Name & extension

CATIA.DisplayFileAlerts = False

Else

Dim oSubSubProds 'As Products

Set oSubSubProds = prdSubProduct.Products

If oSubSubProds.Count > 0 Then

Call SaveToFile(prdSubProduct, DocPath)

End If

End If

Next

strSubFullPath =""

prdSubProduct =""

prdRefProduct =""

docSubDocument =""

oSubSubProds =""

folderpath =""

End Sub

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海大学计算机组成原理实验13,上海大学计算机组成原理实验报告11.doc

上海大学计算机组成原理实验报告11上海大学计算机组成原理实验报告11上海大学_计算机组成原理实验报告8 2011级上海大学计算机学院 《计算机组成原理二实验》报告8 姓名&#xff1a;学号&#xff1a; 教师&#xff1a;xxx 时间&#xff1a;xxx 地点&#xff1a;xxx机位&#xf…

股票交易日

题目描述&#xff1a; 在股市的交易日中&#xff0c;假设最多可进行两次买卖(即买和卖的次数均小于等于2)&#xff0c;规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行)。给出一天中的股票变化序列&#xff0c;请写一个程序计算一天可以获得的最大收益。请采用实践复杂…

python小老鼠编程_成都python函数学习教程,Python编写课程

1.urllib2/urllib实现urllib2和urllib是Python中的两个内置模块&#xff0c;要实现HTTP功能&#xff0c;实现方式是以urllib2为主&#xff0c;urllib为辅。1.1首先实现一个完整的请求与响应模型urllib2提供一个基础函数urlopen&#xff0c;通过向指定的URL发出请求来获取数据。…

计算机房防火要求,信息机房如何进行防火设计

众所周知&#xff0c;根据机房的使用性质、管理要求及重要数据丢失或网络中断在经济或社会上造成的损失或影响程度&#xff0c;可将电子信息机房分为A、B、C三级。那么&#xff0c;信息机房如何进行防火设计呢&#xff1f;信息机房如何进行防火设计一、选址计算机房建筑规模大、…

js图片前端压缩多图上传(旋转其实已经好了只是手机端有问题要先压缩再旋转)...

var filechooser document.getElementById("choose");// 用于压缩图片的canvasvar canvas document.createElement("canvas");var ctx canvas.getContext(2d);// 瓦片canvasvar tCanvas document.createElement("canvas");var tctx t…

python 案例串接_Python基础系例--字典串操作

字符串字符串是由数字&#xff0c;字母、下划线组成的一串字符创建字符串&#xff0c;可以使用单引号和双引号&#xff1a;var1 Hello World!var2"Hello World!"访问字符串中的值var “Hello World”print(var[0])#运行结果H字符串更新实例&#xff1a;print(var1[0…

计算机串口通信的作用,串口通信的具体用途是什么

串行接口简称串口&#xff0c;也称串行通信接口或串行通讯接口(通常指COM接口)&#xff0c;是采用串行通信方式的扩展接口。串行接口 (Serial Interface) 是指数据一位一位地顺序传送&#xff0c;其特点是通信线路简单&#xff0c;只要一对传输线就可以实现双向通信(可以直接利…

网络连接

网络连接状态&#xff1a; C: S: SYN_SEND             SYN_RECVESTABLISH             ESTABLISH FIN_WAIT1             CLOSE_WAITFIN_WAIT2             LAST_ACK TIME_WAIT      …

拯救者r7000怎么关闭触控板_联想拯救者R7000(2020版)上手体验,有没有AMD Yes?

联想作为一个老品牌&#xff0c;它的产品线有很多系列(电脑、手机、平板、智能家居)&#xff0c;而我们今天来聊一聊电脑系列中的联想拯救者系列电脑。今年的R7000在五月份发布&#xff0c;而我也在六月份入手了一台&#xff0c;被它的外观吸引。硬件方面的参数&#xff1a;小编…

warframe计算机拒绝访问,Win10运行warframe出现蓝屏DRIVER_CORRUPTED_EXPOOL怎么办

warframe是一款科幻题材的第三人称射击网游&#xff0c;一些用户在windows10系统运行warframe过程中经常出现了电脑蓝屏的现象&#xff0c;并且提示“DRIVER_CORRUPTED_EXPOOL”&#xff0c;这是怎么回事&#xff1f;RIVER CORRUPTED EXPOOL错误是由于Windows 10/8/7上的设备驱…

【SpringMVC学习07】SpringMVC中的统一异常处理

我们知道&#xff0c;系统中异常包括&#xff1a;编译时异常和运行时异常RuntimeException&#xff0c;前者通过捕获异常从而获取异常信息&#xff0c;后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。在开发中&#xff0c;不管是dao层、service层还是controller…

vue取通过key取value_彻底理解Vue中的Watcher、Observer、Dep

思考以下代码new Vue({el: #example,data(){return{obj:{a&#xff1a;1}}}, })当我们写下这行代码时,vue将我们在data内定义的obj对象进行依赖追踪.具体做法为执行new Observer(obj)//经过上面的代码&#xff0c;我们的obj对象会变为以下的样子 {obj:{a:1,__ob__:{ //Observer…

浏览器打开服务器上的图片无法显示,网页中的图片打不开怎么办?原因与解决办法...

最近有网友问小编这样一个很泛的问题&#xff1a;网页中的图片打不开怎么办&#xff1f;对于这个问题&#xff0c;其实导致的原因有很多&#xff0c;但也很好排除原因&#xff0c;主要从网络&#xff0c;网页&#xff0c;平台等当面综合去分析&#xff0c;就很容易可以找到答案…

WCF学习之旅—实现支持REST客户端应用(二十四)

WCF学习之旅—实现REST服务&#xff08;二十二&#xff09; WCF学习之旅—实现支持REST服务端应用&#xff08;二十三&#xff09; 在上二篇文章中简单介绍了一下RestFul与WCF支持RestFul所提供的方法&#xff0c;及创建一个支持REST的WCF服务端程序&#xff0c;本文介绍如何调…

arduino智能浇花系统_创新成果 | 养花神器——智能浇花机

养花的人应该多少都会遇到这样的问题&#xff1a;需要根据花的习性定时浇水&#xff0c;但给花浇水是个「技术活」&#xff0c;不记得浇水或水浇多了&#xff0c;都会影响花的生长。针对这个问题&#xff0c;可以研究制作一个简单、实用的自动浇花机。根据检测土壤的湿度&#…

服务器新手装备无限拿指令,【新手指南】服务器指令大全

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼【领地指令】/res ? 领地指令帮助页面/res select 选择命令/res create XX 创建名为XX的领地/res remove XX 删除名为XX的领地/res padd 玩家 给某玩家在领地的所有权限(container bucket build use tp)/res pdel 玩家 取消某玩家…

导出怎么用_微信好友账号怎么导出?微信怎么备份通讯录?

微信好友账号怎么导出?微信怎么备份通讯录?对于经常使用微信社交的朋友&#xff0c;都有一个共同的烦恼&#xff0c;那就是微信只能加5000多个好友&#xff0c;平时还怕一个不小心误删了微信好友&#xff0c;不要烦恼&#xff0c;小编教你导出微信好友!情景一&#xff1a;登录…

什么是 css,关于css是什么

层叠样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言&#xff0c;关于css是什么CSS是Cascading Style Sheet的缩写。译作”层叠样式表单“。是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记…

pickle模块的基本使用

pickle是python的biult-in模块&#xff1b; python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去&#xff0c;永久存储&#xff1b;通过pickle模块的反序列化操作&#xff0c;我们能够从文件中创建上一…

cvpr 深度估计_CVPR再现黑科技!你还在相信“眼见为实”?

全文共2634字&#xff0c;预计学习时长7分钟经常听到有人说&#xff0c;我除了自己的眼睛&#xff0c;什么也不信。自从09年阿凡达(Avatar)电影上映以来&#xff0c;3D渲染、虚拟现实的逼真度总是让人叹为观止。而今&#xff0c;10年过去&#xff0c;最近计算机视觉领域顶级会议…