31章:3Dサンプル(sketch_3D_My_OB1_4)ソーラー支持棒

    作成2015.12.11

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

  1. 3Dサンプル(sketch_3D_My_OB1_4)ソーラー支持棒完成図
     3Dサンプル(sketch_3D_My_OB1_4)ソーラー支持棒完成図を以下に示します。








  2. sketch_3D_My_OB1_4タグのスケッチ
     sketch_3D_My_OB1_4タグのスケッチは以下となります。
    //sketch_3D_My_OB1_4
    My_OB01 OB01;//使用クラスの定義
    void setup()
    {
      size(650, 400, P3D);
      OB01=new My_OB01();//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(1);
        
      fill(255, 255, 255);
      scale(1,1,1);
      
      OB01.OB01_02();//ユニット01-項番02
    }
    
    (1)上記スケッチにおいて、画像を発生するコードはOB01.OB01_02();です。
    (2)OB01.OB01_02();には引数が無く固定データです。
    (3)OB01はユニット名です。
    (4)_02は項番です。


  3. My_OB01タグのスケッチ
     My_OB01タグのスケッチは以下となります。
    class My_OB01 extends My_OB
    {
      void OB01_02()//ユニット01-項番01
      {
        OB01_02_2();
        pushMatrix();
        translate(-157.5,0);
        OB01_02_1();
        popMatrix();
        pushMatrix();
        translate(-300,0);
        OB01_02_3();
        popMatrix();
      }
      
      void OB01_02_1()//ユニット01-項番02-品番1
      {
        pushMatrix();
        rotateY(90*PI/180);
        //void Z_Bar(float r,float L)//Zバー
        Z_Bar(30.25,215);
        popMatrix();
      }
      
      void OB01_02_2()//ユニット01-項番02-品番2 フランジA
      {
        pushMatrix();
        rotateY(-90*PI/180);
        //void STD_03(float L1,float L2,float L3,float L4,float L5,float L6,float R,float r)
        STD_03(120,150,20,30,90,120,38.2,7);
        popMatrix();
      }
      
      void OB01_02_3()//ユニット01-項番02-品番2 フランジB
      {
        pushMatrix();
        rotateY(90*PI/180);
        rotateZ(90*PI/180);
        //void STD_03(float L1,float L2,float L3,float L4,float L5,float L6,float R,float r)
        STD_03(90,130,20,15,63,100,24.3,7);
        popMatrix();
      }
    }
    
    (1)上記スケッチにおいて、My_OB01クラスはMy_OBクラスを継承します。
    (2)void OB01_02()で品番1、品番2、品番3を合成します。


  4. My_OBタグのスケッチ
     My_OBタグに以下のスケッチを追加しました。
    class My_OB
    {
      void STD_03(float L1,float L2,float L3,float L4,float L5,float L6,float R,float r)
     詳細は省略します。
    }
    
    (1)穴開け4個対応に変更しました。


  5. sketch_3D_My_OB1_4ファイル
     sketch_3D_My_OB1_4ファイルは下記の「31-1.zip」ファイルをダウンロードしてください。
    [31-1.zip]をダウンロードする。

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


  6. 3Dサンプル(sketch_3D_My_OB1_4)ソーラー支持棒まとめ
    (1)My_OBタグにvoid STD_03(float L1,float L2,float L3,float L4,float L5,float L6,float R,float r)を追加しました。
    (2)void OB01_02()で品番1、品番2、品番3を合成します。
    (3)sketch_3D_My_OB1_4タグでOB01.OB01_02();を実行します。




32章:3Dサンプル(sketch_3D_My_OB1_5)ソーラー固定金具に行く。

トップページに戻る。