「ビュー内の2Dコンポーネントを削除する方法」について御質問頂きました。
2Dコンポーネントについては、DrawingView内のComponentsプロパティの
コレクションが所有した状態になっています。
'vba 指定ビュー内の2Dコンポーネントを削除する Option Explicit Sub CATMain() Dim dDoc As DrawingDocument Set dDoc = CATIA.ActiveDocument 'ビュー選択 Dim msg As String msg = "2Dコンポーネントを削除するビューを選択してください / ESC-キャンセル" Dim sel 'As selection 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 '2Dコンポーネント数確認 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 '2Dコンポーネント削除 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
等も検索を使用せずに同様の処理が可能です。