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

SketchUp (r) を楽しむ

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

またまた SketchUp 7 Dynamic Components (2)

2008年12月17日 | Weblog
Proではなく無料版のためDynamic Componentsを作ることはできませんが、グーグルのチュートリアル・ビデオなどを見ていると作るのも結構面白そうな感じがします。と言って、Pro版を買えるような状態でもないし、今まででもPro版は買ったことがないし、でも、InteractツールやComponent Optionsを使えば結構楽しめることは間違いないようです。

それでは、「またまたSketchUp 7 Dynamic Components」の続きを....

2.絵画鑑賞

連続図なんて、順番に見ていくのが面倒だ、という方はこちらのビデオをどうぞ。

有名なモナリザの絵です。



Interactツールでクリックすると、私が描いたような絵に....



再度Interactツールでクリックすると、ムンクの叫びです。



Interactツールでクリックすると、再び私が描いたような絵....



今度は、モナリザの絵を表示させ、Component Optionsのボックスを表示させ、「Maintain Artwork Proportions」を「Yes」にすると....



先ほど見た「私が描いたような絵」が元の縦横比で表示されました。さきほどは、モナリザの縦横比で表示されたので縦長になりました。



多分、ビデオの方がわかりやすいと思いますので、こちらをクリックして下さい。

続く.....

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

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

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

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


またまた SketchUp 7 Dynamic Components (1)

2008年12月16日 | Weblog
SketchUp 7 の新しい機能であるDynamic Componentsについては、ネット上でもたくさん紹介・説明されていますが、その中で面白そうなものをいくつか....もうすでに多くの方が試されたり、見たりされたのではないかと思いますが....

1.シャツの色を「作る」:

以前Sangという人物モデルを紹介しましたが、今日はBryce君を紹介します。

Bryce君は、Component OptionsウインドウのMaterialで選択されている「Red Cotton」を着用しています。

これは、「SketchUp 7 ダイナミック・コンポーネントあれこれ」(2008/12/1)で紹介したものとよく似ていますが.....



Materialのプルダウン・メニューで「Mix your own colors(?)」を選択します。



そして、Red, Green, Blueの各要素の値を変化させると、任意の色のシャツになります。この場合Red 125, Green 0, Blue 255に設定。



.....続く

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

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

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

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





確認しました (SketchUp 3D Warehouse の 3Dビューボタン)

2008年12月15日 | Weblog
12月12日(金)(日本時間)に3D Warehouse(3Dギャラリー)にアップした「宇宙船」に「Image(画像)」「3D View(3Dビュー)」のボタンが付加されたことを確認しました。約1日程度でボタンが付けられるようです。

以下がそのページ(英語 日本語)です。「3D View(3Dビュー)」のボタンをクリックして、モデルをドラッグすると360度回転します。



ところで、3Dギャラリーでの使用言語(選択できる言語)が27カ国になったようです。左上の「変更」「Change」「Changer」などそれぞれの言語で表示される変更ボタンをクリックすれば当該言語に変えることができます。



画面左下に「翻訳」という文字が見えますが、ちょっと気になります。また、機会を見てこのブログでも取り上げたいと思います。

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

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

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

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


3D VIEWボタンの追加 (SketchUp 3D Warehouse)

2008年12月13日 | Weblog
Google SketchUpの 3D Warehouseにアップロードされたモデルが3Dで見ることができる「3D View」ボタンが追加されたとこのことです。

早速見てみました。

デフォルトでは「Image」のボタンがクリックされた状態。



「3D View」ボタンをクリックし、しばらくすると左右の矢印が表示され、左右にドラッグすると....



3Dでモデルを見ることができます。このサンプルはあまり良くなかったかもしれません。



なお、この「3D View」ボタンが追加されるにはアップロードしてから1日位時間が必要とのことです。

これではあまりよくわからないので、こちらのビデオの方も見て下さい。

