スケッチのマクロはあまり見かけないのですが、スケッチャーに入るところから
抜けるまでの操作をすれば、記録が取れます。
但し、スケッチのマクロを開発する際に困る事があります。
SketchクラスのOpenEdition関数からCloseEdition関数まで処理が
出来ていれば問題ないのですが、エラー等で途中で止まってしまった
場合のスケッチを手動で削除しようとすると
のメッセージが出てしまい、削除する事もスケッチャーに入る事もできない上
CATDUAを行っても解除されない、非常に迷惑な状態になって
しまいます。 結論としてはマクロでクローズするしかないようなので
こんなマクロを用意しました。
'vba スケッチのクローズ Sub CATMain() Dim Msg$: Msg = "クローズするスケッチを選択して下さい : ESCキー 終了" Dim Skt As Sketch Do Set Skt = SelectItem(Msg, Array("Sketch")) If IsNothing(Skt) Then Exit Do Skt.CloseEdition Loop End Sub '選択 Filter指定無し時AnyObject Private Function SelectItem(ByVal Msg$, _ Optional ByVal Filter As Variant = Empty) _ As AnyObject If IsEmpty(Filter) Then Filter = Array("AnyObject") Dim Sel As Variant: Set Sel = CATIA.ActiveDocument.Selection Sel.Clear Select Case Sel.SelectElement2(Filter, Msg, False) Case "Cancel", "Undo", "Redo" Exit Function End Select Set SelectItem = Sel.Item(1).Value Sel.Clear End Function 'Nothing 書き方に統一感が無い為 Private Function IsNothing(ByVal OJ As Variant) As Boolean IsNothing = OJ Is Nothing End Function
恐らく解除は手動では無理っぽいです。