goo blog サービス終了のお知らせ 

SketchUp (r) を楽しむ

Googleのフリーソフトウエアー「SketchUp (r)」奮戦記

Google SketchUp Ruby API をかじる (1)

2008年12月05日 | Weblog
Google SketchUp Ruby APIについては、今まで多くのサイトで取り上げられ、チュートリアルのサイトもありますが、たまたま今回グーグルのサイトにGoogle SketchUp Ruby APIのページがあったのでちょっとのぞいてみました。

プログラマーでもSEでもなく、Rubyについての知識のまったくない私の出番はありませんが、どんなことができるのか、という興味に誘われかじってみました。

そのページのURLは、http://code.google.com/intl/ja/apis/sketchup/で、APIの参考資料のページ(英語)のURLは、http://code.google.com/intl/ja/apis/sketchup/docs/developers_guide/index.htmlとなっています。

Google MapsのAPIの場合は、私のような素人でも、グーグルが提供しているサンプルを見ると、だいたい見当をつけることができて、ある程度カスタマイズが容易にできます。でもRubyに関する知識が全くない私のような者にとって、Google SketchUp APIは正直言って「ちんぷんかんぷん」、といったところです。

Google SketchUp Ruby APIのDeveloper's Guideのサイトにもサンプル(英語)があって、それを単純にコピーして拡張子「.rb」で保存し、SketchUpのPluginフォルダーに放り込めば、確かに動くことは確認できます。実行した結果は、グーグルのサイトにもありますが、以下の通り12段の単純な階段です。



このサンプル・コードの内容は以下の通りです。(グーグルのサイトよりコピーしたもの)

************************************************************************

require 'sketchup'
def draw_stairs
# variables to control the maximum step height and depth
max_step_height = 8
max_step_depth = 12
step_width = 36

p1 = Geom::Point3d.new(0, 0, 0)
p2 = Geom::Point3d.new(100, 0, 100)
h = (p2 - p1).z
puts "height = #{h}"
p3 = Geom::Point3d.new(p2.x, p2.y, p1.z)
v2 = p3 - p1
l = v2.length
puts "length = #{l}"
n1 = (h / max_step_height).to_i
puts "n1 = #{n1}"
n2 = (l / max_step_depth).to_i
puts "n2 = #{n2}"
numSteps = [n1, n2].max
puts "numSteps = #{numSteps}"

v1 = Geom::Vector3d.new 0, 0, (h/numSteps)
v2.length = l/numSteps
v3 = v1 * v2
v3.length = step_width
model = Sketchup.active_model
entities = model.entities
edges = []
model.start_operation "Stairs"
pt1 = p1
for i in 1..numSteps
# create the front of the step
pt2 = pt1 + v1
pt3 = pt2 + v3
pt4 = pt1 + v3

edges[0] = entities.add_line(pt1, pt2)
edges[1] = entities.add_line(pt2, pt3)
edges[2] = entities.add_line(pt3, pt4)
edges[3] = entities.add_line(pt4, pt1)
entities.add_face edges

# now make the top
pt1 = pt2
pt4 = pt3
pt2 = pt1 + v2
pt3 = pt4 + v2

edges[3] = edges[1]
edges[0] = entities.add_line(pt1, pt2)
edges[1] = entities.add_line(pt2, pt3)
edges[2] = entities.add_line(pt3, pt4)
entities.add_face edges

# move to the next step
pt1 = pt2
end

model.commit_operation
end # def draw_stairs
UI.menu("PlugIns").add_item("Draw stairs") { draw_stairs }

************************************************************************

さっぱりわかりません。まずは、Rubyの基本的な勉強から始める必要があるみたいです。

ということで、基本から勉強することにしました。と言っても今からRubyを一から勉強してもとても追いつけないので、グーグルのサイトで紹介されているサンプルを少しづつ修正しながら、実験しながら、まずは四角形ぐらい描けるようになりたいと思います。

次回から数回勉強したいと思います。

=======================================================================

記事一覧表==>>ここをクリックして下さい。

ビデオ・ギャラリー==>>こちらをクリックして下さい。

=======================================================================


SketchUp 7 Georeferencing (位置設定)

