28章:3Dサンプル(12章〜27章)の統合

    作成2015.12.10

     Processingの3D機能を利用して3D機械製図への応用を検討してみたいと思います。

  1. 3Dサンプル(12章〜27章)の統合ファイル
     3Dサンプル(12章〜27章)の統合ファイルは下記の「28-1.zip」ファイルをダウンロードしてください。
    [28-1.zip]をダウンロードする。

    解凍するとsketch_3D_My_OB1_1フォルダー内に
    (1)sketch_3D_My_OB1_1.pde
    (2)My_OB.pde
     sketch_3D_My_OB1_1.pdeをダブルクリックすると起動します。


  2. sketch_3D_My_OB1_1タグのスケッチ
     sketch_3D_My_OB1_1タグのスケッチは以下となります。
    //sketch_3D_My_OB1
    My_OB OB;//使用クラスの定義
    void setup()
    {
      size(400, 400, P3D);
      OB=new My_OB();//My_OBクラスのオブジェクトを生成
    }
    
    void draw()
    {
      background(255, 255, 255);
      lights();
      ortho(-width/2, width/2, -height/2, height/2); // Same as ortho()
      translate(width / 2, height / 2);
      rotateY(map(mouseX, 0, width, -PI/1, PI/1));
      rotateX(map(mouseY, 0, height, PI/1, -PI/1));
      //noStroke();
      strokeWeight(0.5);
        
      fill(255, 255, 255);
      scale(1, 1,1);
      //void U_Bolt(float r,float R,float H)//Uボルト
      //OB.U_Bolt(6,45,68);//Uボルト 
      
      //void Z_6Bar(float B,float L)//Z_6角支柱
      //OB. Z_6Bar(12,100);//Z_6角支柱
      
      //void Z_Ring(float r,float R)//リング
      //OB.Z_Ring(6.25,23.75);//リング 
      
      //void Z_Pipe(float Ro,float Ri,float L)//パイプ
      //OB.Z_Pipe(30.25,26.45,100);//パイプ
      
      //void Z_SqPipe(float Wo,float Wi,float L)//角パイプ
      //OB.Z_SqPipe(50,44,100);//角パイプ
      
      //void Z_Angle(float W,float T,float L)//Angle 山形鋼
      //OB.Z_Angle(50,5,100);//Angle 山形鋼
      
      //void Z_H_shape(float H,float B,float T1,float T2,float L)//H_shape H形鋼
      //OB.Z_H_shape(100,100,6,8,100);//H_shape H形鋼
      
      //void Z_Channel(float H,float B,float T1,float T2,float L)//Channel みぞ形鋼
      //OB.Z_Channel(100,50,5,7.5,100);//Channel みぞ形鋼
      
      //void Z_Nut(float B,float T,float R)//六角ナット
      //OB.Z_Nut(24,13,8);//六角ナット
      
      //void Bolt_A(float r,float R,float H,float L)//六角穴付きボルト
      //OB.Bolt_A(8,12,16,30);//六角穴付きボルト (M16x30)
      
      //void Bolt_B(float r,float B,float H,float L)//六角ボルト
      //OB.Bolt_B(8,24,10,30);//六角ボルト (M16x30)
      
      //void Bolt_C(float r,float R,float L)//六角穴付き皿ボルト
      //OB.Bolt_C(5,9.61,30);//六角穴付き皿ボルト (M16x30)
      
      //void Bolt_D(float r,float R,float H,float L)//台形頭ボルト(アイボルト合成用)
      //OB.Bolt_D(8,15.25,12.5,27);//台形頭ボルト(アイボルト合成用)(M16)
      
      //void Bolt_E(float r,float R,float H,float L,float M,float D)//アイボルト
      //OB.Bolt_E(6.25 ,23.75 ,30 ,27 ,16 ,30);//アイボルト(M16)
      
      //pushMatrix();
      //OB.Catalog_01_1(16,20.5,15,5,19,3.4,2.9);//ケーブルグランド本体
      //translate(0,0,25);
      //OB.Z_Pipe(12,8,5.2);//ケーブルグランド固定ナット
      //popMatrix();
      
      //void STD_01(float L1,float L2,float L3,float L4,float L5,float R,float r)
      OB.STD_01(120,30,20,30,90,38.2,7);//STD_01)パイプクランプ 
    }
    


  3. sketch_3D_My_OB1_1タグのスケッチの解説
    (1)My_OB OB;//使用クラスの定義をします。
    (2)OB=new My_OB();//My_OBクラスのオブジェクトを生成します。
    (3)OB.メソッド名(引数)の形式でメソッドを実行します。
    (4)使用可能なメソッドは12章〜27章で使用したメソッドのみです。
    (5)複数のメソッドを同時に実行すると画像が重なりますので、ひとつだけコメントを解除します。


  4. My_OBタグのスケッチの解説
    (1)スケッチの構造は
    class My_OB
    {
    12章〜27章で使用したメソッドの定義文

    となっています。
    (2)変数、コンストラクタ、ディコンストラクタの定義は無い単純構造です。


  5. 3Dサンプル(12章〜27章)の統合ファイルの実行
    (1)12章〜27章と同じ結果になります。


  6. 3Dサンプル(12章〜27章)の統合まとめ
    (1)単純構造で12章〜27章のメソッドを整理しました。
    (2)実用的には、膨大な数のメソッドが必要になりそうです。
    (3)穴開けはプログラム的な制限事項がありやや面倒なため、重要で無いケースに関しては省略するのが良さそうです。
    (4)膨大な数のメソッドを一気に作成するのは無理があるため、必要に応じてメソッドの定義文を増やすのが良さそうです。
    (5)ほとんどの形状において、メソッドの作成は可能そうです。
    (6)メソッドの作成はどうしても時間がかかりますが、一度できるとパラメータ値の変更は簡単にできます。




29章:3Dサンプル(sketch_3D_STD_02)ベースに行く。

トップページに戻る。