ページ

2010年8月23日月曜日

カメラ(目?)の位置を取得するRubyスクリプト

Ruby コンソールで下記を入力することで、Point3dクラスが保持している値としてカメラの位置が表示されます。

Sketchup.active_model.active_view.camera.eye

単位はインチなのでミリにしたい場合は25.4倍します。

Sketchup.active_model.active_view.camera.eye.x*25.4
Sketchup.active_model.active_view.camera.eye.y*25.4
Sketchup.active_model.active_view.camera.eye.z*25.4

カメラの方向を取得したい場合は下記を使用します。

Sketchup.active_model.active_view.camera.target

ただしこれは方向(ベクトル)ではなくウィンドウ中心の三次元座標です。
ベクトルが必要な場合はtargetの点ベクトルからeyeの点ベクトルを引きます。

Sketchup.active_model.active_view.camera.target-Sketchup.active_model.active_view.camera.eye

ベクトルの長さを1にしたい場合はVector3dクラスのnormalizeメソッドを使用します。

(Sketchup.active_model.active_view.camera.target-Sketchup.active_model.active_view.camera.eye).normalize

2010年8月10日火曜日

「アウトライン表示」のツリーをエクスポートするプラグイン(日本語対応)

まだ未完成ながら骨格部分ができたので公開します。

以下からファイル名の拡張子が変わらないようにダウンロードし、「C:\Program Files\Google\Google SketchUp 7\Plugins」に保存して下さい。
pm_outline.rb

このプラグインは日本語に対応するために「nkf.so」を使用します。お持ちでない方は以下からダウンロードし、「C:\Program Files\Google\Google SketchUp 7\Tools」に保存して下さい。
nkf.so

使用法;
プラグイン→Export Outline.

留意点;
Windowsでしか使えない。
Cドライブのルートディレクトリを読み書きできないと使えない。
表示順序が「アウトライン表示」と異なる。(並べ替えしていない)