なお、以前作成した変な宇宙船を以下の通り早速3D Warehouseにアップロードしてみました。アップロードしたばかりなので、まだボタンは追加されていません。
(日付は米国時間のようです=日本より遅れています)



「Image」「3D View」ボタンが追加されたら、またこのブログに投稿する予定。また、3Dでウエッブサイト(ホームページ)上でモデルを公開できるプラグインもあるので機会があればこのブログでも紹介したいと思います。

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

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

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

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

Google SketchUp Ruby API をかじる ~おまけ~

2008年12月12日 | Weblog
おまけとして、複数の変数を任意に入力する場合を....
前回のブログの延長線にありますから、特別にやる必要もないでしょうが....
でも、一応確認だけはしておきたいので.....

スクリプトは以下の通りです。 results より取り出す値が若干増えただけです。すなわち、面の枚数に加え辺の長さと間隔の長さも入力できるようにしました。

赤字の部分が変更、追加した部分です。要するに、固定値であった部分をを変数に置き換え、入力値をあてはめることにしただけですが。

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

require 'sketchup'
def draw_surfaces2

prompts = ["Num of Surfaces", "Length of Side", "Length of Interval"]
values = [6,100,10]
results = inputbox prompts, values, "Input Box"

val=results[0]
len=results[1]
inter=results[2]


pt0=[0,0,0]
pt1=[0,len,0]
pt2=[len,len,0]
pt3=[len,0,0]


model=Sketchup.active_model

for i in 1..val
model.entities.add_face(pt0,pt1,pt2,pt3)

pt0.z=pt0.z+inter
pt1.z=pt1.z+inter
pt2.z=pt2.z+inter
pt3.z=pt3.z+inter
end

end #def draw_surfaces2
UI.menu("PluagIns").add_item("複数の平面作成2"){draw_surfaces2}

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

実行結果は連続図で以下の通りです。










これでかなり柔軟に作成することができるようになったと思います。長さの単位なども予め設定しておいた方がいいかもしれません。

WebDialog とか面白そうなものもあるのですが、私の知識ではここまでが精一杯というところです。

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

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

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

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


SketchUp 7 Edit Texture Image (2)

2008年12月11日 | Weblog
それでは、Edit Texture Image を使ってみましょう。連続図でいきます。

テクスチャの素材となる画像をインポートします。





画像をはりつけたところです。



画像上で右クリックして、コンテクストメニューを表示させ、「Make Unique Texture」をクリックして、インポートした画像を面にフィットさせます。この効果については、ビデオの方がわかりやすいと思います。この説明は誤っているかもしれませんが、今回の話題では特に問題はないというところです。



そして、再度コンテクストメニューを表示させ、「Texture」→「Edite Texture Image」をクリックする。



すると、予め登録しておいた(前回のブログ記事を参照)ソフトが起動し、テックスチャーが読み込まれます。



そして、適宜修正なりをします。今回は、わかりやすくするため、Cartoonというフィルターを適用しました。



そして、保存します。ディレクトリー等の設定はすべてそのままで、保存します。



すると、自動的にSketchUp上のテクスチャも修正されたものに置き換わります。



たぶん、この機能は写真照合だけではなく、ほかにも使い道があるように思われます。

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

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

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

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


SketchUp 7 Edit Texture Image (1)

2008年12月10日 | Weblog
SketchUp に関しこのブログで取り上げていない項目はたくさんありますが、取り上げたくとも、取り上げることのできない項目として「写真照合 (Match Photo)」があります。原因はこれに合った写真を撮影出来ないということです。

SketchUp 7 の新機能の中に写真照合にも応用できる新機能「Make Unique Texture」+「Edit Texture Image」があるとSketchUp Blog に記事が掲載されていました。例えば、家の写真に木々とか、余分なものが写りこんでいる場合に、テクスチャーを他のグラフィック・ソフトで修正し、それをまた取り込んで使っていこうというものらしいです。勿論他にも用途は広がると思われますが。

