My_OB01タグのスケッチ
My_OB01タグのスケッチは以下となります。
class My_OB01 extends My_OB
{
void OB01()//ソーラユニット
{
pushMatrix();
OB01_01();//支柱
translate(0,-380,0);
OB01_06();//プラボックス
translate(0,-270,0);
OB01_02();//ユニット01-項番02 ソーラー支持棒
translate(-300,0,0);
rotateZ(45*PI/180);
OB01_21();//ソーラパネル
popMatrix();
}
void OB01_06()//プラボックス
{
pushMatrix();
translate(157,0,0);
box(150,350,350);
translate(0,175,-90);
OB01_22();
translate(0,0,180);
OB01_22();
popMatrix();
pushMatrix();
translate(0,151,0);
OB01_04();//ユニット01-項番04 ボックス固定金具
pushMatrix();
rotateY(-90*PI/180);
OB01_13();//Uボルト
popMatrix();
translate(50,0,0);
OB01_05();//ボックス固定金具
popMatrix();
pushMatrix();
translate(0,-151,0);
OB01_04();//ユニット01-項番04 ボックス固定金具
pushMatrix();
rotateY(-90*PI/180);
OB01_13();//Uボルト
popMatrix();
translate(50,0,0);
OB01_05();//ボックス固定金具
popMatrix();
pushMatrix();
translate(57,-151,45);
X_M12Nut();
translate(0,302,0);
X_M12Nut();
translate(0,0,-90);
X_M12Nut();
translate(0,-302,0);
X_M12Nut();
popMatrix();
pushMatrix();
translate(75.5,-151,-151);
X_M5Bolt();
translate(0,302,0);
X_M5Bolt();
translate(0,0,302);
X_M5Bolt();
translate(0,-302,0);
X_M5Bolt();
popMatrix();
}
void X_M5Bolt()
{
pushMatrix();
rotateY(90*PI/180);
Z_Bar(4.25,5);
popMatrix();
}
void OB01_22()//ケーブルグランド
{
pushMatrix();
rotateX(90*PI/180);
Catalog_01_1(16,20.5,15,5,19,3.4,2.9);//ケーブルグランド本体
popMatrix();
}
void OB01_02()//ユニット01-項番02 ソーラー支持棒
{
OB01_02_2();
pushMatrix();
translate(-157.5,0);
OB01_02_1();
popMatrix();
pushMatrix();
translate(-300,0);
OB01_02_3();
popMatrix();
pushMatrix();
rotateY(90*PI/180);
translate(0,-60);
OB01_13();
translate(0,120);
OB01_13();
popMatrix();
pushMatrix();
translate(-300,0,-50);
OB01_14();
translate(0,0,100);
OB01_14();
popMatrix();
pushMatrix();
translate(-55,-60,45);
X_M12Nut();
translate(0,120,0);
X_M12Nut();
translate(0,0,-90);
X_M12Nut();
translate(0,-120,0);
X_M12Nut();
popMatrix();
pushMatrix();
translate(-260,-31.5,50);
X_M12Nut();
translate(0,63,0);
X_M12Nut();
translate(0,0,-100);
X_M12Nut();
translate(0,-63,0);
X_M12Nut();
popMatrix();
}
void OB01_13()//Uボルト
{
U_Bolt(6,45,68);//Uボルト
}
void OB01_14()
{
pushMatrix();
rotateX(-90*PI/180);
rotateY(-90*PI/180);
U_Bolt(6,31.5,56.7);//Uボルト
popMatrix();
}
void OB01_21()//ソーラパネル
{
pushMatrix();
translate(-83,0,0);
box(26,364,413);
popMatrix();
OB01_03();
pushMatrix();
translate(-63,164,-102.5);
X_M6Bolt();
translate(0,0,205);
X_M6Bolt();
translate(0,-328,0);
X_M6Bolt();
translate(0,0,-205);
X_M6Bolt();
popMatrix();
}
void X_M6Bolt()
{
pushMatrix();
rotateY(90*PI/180);
Z_Bar(5,8);
popMatrix();
}
void X_M12Nut()
{
pushMatrix();
rotateY(90*PI/180);
Z_6Bar(19,10);
popMatrix();
}
void OB01_05()//ボックス固定金具
{
pushMatrix();
rotateZ(-90*PI/180);rotateY(90*PI/180);
int Pn=13;//ポイント数
float X[]={100,100,170,170,98,98,-98,-98,-170,-170,-100,-100,100};
float Y[]={0,28,28,30,30,2,2,30,30,28,28,0,0};
float L=30;
//void Z_Polyon_Plate(int Pn,float X[],float Y[],float L)//多角形板
Z_Polyon_Plate(Pn,X,Y,L);
//void Y_Hole_XYZ(float r,float X,float Y,float Z)//擬似ホール
Y_Hole_XYZ(7,45,0,0);Y_Hole_XYZ(7,-45,0,0);
Y_Hole_XYZ(7,45,2,0);Y_Hole_XYZ(7,-45,2,0);
Y_Hole_XYZ(3,151,28,0);Y_Hole_XYZ(3,-151,28,0);
Y_Hole_XYZ(3,151,30,0);Y_Hole_XYZ(3,-151,30,0);
popMatrix();
}
void OB01_04()//ユニット01-項番04 ボックス固定金具
{
pushMatrix();
rotateY(90*PI/180);
STD_01(120,30,20,30,90,38.2,7);//STD_01)パイプクランプ
popMatrix();
}
void OB01_03()//ユニット01-項番03
{
int Pn=9;//ポイント数
float[] X={67,30,30,-40,-40,30,30,67,67};
float[] Y={182,182,40,40,-40,-40,-182,-182,182};
float L=3;
pushMatrix();
Z_Bar(24.3,160);
rotateZ(PI);
pushMatrix();
translate(0,0,-81.5);
//void Z_Polyon_Plate(int Pn,float X[],float Y[],float L)//多角形板
Z_Polyon_Plate(Pn,X,Y,L);
translate(0,0,163);
Z_Polyon_Plate(Pn,X,Y,L);
popMatrix();
pushMatrix();
translate(68.5,0,-100);
box(3,364,40);
translate(0,0,200);
box(3,364,40);
popMatrix();
//void X_Hole_XYZ(float r,float X,float Y,float Z)//擬似ホール
X_Hole_XYZ(3.5,70,164,102.5);X_Hole_XYZ(3.5,67,164,102.5);
X_Hole_XYZ(3.5,70,-164,102.5);X_Hole_XYZ(3.5,67,-164,102.5);
X_Hole_XYZ(3.5,70,-164,-102.5);X_Hole_XYZ(3.5,67,-164,-102.5);
X_Hole_XYZ(3.5,70,164,-102.5);X_Hole_XYZ(3.5,67,164,-102.5);
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();
}
void OB01_01()//ユニット01-項番01
{
pushMatrix();
translate(0,744);
OB01_01_1();
popMatrix();
pushMatrix();
translate(0,-6);
OB01_01_2();
popMatrix();
pushMatrix();
OB01_01_3();
rotateY(90*PI/180);
OB01_01_3();
rotateY(90*PI/180);
OB01_01_3();
rotateY(90*PI/180);
OB01_01_3();
popMatrix();
}
void OB01_01_1()//ユニット01-項番01-品番1
{
//void STD_02(float W,float T,float L,float R)//STD_02)ベース
STD_02(300,12,240,9);//STD_02ベース
}
void OB01_01_2()//ユニット01-項番01-品番2
{
pushMatrix();
rotateX(90*PI/180);
//void Z_Bar(float r,float L)//Zバー
Z_Bar(38.15,1488);
popMatrix();
}
void OB01_01_3()//ユニット01-項番01-品番3
{
int Pn=5;//ポイント数
float[] X={38.15,38.15,98.15,48.15,38.15};
float[] Y={168,738,738,168,168};
float L=6;
//void Z_Polyon_Plate(int Pn,float X[],float Y[],float L)//多角形板
Z_Polyon_Plate(Pn,X,Y,L);
}
}
(1)上記スケッチにおいて、My_OB01クラスはMy_OBクラスを継承します。