在 for 循环中选择 Catia 零件

Selecting a Catia part in a for loop

我的 For 循环中有一个小错误,因为它不会 select 我想要着色的部分。我用一个变量散列把文档的所有名称都放在那里,然后尝试用 Catia 函数上色,但还是一无所获!

下面是部分代码。 问题区是Select Case。如果找到,它实际上不会 select 和着色部分。

更新:现在我确切地知道问题出在哪里,它是在 select 零件离子化和着色过程中的内壳。不知何故,它甚至 select 这部分。

For n = 1 To DokAnzahl
    Set Dokument = DokumentArray(n)

    ReDim DokumentArrayNew(DokAnzahl)
    DokumentArrayNew(n)  = CStr(Dokument.Name)

    For j = 1 To UBound(arrNamen)
        If arrNamenNew(j) = Left(DokumentArrayNew(n), Len(arrNamenNew(1))) Then
            'MsgBox "They are equal!"
            hash = DokumentArrayNew(n)
            ColorCode(j) = arrFarben(j)
            'MsgBox ColorCode(j) checked

            m = j+1

            Select Case ColorCode(j)
                Case "NEU" 'rot
                    Set sel = catia.activedocument.selection
                    sel.search "Name =hash,all"
                    sel.visproperties.setRealColor 240, 1, 1, 1
                Case "entfällt" 'Gelb
                    Set sel = catia.activedocument.selection
                    sel.search "Name =hash,all"
                    sel.visproperties.setRealColor 240, 240, 16, 1
                Case "COP" 'Grün
                    Set sel = catia.activedocument.selection
                    sel.search "Name =hash,all"
                    sel.visproperties.setRealColor 30, 240, 60, 1
                Case Else
                    MsgBox "no color info"
            End Select
        End If
    Next
Next

您的 Selection.Search 正在搜索单词 "Hash" 而不是变量 hash

中的内容

将您的 Select Case 语句更改为:

Set sel = catia.activedocument.selection
sel.search "Name =*" & hash & "*,all"