2008年12月04日 | Weblog
SketchUp 6 での位置設定がどうであったか忘れましたが、SketchUp 7 では簡単に設定できるようになったようです。

位置の設定は、メニューバー→「Window」→「Model Info」を選択し、ダイアログボックスが表示されたら、「Location」を選択するとボックスの右側は以下の通り表示されます。

デフォルトでは、マラソンの日本選手などの合宿地としても有名な米国のコロラド州ボルダーとなっています。



それでは、米国とオーストラリアでの影の違いを11月26日13時30分現在で見てみましょう。

まずは、米国のボルダーです。冬に差し掛かろうとしている北半球の年ですから、影も長く伸びます。



次に、南半球のオーストラリアのシドニーにセットすると、影のできる方向が反対側になり、人物の手前は丁度太陽があたらず影になります。また、夏に差し掛かるシドニーですので影が短くなります。それで間違っていなかったでしょうか?



ビデオも用意しましたので、ご参考まで。理科の授業用ビデオみたいですが。

なお、SketchUp の場合、緑の軸は北を、赤の軸は東を指していますが、上記georeferencingの設定ペインには太陽の方向の修正を行うことができるようになっています。(Solar Orientation)


=======================================================================

記事一覧表==>>ここをクリックして下さい。

ビデオ・ギャラリー==>>こちらをクリックして下さい。

=======================================================================


SketchUp レンダリング・プラグイン IDX Reditioner Express

2008年12月03日 | Weblog
レンダリング・プラグインはモデルを作れない私にとって関係ないと言えば関係ない存在です。が、Googleのサイトでもレンダリング・プラグインを紹介しているので、ちょっとやってみました。

レンダリング・プラグインの名前は「IDX Reditioner Express Free」です。有名なプラグインなのかどうかもわかりませんが、インストールしてみました。

デフォルト設定のまま、とにかくレンダリングを行ったのが、以下です。



変な宇宙船(?)ですが、それなりに見えるものです。レンダリングをすれば。

このプラグインをインストールするとツールバーに以下のようなアイコン(赤の四角形で囲まれた部分)が表示されます。インストールすると自動的にSketchUp 6のプラグイン・フォルダーに保存されるので、SketchUp 6で使っています。

左の3つのリンゴのようなアイコンがレンダリングのボタンで、左からレンダリングの質が低、中、高となっています。
そして順番に、保存、光の調整、背景の色などの設定、サイズの設定、レンダリングの設定のアイコンが配置されています。



このプラグインのダウンロード方法は以下の通りです。

①配布している会社のダウンロードサイトはこちらです。

②同ページの「Click here to get your copy now」をクリックする。

③登録画面が表示されるので、適宜入力し「SUBMIT」のボタンを押す。

④ダウンロード方法の詳細がE-mailで連絡される。(方法と言ってもダウンロードサイトのURLが記載されており、それをcopy&pasteするだけ)

⑤これで、ソフトをダウンロードし、インストールすれば利用できるが、このままだと約1か月しか使用できないのでactivationを行い継続使用に変更する必要がある。

⑥ここからは、インストール後のことですが。

レンダリングは、上のアイコンの左側にりんごのようなアイコンをクリックしますが、クリックすると以下のようなウインドウが表示されます。Activation Codeを取得するよう促す警告ウインドウで、取得せずに使い続ける場合は右側のボタン「Get Code Later」をクリックします。



継続使用するためにコードを取得する場合は、左側の「Get Code Online」のボタンをクリックすることになりますが、そのボタンをクリックすると以下のウインドウが表示されます。「Oline Activation Request Form」のボタンをクリックします。



以下のページが表示されます。E-mailアドレスを入力して「Continue」をクリック。



使用者の詳細を登録するページが表示されるので、*印が付いている項目を入力して、「Activate」をクリック。



Activation完了のページが表示され、Activation Codeが下の方に明記されていますが、E-mailでも連絡がきます。



以上で取得したCodeを上記レンダリング時に表示されるウインドウの「Your Activation Code」の欄に入力すれば試用期間を過ぎて継続利用ができるようになります。

=======================================================================

なお、このプラグインはグーグルの日本語サイトでも紹介されていますが、Mac用プラグインと記載されています。但し、英語サイトではWindow/Mac用プラグインとして紹介されています。

