Last updated: August 2012- 2009. Kajiyama                    [ 目次に戻る ]

事例 直線を引く

--スクリプトを大まかに観察することとプラグイン化--


  1. Sketchupには,Ruby API (application programming interface ) が組み込まれている.これを使用して,3次元モデルを作成する.



  2. マウス操作による平面図形作成の方法

    参照 線ツールの使い方   -3D-CADによるものの形のモデリング入門



  3. 直線を引く(作成)とは,どのようなRubyスクリプトか

    ・Google SketchUp Ruby APIの解説「The Ruby Console」の内容を例題として観察する.

    ・次のソースファイルを一行ずつ「Rubyコンソール」で読み込み実行させる.

    ・まず,「Rubyコンソール」下部の入力部分に「pt1 = [0, 0, 0] 」を貼り付け, エンターキーを押す.

    ・全てのスクリプト行を実行するとpt1 = [0, 0, 0]から,pt2 = [10, 10, 0]へ直線が表示される.長さはinch単位である.

    ソースファイル
    
    pt1 = [0, 0, 0]     # 始点pt1の3次元座標(x,y,z)  
    
    pt2 = [10, 10, 0]   # 終点pt2の3次元座標(x,y,z) 
    
    # 図形作成の基本セット 
    # Sketchup Ruby API
    # (application programming interface ) の
    # @ 幾何学図形モデル作成を行う
    model = Sketchup.active_model
    
    # A 直線を引くエンティティを使用する
    model.entities.add_line(pt1, pt2)
    
    # @Aは一行で表現できる
    # model = Sketchup.active_model.entities.add_line(pt1,pt2)
    
    
    「Rubyコンソール」に一行ずつ「入力+エンターキーを押す」.
    
    
    
    実行結果
    
    



  4. スクリプトのプラグイン化

    ・このままのソースファイルでは毎回プログラムををSketchUpに読み込まなければ使用できない.

    ・プラグインの形式にし,一度読み込んだらメニューからこの作業を指示できるようにする.

    ・完成したプラグインを,Google SketchUp X/Pluginsフォルダの中に直接入れると,SketchUpに自動的に読み込まれる仕組みになっている.




  5. 直線を引くRubyスクリプトを,SketchUpプラグイン「3DLine.rb」にする

    ・赤字の部分がプラグイン化するための追加スクリプトである.

    ・次のソースファイルをGoogle SketchUp X/Pluginsの中の「Examples」フォルダに保存する.これを「Rubyコンソール」で読み込み実行させる.

    ・Rubyスクリプトを「SketchUpプラグイン」として使用する場合,日本語化したら,ファイルは「UTF-8N CR+LF」文字コードで保存する.

    ・「Rubyコンソール」下部の入力部分に「load "Examples/3DLine.rb" 」を貼り付け,エンターキーを押す.

    ・実行するとメニュー「プラグイン」に「3DLine」のメニューが表示される.

    ・「3DLine」をクリツクすると指示に従って,直線が表示される.

    ソースファイル
    # プラグインのファイル名をつける 3DLine.rb
    
    
    require 'sketchup.rb'    # ライブラリを読み込む   
    
    
    #メニュー・プラグインの下にサブメニューを表示・定義する
    UI.menu("PlugIns").add_item("3DLine") {
    
       # 直線を描くスクリプトをこの{カッコ内}に記述する
    
       pt1 = [0, 0, 0]    #始点の座標  
       pt2 = [10, 10, 0]  #終点の座標 
       model = Sketchup.active_model 
       model.entities.add_line(pt1, pt2)
    
    }
    
    
    
    「Rubyコンソール」下部の入力部分に
    「load "Examples/3DLine.rb" 」を貼り付け,
    エンターキーを押す.
    これにより,プラグインとして利用できる.
    
    
    実行結果
    
    



  6. 作図スクリプトを関数として定義する

    ・図形を作成するスクリプトに関数名を付けて,def〜endで定義する.

    ・サブメニューから定義した関数を呼び出すようにする.




  7. 直線を引くスクリプトを,関数として定義したプラグイン「3DLine02.rb」にする

    ・直線を作図するスクリプトを「create_3DLine」関数としてdef〜endで定義する.これをサブメニューから呼び出すようにする.

    ・Rubyスクリプトを「SketchUpプラグイン」として使用する場合,日本語化したら,ファイルは「UTF-8N CR+LF」文字コードで保存する.

    ・次のソースファイルをGoogle SketchUp X/Pluginsの中の「Examples」フォルダに保存する.これを「Rubyコンソール」で読み込み実行させる.

    ・「Rubyコンソール」下部の入力部分に「load "Examples/3DLine02.rb" 」を貼り付け,エンターキーを押す.

    ・実行するとメニュー「プラグイン」に「3DLine02」のメニューが表示される.

    ・「3DLine02」をクリツクすると指示に従って,直線が表示される.

    ソースファイル
    # プラグインのファイル名をつける 3DLine02.rb
    
    
    require 'sketchup.rb'   # ライブラリを読み込む
    
    # 直線を描くスクリプをcreate_3DLineとして定義
    def create_3DLine
    
       pt1 = [0, 0, 0]    # 始点の座標  
       pt2 = [10, 10, 0]  # 終点の座標 
       model = Sketchup.active_model
       model.entities.add_line(pt1, pt2)
    
    end
    
    #メニュー・プラグインの下にサブメニューを表示・定義する
    UI.menu("PlugIns").add_item("3DLine02") {
    
     create_3DLine # サブメニューからcreate_3DLineを実行
    
    }
    
    「Rubyコンソール」下部の入力部分に
    「load "Examples/3DLine02.rb" 」を貼り付け,
    エンターキーを押す.
    これにより,プラグインとして利用できる.
    
    実行結果
    
    

[ 目次に戻る ]