手順は、
1.まず、テクスチャーを編集するソフトウエアーを登録します。
  メニューバーのWindow→Preferences→Applications

  ここまでを連続図で見ると....(バックの四角形は無視)


メニューバーから Window → Preferencesをクリック



Default Image Editorの「Choose」ボタンをクリックして、ファイル選択ウインドウよりソフトの実行ファイルを選択する。



ソフトウエアーへのフルパスが表示される。(この例ではPhotoshopの無料版の呼び声高い GimPhoto1.4.3を選択したところです。)



そして、「OK」ボタンをクリックすれば準備は整うことになります。

このあと、イメージをテックスチャとしてインポートし、修正することになりますが、ちょっと長くなるので次回に。

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

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

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

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


Google SketchUp Ruby API をかじる (4)

2008年12月09日 | Weblog
まず、作成したスクリプトは以下の通りです。

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

require 'sketchup'
def draw_surfaces

prompts = ["Num of Surfaces"]
values = [6]
results = inputbox prompts, values, "Number of Sides"

val=results[0]

pt0=[0,0,0]
pt1=[0,100,0]
pt2=[100,100,0]
pt3=[100,0,0]

model=Sketchup.active_model

for i in 1..val
model.entities.add_face(pt0,pt1,pt2,pt3)

pt0.z=pt0.z+10
pt1.z=pt1.z+10
pt2.z=pt2.z+10
pt3.z=pt3.z+10
end

end #def draw_surfaces
UI.menu("PluagIns").add_item("複数の平面作成"){draw_surfaces}

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

赤字の部分が、インプットのウインドウを表示する部分です。上から

入力欄の表示名
入力欄に表示するデフォルト値
結果の表示ですが、最後の""内はウインドウのタイトル名

となっているようです。詳しくは、このページの inputbox にあります。

インプットした値 results[0] を val という変数に入れるのが青色の部分です。入力の値が複数になると、results[1], results[2] となっていくと思います。

ここまでくると、あとは色々なバリエーションが考えられると思います。

実行結果を連続図で見ると以下の通りです。





デフォルト値の「6」を「10」に変える。



当たり前ですが、10の四角形が描けました。



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

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

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

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


Google SketchUp Ruby API をかじる (3)

2008年12月08日 | Weblog
今回は、面を作成することに挑戦し、その後その面を数枚、間隔をあけて描くこともやってみたいと思います。今回も、こうやればできた、というアバウトな感じでやってみたいと思います。

1.面の作成:

Google SketchUp APIの資料ページの左下に「Methods」(メソッド)の一覧表があり、その中に、add_arcから始まって、add_circle, add_line、それに面を追加すると思われるメソッドのadd_faceがあります。ただ、このサイトだと使い方がよくわからないので、使い方やサンプルが紹介されているこちらのグーグルのサイトの方がわかりやすいと思います。

さて、線を引く場合は、add_lineを使用しましたが、面を描く場合は、add_faceというメソッドがあります。線の場合は2点でしたが、面の場合は4点を定義し、add_faceで面を描けばいいようです。スクリプトは以下の通りです。

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

require 'sketchup'
def draw_face

pt0=[0,0,0]
pt1=[0,100,0]
pt2=[100,100,0]
pt3=[100,0,0]

model=Sketchup.active_model
model.entities.add_face(pt0,pt1,pt2,pt3)

end #def draw_face
UI.menu("PluagIns").add_item("Draw face"){draw_face}

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

以下が実行結果です。




2.5つの面を同じ間隔で積み上げる:

次に上記の面を5つ同じ間隔で積み上げる場合は、ループを使いますが、ルビーの場合の for ループは、以下のような構造をとるとのことです。この場合、8回繰り返します。参考にしたページは、こちらです。

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

for i in 1..8 do
  繰り返す動作の内容
end

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

回数を5にして、それぞれの座標のうち、z 座標の値のみを10だけプラスするようにしました。pt0.z+10 は配列の変数である pt0 の z の値に 10 加算するものです。たぶん、もっとスマートな書き方があるのでしょうが。

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

