[HOM] カレントディレクトリをExplorerで開く

ものぐさな性分で、Explorerをいちいちダブルクリックしてパスを辿って行って、、とかもうホントにごめんなさい、大嫌いです。
そもそもダブルクリックが大層苦手なもので、エクスプローラ開いてからの
最初の目的地(たとえばシーンファイルのパスとか)へはパスを直打ちして移動することにしてます。

が、それも何回もやってると面倒なので、1個Houdini用のスクリプトを書きました。
現在開いているシーンのディレクトリを開くだけの簡易スクリプトです。
今開いてるシーンのデータをバックアップするだとか新しくフォルダ作るだとか、
そういうのは結構頻繁に行うので、比較的簡単に開きたいなと思って書きました。

以下にソース↓

————————————————————————————————
import hou
import os.path
import sys

def openCurrent():
    path = hou.hipFile.name()
    if path == 'untitled.hip':
        print('#[WARNING]: No scene is opened.')
        return
    hip = '\\'.join(path.split('/')[:-1])
    if os.path.isdir(hip):
        os.popen('explorer "%s"' % hip)
        print('>> Open: %s' % hip)
    else:
        print('#[WARANING]: Directory not found: %s' % hip)

————————————————————————————————

見たまんま、です。
若干冗長に書いてありますが、今まさにHOM勉強中の為、
とにかくわかりやすく書くことに徹しています。

実行は、不本意ながら若干面倒くさく、

alt + shift + p でPython Shellを開いた後、モジュールをインポートして、openCurrent()を実行です。
僕の環境だと、
>>> import openDirectory
>>> openDirectory.openCurrent()

となります。

pythonrc.pyなるものを準備するとスタートアップ時に実行してくれるという記述を見つけたので試したのですが、失敗したのでこれはまた今度試します。
それがうまくいけば適当なエイリアスをつけてサクッとディレクトリが開けるようになるので、時間見つけてやってみようと思います。

 
あと中身に関して少し。
まず、通常HScriptなどでは、カレントシーンファイルがあるパスは$HIPという変数でアクセス出来るのですが、Pythonではhou.hipFile.name()でアクセスします。
他にもhou.hscriptExpression()を使ってHscript経由で$HIPの値持ってきたり出来るみたいです。

それ以降は普通にPythonなので特にありません(ぇーー

結局Houdiniでもあれこれ考え始めるとやはりスクリプト系は必須なのかもなーと思いました。
ただ、今回スクリプト使ったのは主にMayaとの連携部分であれこれやっただけなので、
もしHoudini全開なワークフローがあればそれほど必要ないかもしれません。
とはいえ使えると便利なのは間違いないですね。

今後はVEX辺りも含めてあれこれ書いていきたいですが、はてさて、、

コメントを残す

メールアドレスが公開されることはありません。