SketchUpのRubyStartupオプション

SketchUp起動時にRubyスクリプトを実行させることができる。↓こんな感じ。

D:\>"c:\Program Files (x86)\Google\Google SketchUp 8\SketchUp.exe" -RubyStartup "d:\test.rb"

以下はd:/test.skpを開いて全グループを分解して上書き保存し、SketchUpを終了するコード。win7で動作確認。macではsend_actionの引数がよろしくないので動かないと思います。

# ungroup_all.rb
def ungroup_all
  Sketchup.open_file "d:/test.skp"

  entities = Sketchup.active_model.entities
  entities.each do |entity|
    if entity.typename == "Group"
      entity.explode
    end
  end

  Sketchup.send_action(57603) # save
  Sketchup.send_action(57665) # exit
end
ungroup_all()

ってこれだと入れ子のグループが怪しいですね。そのうち直します。

参考:
SketchUp Command Line: RubyStartup • sketchUcation • 1
Google グループ
batch file - Is there a command line in Google Sketchup to export in 3ds or fbx format? - Stack Overflow
Google グループ

SketchUp Ruby API

SketchUpRuby APIで選択エンティティの属性表示をやろうとして必要になったところ。

メニューに項目追加

...
if (not file_loaded?("test.rb"))
  # メニュー
  tools_menu = UI.menu("Tools")
  tools_menu.add_separator
  tools_menu.add_item("Hoge") { UI.messagebox("Hoge") }
  # コンテキストメニュー
  UI.add_context_menu_handler do |context_menu|
    context_menu.add_separator
    context_menu.add_item("Piyo") { UI.messagebox("Piyo") }
  end
end

file_loaded("test.rb")

ダイアログ

  • メッセージボックスは UI.messagebox
  • 単純な入力用ダイアログがほしければ UI.inputbox
  • 独自のダイアログを作るなら UI::WebDialog

選択エンティティを取得

  model = Sketchup.active_model
  model.selection.each do |entity|
    entity.attribute_dictionaries.each do |ad|
      # ad.name、ad.keys、ad[key] とか
      ...
    end
  end

その他プラグイン周り

  • リロードはRubyコンソールでload "test.rb"

HTC Desire 購入

予約していた HTC Desire (X06HT) を受け取ってきた。


とりあえずこれまで使っていた auW53CA からアドレス帳を移行。
1. W53CAmicroSD にアドレス帳をバックアップ。
2. PC で 1 の microSD カードと Desire をマウントして (microSD カード)/PRIVATE/AU/BU/B_AD/AD__0000.VCF を Desire の適当な場所にコピー。
3. Desire で連絡先アプリケーションのメニューからインポート。
店頭で HTC Sync を使った移行方法の説明文書はもらいましたが, 途中で面倒になってやめました。


amazon でポチった液晶保護シートがまだ届いていないため, ガシガシ触るのが躊躇われる。

MacBook Pro 購入

MacBook Pro を購入。
Mac なのでわからないことが多いのですが、
Control が A の左(日本語キーボードの場合)だったり、テキスト編集でのキーバインドEmacs 風だったりと Emacs 使いにやさしい環境だなーという印象。

Mini 9 に Linux Mint 8 をインストール

Mini 9 に Linux Mint 8 をインストール。


インストール直後、例によって時計表示が +9h されていたが、
Control Center の Time and Date を開いて、UTCオンオフ設定は用意されてるかなーと眺めていたらいつの間にか正常になっていた。
何だったのだろう。


無線 LAN は Control Center の Hardware Driver から Broadcom STA wireless driver を Activate して正常動作。


Main Edition を入れたので日本語周りはなし(Droid Sans Japanese フォントがあるので表示はされてた)。
Ubuntu Japanese Team のリポジトリーを追加していろいろ導入。


/etc/fstab を Inspiron Mini 9の設定記録 - lpubsppop01.log と似たような感じで設定。


後は適当に追加。

Mini 9 に Moblin 2.1 をインストール

今更感がありますが、Mini 9 に Moblin 2.1 をインストール。


本家サイトからダウンロードしたイメージファイルを usb-imagewriter で USB メモリに書き込み。
Live起動で遊んだ後、再起動してローカルディスクにインストール。



日本語入力関係がデフォルトで入ってない件と無線LANが動かない件は以下を参考にさせてもらい解決。


rdesktop が yum では入りませんでしたが、上記の無線LANの作業後の状態から libX11-devel と openssl-devel を追加してビルドできました。


その他気になった点など。

  • Live 起動(とインストール)はやたら速いが、ローカルディスクにインストールして起動するとそれほどでもない。
  • デフォルトフォントとして Droid Sans が設定されており、日本語部分は Droid Sans Japanese で表示されている。
  • タスクバー的なものが普段見えておらず、マウスだけでウインドウを切り替えようとすると面倒。


自分の用途だと合わないような気がするが、しばらくは使ってみる予定。