この無料版のアウトプットサイズは最大 640X480pxとなります。

光の調節、背景色の設定等ができます。また、レンダリングの品質については、3段階から選択できるようになっており、上記の例は最高品質でのアウトプット。
保存のファイル形式は、*.tif/jpg/bmp/tgaとなっています。

=======================================================================

記事一覧表==>>ここをクリックして下さい。

ビデオ・ギャラリー==>>こちらをクリックして下さい。

=======================================================================



~ちょっと一休み~ Onion Dome の使い道 (SketchUp)

2008年12月02日 | Weblog
さて、色々実験やら検証を行ったOnion Domeですが、その使い道は何かと考えた場合、やはり「りんご」しかないかな、と思いました。洋ナシの方がいいかもしれませんが。あとは、帽子などもいいかもしれません。

以下がその結果です。



また、何か良いアイデアがでてきたら投稿したいと思います。

=======================================================================

記事一覧表==>>ここをクリックして下さい。

ビデオ・ギャラリー==>>こちらをクリックして下さい。

=======================================================================


SketchUp 7 ダイナミック・コンポーネントあれこれ

2008年12月01日 | Weblog
Dynamic Componentsをいじってみました。

1.SANG (デフォルトの人物モデルです)

SketchUp 7 を起動したときに表示(設定によりますが)される人物モデルですが、この場合は、シャツの色を5色の中から選択できるだけです。(6色ありますが、Simple Yellow と White はともに白でした)



一方、SketchUp 3D Warehouseよりダウンロードした同じ名前のモデル人物の場合だと、髪の毛、パンツ、シャツの色を「色の名前(khaki)」「RGB(255 255 255)」「16進数(36465f)」で指定できます。勿論当該の色が表示できる状態になっていればということですが。



2.トラック

ダイナミック・コンポーネントの属性を変更するには、メニューバーの「Window」から「Component Options」を選んで設定ウインドウで行うやり方と、「Tool」のinteractツール(指差しの手のポインター)を使う方法があるようですが、この二つの方法で常に同じことができるとは限らないようです。

ダウンロードしたダイナミック・コンポーネント



Interactツールでクリック



再度Interactツールでクリック



下のスクリーンショットは「Component Options」設定ウインドウを表示させたところです。ここに、荷台の形状を変える場合はInteractツール、スケールを変更する場合は「拡大縮小ツール(スケール)」、運転者席のキャビンの色を変える場合はこのComponent Optionsで、と明記されています。なお、運転者席のキャビンの色については、Interactツールでクリックしても変えることができます。



=======================================================================

記事一覧表==>>ここをクリックして下さい。

ビデオ・ギャラリー==>>こちらをクリックして下さい。

=======================================================================


Google SketchUp Ruby Scripts "Onion Dome"(3)

2008年11月30日 | Weblog
Onion Dome の設定項目のうち、半径(今回はRadius)にマイナス値と0を入力したらどんな結果になるかを検証するのが今回の目的です。



早速ですが、結果は、以下の通りでした。



左が、Radiusに「0」を、右が「-1」を入力したものです。この結果を見てなるほどと納得しました。

=======================================================================

記事一覧表==>>ここをクリックして下さい。

ビデオ・ギャラリー==>>こちらをクリックして下さい。

=======================================================================

Google SketchUp Ruby Scripts "Onion Dome"(2)

2008年11月29日 | Weblog
前回紹介したRuby Scripts "Onion dome"についてもう少し研究したいと思います。メニューバーの「Draw」(描画)をクリックし、「Onion Dome」を選択すると以下左の図のような設定ボックスが表示されます。そして、このままのデフォルト値で「OK」をクリックすると右側のような Onion Dome が自動的に作成されます。



r と Radius は「半径」、h と Height は「高さ」というのはわかるのですが、素人の私にとって、「半径」はr1, r2, Radius の3つあり、どこの部分を指しているか、これだけでは見当がつきません。

そこで、設定する値を上から順番に「0」に設定し、他の値はデフォルト値のままで、作成したのが、下図です。左端がデフォルト値での作成、そして順番に次のは、r2 を「0」に設定し作成.....という具合に作成していった結果です。