require 'sketchup'
def draw_5faces

pt0=[0,0,0]
pt1=[0,100,0]
pt2=[100,100,0]
pt3=[100,0,0]

model=Sketchup.active_model

for i in 1..5
model.entities.add_face(pt0,pt1,pt2,pt3)

pt0.z=pt0.z+10
pt1.z=pt1.z+10
pt2.z=pt2.z+10
pt3.z=pt3.z+10
end

end #def draw_face
UI.menu("PluagIns").add_item("Draw 5 faces"){draw_5faces}

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

以下が実行結果です。




ここまでくると、入力フォームを表示させ、面の数を任意で決めて表示させることにも挑戦したいと思いますが、それは次回に.....

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

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

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

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


Google SketchUp Ruby API をかじる (2)

2008年12月06日 | Weblog
ネット上にちらばっているサンプルなどをベースに、まずは線を引くことに挑戦から始めたいと思います。

前回のややこしいスクリプトとその解説から、最初と最後は以下の通りとなるのでしょう。

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

require 'sketchup'
def draw_lines

~~~~~

end #def draw_lines
UI.menu("PlugIns").add_item("Draw lines"){draw_lines}

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

SketchUp用に「draw_lines」というスクリプトを書くという宣言のようなものでしょうか。本当の意味はわからない。そして、スクリプトの内容(~~~~~)を書いて、最後にスクリプトの修了を宣言し、最終行はメニューバーの「Plugins」に「Draw lines」というサブメニュー項目を表示させるスクリプトです。同項目を選択すればスクリプトが実行されることになります。

単純な線を引く場合のサンプルコードはグーグルのサイト(ページのなかほど)に以下の通り例示してありました。Beep音の出し方などもあります。

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

pt1 = [0, 0, 0]

pt2 = [10, 10, 10]

model = Sketchup.active_model

model.entities.add_line(pt1, pt2)

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

要するに、線の始点(pt1)と終点(pt2)をx,y,zの座標で定義して、後はentities.add_line(pt1,pt2)で線を描かせば良いようです。こまかくはわかりませんが、気にせず進みます。

四角形の場合は、線を引くポイントを4つ定義すればいいのでしょう。単純に以下の通り、中間点を2つ追加してみました。そして、メニューバーでの表示を日本語にしました。

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

require 'sketchup'
def draw_fourlines
pt0=[0,0,0]
pt1=[0,100,0]
pt2=[100,100,0]
pt3=[100,0,0]

model=Sketchup.active_model

model.entities.add_line(pt0,pt1)
model.entities.add_line(pt1,pt2)
model.entities.add_line(pt2,pt3)
model.entities.add_line(pt3,pt0)

end #def draw_lines
UI.menu("PluagIns").add_item("四本線を引く"){draw_fourlines}

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

上記スクリプトを拡張子「.rb」で保存し、それをGoogle SketchUpのPluginフォルダーにコピーして、SketchUpを起動すると、メニューバーの「Plugins」に「四本線を引く」と表示されます。当然なんですが、SketchUp 7 で実験しましたが、日本語のサブメニューも問題ありません。



そして、クリックすると....



のように、確かに4本の線が引けました。では、4本の線で囲まれた面を作るにはどうすればいいのか?.......

今回の実験で、SketchUpでのx軸、y軸、z軸が青、緑、赤のどの軸に対応するのかようやくわかりました。素人がおかす間違いをしていました。お恥ずかしい話ですが、青軸がy軸、赤軸がx軸であるとばっかり思っていました。昔習った関数のグラフのイメージから抜け出していませんでした。

なお、あまりよくわかりませんが、3次元の1点を定義する場合は、
pt1=Geom::Point3d.new(x,y,z)などを使用するらしいのですが、変数に配列として、上のように単純に
pt1=(x,y,z)
としても可ということらしいです。

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

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

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

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