CATIA二次开发:工程图中文本的遍历和修改
在CATIA的VBA(VBS)二次开发中可以通过DrawingView类中的DrawingTexts文字集来遍历视图中的所有文本文字。可以使用Item方法函数通过索引来获取指定的文本文字,例如:
Dim MyView As DrawingView
Set MyView = MySheet.Views.ActiveView
Dim ThisDrawingText As DrawingText
Set ThisDrawingText = MyView.Texts.Item(2)
使用Item获得的是DrawingText类,再通过此类中的Text属性即可获得文本字符串。
还可以通过VBA(VBS)的For Each语法对文本进行遍历,例如:
For Each Text In MyView.Texts
获得视图中的文本字符串后即可使用VBA的Replace函数对字符串进行修改,Replace函数的使用语法为:
Replace(expression、find、 replace、 [start、 [count ,[compare]]])
其中:
expression为要进行更改的字符串;find为查找替换的字符串;replace为替换成的字符串。这三个参数为必选参数,后面三个参数为可选参数。start为要搜索和返回的表达式的子字符串的起始位置,如果省略,则此值为1。count为要执行子字符串替换的次数。如果省略则默认值为-1,表示进行所有可能的替换。compare指示计算子字符串时使用的比较类型的数值,可以设置的值及其含义如下所示:
如果没有指定start和count,Replace返回整个替换后的字符串,如果指定了start和count则返回替换后的start和count指定的子字符串。
示例:遍历工程图视图中的所有文本字符串,并将文本中所有的AAA替换成BBB,代码如下所示。