2008年08月21日

ワイプアウトのON/OFF切替え

ワイプアウト(WipeOut)のON/OFF切替えは
wipeout(えんた)f(えんた) on or off
ですが、システム変数にも格納されない(LT2006で確認)ので一々キーを叩くのが面倒です。

というワケでVBS。印刷なんかの都合で始終使いますよ、と仰るお方様、宜しければ。
それだけのVBSです。ええ。
■ワイプアウト(wipeout)コマンド
目隠しコマンド。印刷したくないよ、とかそういうものに被せて隠せます。
ただし、
・(LT)2002以下は非対応で真っ黒な塗りつぶしになってしまう
→(LT)2002以下とデータ共有する場合は、印刷スタイルにて「濃度0」の色で塗りつぶすなどの方法を取りませう
・ペーパー空間で使用する場合、モデル空間にあるオブジェクトを上手く隠せないので注意(ペーパー空間にあるものは隠せますよ勿論)

■VBSコード
KJUファクトリー様で配布されているAcadRemocon.dllが必要です
im Acad 'Acad変数はErサブルーチンでも使うのでここで宣言
Call Main 'メインルーチンを呼び出し

Sub Main()
Set Acad = CreateObject("AcadRemocon.Body") 'AcadRemocon初期化
If Not Acad.acPostCommand("WIPEOUT") Then Er: Exit Sub 'コマンド送信
Acad.VbSendKeys("{ENTER}")
'フレームのON/OFFを確認
If Not Acad.acSendCommand("F^M", "モード*") Then Er: Exit Sub
If Not Acad.acGetDefaultValue(WIPE) Then Er: Exit Sub
'切り替え
If WIPE="ON" Then
Acad.acPostCommand("OFF^M")
Else
Acad.acPostCommand("ON^M")
End If

End Sub

'エラー処理
Sub Er()
'ユーザーによるキャンセル
If Acad.ErrNumber = vbObjectError + 1000 Then
'ここにキャンセル時の処理を追加
Else
'エラー内容表示
Acad.ShowError
End If
End Sub
個人的に面倒だなぁと思って作った、だけ。付加価値なんて何もないですよいっそ潔いくらい。

15:53│CAD近辺覚書 | |blogram投票ボタン|日コマ雑記帖