「ビュー内の2Dコンポーネントを削除する方法」について御質問頂きました。
2Dコンポーネントについては、DrawingView内のComponentsプロパティの
コレクションが所有した状態になっています。
Option Explicit
Sub CATMain()
Dim dDoc As DrawingDocument
Set dDoc = CATIA.ActiveDocument
Dim msg As String
msg = "2Dコンポーネントを削除するビューを選択してください / ESC-キャンセル"
Dim sel
Set sel = dDoc.selection
Dim status As String
sel.Clear
status = sel.SelectElement2(Array("DrawingView"), msg, False)
If Not status = "Normal" Then Exit Sub
Dim vi As DrawingView
Set vi = sel.Item2(1).Value
sel.Clear
If vi.Components.Count < 1 Then
msg = vi.Name & " には、2Dコンポーネントが有りません"
MsgBox msg
Exit Sub
End If
msg = vi.Name & " には、" & vi.Components.Count & _
"個の2Dコンポーネントが有ります。" & vbCrLf & _
"全て削除しますか?"
If MsgBox(msg, vbQuestion + vbYesNo) = vbNo Then
Exit Sub
End If
CATIA.HSOSynchronized = False
Dim comp As DrawingComponent
For Each comp In vi.Components
sel.Add comp
Next
sel.Delete
CATIA.HSOSynchronized = True
MsgBox "done"
End Sub
同様に
テキスト : Texts
寸法 : Dimensions
等も検索を使用せずに同様の処理が可能です。