久々にCATIA V5のネタです。
Drawの解析表示モードを切り替える方法を調べました。
最初は "CATIA.StartCommand" でコマンド呼び出せば良いかな?
と試したのですが駄目でした・・・。
そもそも "CATIA.StartCommand" でコマンドで切り替えられても、
現状がどちらか判断出来ないので、ここで失敗して良かったと
後々に思いました。
検索したところ、こちらがHitしました。
COE : Forums : Deactivate "Analysis Dsiplay Mode"
前半部分ではこちらのボタンをWinAPIで押そうとしているようです。
嫌ですよね、WinAPI使うなんて・・・。
そちらサイトに張られていたリンク先にズバリ!の
答えが記載されていました。
Enregistrer sous PDF, noir et blanc
要は、こちらのオプションの設定をマクロで切り替えればOKと
言う事です。
なるほど、こんな事を良く気が付きましたね。
解析表示モードを"On→Off" 又は "Off→On" に切り替えるマクロです。
Sub CATMain() Dim mode As Boolean mode = switch_analysis_display_mode Dim msg As String msg = IIf(mode, "オン", "オフ") MsgBox "解析表示モードを" & msg & "にしました" End Sub ' Drawの解析表示モードの切り替え Private Function switch_analysis_display_mode() Dim settingControllers1 As SettingControllers Dim settingRepository1 As SettingRepository Set settingControllers1 = CATIA.SettingControllers Set settingRepository1 = settingControllers1.Item("DraftingOptions") '現状の状態を取得 Dim state_analysis_display_mode As Boolean state_analysis_display_mode = settingRepository1.GetAttr("DimDesignMode") If state_analysis_display_mode Then 'offにする switch_analysis_display_mode = False Else 'onにする switch_analysis_display_mode = True End If settingRepository1.PutAttr "DimDesignMode", switch_analysis_display_mode settingRepository1.Commit End Function
"GetAttr" で取得、"PutAttr" で設定です。
なんで "not" が機能しないのかが謎です。もう僕のVBAの知識が駄目かも・・・。