狮猿社CATIA

CATIA VBA selection对象与search函数

2020-02-06  本文已影响0人  锦囊喵

原文链接
CATIA VBA 中有一个特别的对象,叫做"Selection"。可以把Selection理解成一个容器或者集合。
Selection中包含了CATIA当前选中的全部对象,可以通过如下代码片段得到Selection

Dim objSelection As Selection
Set objSelection = CATIA.ActiveDocument.Selection

假设未在CATIA内选中元素,那selection对象将会是空集;如果选择1,2,或者更多元素,那selection对象将会包含1,2,或者更多的元素。
除了以上用法,更常用的是在selection对象中进行查找。我们知道在CATIA中手工查找通过菜单 编辑/查找。其实通过VBA中的 selection对象,可以达到相同的目的。selection对象允许 类似手工操作,通过名称、类型、颜色等进行查找。

If you want to select all points named “CENTER_PT” you can select the active document as your selection and search it for a specific name:
假设你想在当前活动文档中选择所有以“CENTER_PT” 开头的点:

Sub CATMain()

    Dim objSel As Selection
    Set objSel =CATIA.ActiveDocument.Selection
    objSel.Search(“Name=CENTER_PT*,all”)

    objcount = objSel.count

    msgbox objcount

End Sub

执行完Search,我们可以使用For循环逐个遍历所选中的对象。如果要对选中的点从1开始重命名,可以参考:

Dim i As Integer

For i = 1 to objSel.Count
objSel.Item(i).Value.Name = objSel.Item(i).Value.Name&i

Next ‘i

查找范围

    objSel.Search(“Name=CENTER_PT*,all”)

以上代码中all,表示最大的查找范围;可以通过指定参数,界定不同的查找范围:

EXAMPLE:

‘hide constraints

selection1.Search “CATAsmSearch.MfConstraint,scr” 

Set visPropertySet1 = Selection1.visProperties

VisPropertySet1.SetShow 1

Selection1.Clear
上一篇下一篇

猜你喜欢

热点阅读