勿論、マイナス値を入力してもOKのようです。「Height」に「-1」を入力した結果が以下のとおりです。



では、Radius (半径) にマイナス値を入力した場合はどうなるのでしょう???
そして、「0」を入力した時とは異なるのでしょうか???

次回、実験してみたいと思います。

=======================================================================

記事一覧表==>>ここをクリックして下さい。

ビデオ・ギャラリー==>>こちらをクリックして下さい。

=======================================================================


Google SketchUp Ruby Scripts "Onion Dome"(1)

2008年11月28日 | Weblog
Google SketchUp 7 に限定した話ではないのですが.....

Google SketchUpをより楽しむためのRuby Scriptsがグーグルのサイトなどでも紹介されていますが、ちょっと残念なのは、私が好きな SoapSkinBubble が紹介されていないことです。

でもせっかくですから、その内の一つ「Onion Dome」というRuby Scriptsを試してみました。私自身Google SketchUpより随分と長い間遠ざかっていましたから、このRuby Scriptsをわざわざ紹介する意味があるのかわかりませんが。多分、そんなの珍しくもないという方もいらっしゃるのではないかと思います。が、まあ、いいでしょう。

このスクリーンショットは、Onion Domeをデフォルト値のままで実行したものです。パラメーターは6つあります。そして、このScriptsを実行するには、bezier.rb、mesh_additions.rb、parametric.rbも一緒にインストールしておく必要があります。



見るからに、onion(たまねぎ)ですよね。
ついでに、いつも(以前)のように、何やら無意味で怪しげなものを作ってみました。今回は、真ん中の青い透明な部分なんですが、若干デフォルト値を変更してみました。その変化がおわかりになると思います。



なお、Ruby Scriptsのダウンロードはこちらからです。

セットアップの方法は、ダウンロードサイトより圧縮されたフォルダーをダウンロードして、解凍の上、Ruby ScriptsファイルをC:Program FilesGoogleGoogle SketchUp 7Pluginsにコピーすれば、SketchUp 7を起動した際にメニュバーの「Draw」のプルダウンメニューに「Onion Dome」が表示されます。

今気がつきました。何も英語版を見る必要ありません、ちゃんと日本語版が整備されていました。それに、新しく紹介されたものでもないようです。失礼しました。でも、勉強のためにちょっとこのRuby Scriptをいじってみることにします。あと続く.....

=======================================================================

記事一覧表==>>ここをクリックして下さい。

ビデオ・ギャラリー==>>こちらをクリックして下さい。

=======================================================================




Google SketchUp 7 "Dynamic Components"(3-1)

2008年11月28日 | Weblog
前回の椅子とテーブルのコンポーネントを拡大して念のため検証してみました。

1.「Add Chair Imperfection」を「Yes」とした場合(不揃い):



2.「Add Chair Imperfection」を「No」とした場合(整頓):



これで良くわかりました。ビデオにも録画しておきました。こちらを。

=======================================================================

記事一覧表==>>ここをクリックして下さい。

ビデオ・ギャラリー==>>こちらをクリックして下さい。

=======================================================================


Google SketchUp 7 "Dynamic Components"(3)

2008年11月27日 | Weblog
「Add Chair Imperfection」でしたね。

それでは、以下の図は「Yes」を選択したときのコンポーネントです。赤丸内の椅子の位置に注意して下さい。左の椅子の位置がちょっとまがっていると思いませんか。



以下の図は「No」を選択した時です。椅子が「きちっと」配置されていると思いませんか。



縦横、きちっとしていればいいと言う訳ではありません。現実は常にバランスが崩れているものです。技あり一本!グーグルもなかなかやるな、という感じがしました。でも、この解釈で正しいかどうかは、未だに自信はありません。そのうちにグーグルのサイトに説明が掲載されることでしょう(?)。

このダイナミック・コンポーネントを拡大縮小ツール(スケール)で拡大したら、椅子の数も多くなり、もっとよくわかるかもしれません......

=======================================================================

記事一覧表==>>ここをクリックして下さい。

ビデオ・ギャラリー==>>こちらをクリックして下さい。

=======================================================================