BossPlate

  1. BossPlate
    1. 介绍
    2. 类结构
    3. 案例
      1. Create Boss plate1 (Flag=1)
      2. Deform the plate face (Flag=2)
      3. Extrude outsize surface (Flage=3)
      4. Add outer part holes (Flag=4)
    4. 参考文献

BossPlate

介绍

BossPlate是一种带台阶的平板类。

类结构

输入 input:

  • Meshsize : 单元尺寸
  • PlateThickness : 板厚度
  • OuterHole : 外部圆孔
  • BossHeight : 台阶高度
  • Outline : 外轮廓Line2D
  • InnerHole : 内部圆孔
  • InnerLinne : 内轮廓Line2D
  • MidLine : 台阶轮廓Line2D

参数 params:

  • Order :单元阶数
  • Type : 台阶板类型
  • Name : 名称
  • Hole: 圆孔环向网格划分数量
  • Material : 材料

输出 output :

  • Assembly : 实体单元装配
  • SolidMesh : 实体网格
  • PlateNode : 底面节点编号

案例

Create Boss plate1 (Flag=1)

a=Point2D('Points assembly');
a=AddPoint(a,0,0);
Num=8;
R1=180;
R2=120;
R3=30;
r=30;
for i=1:Num
a=AddPoint(a,R1,-360/Num*(i-1),'polar','deg');
end
Angle1=acos(r/2/R1)*2/pi*180;
Angle2=360/Num-(180-Angle1)*2;
b1=Line2D('OutLine');
for i=1:Num
Sang1=180-Angle1/2-(i-1)*360/Num;
b1=AddCircle(b1,r,a,i+1,'sang',Sang1,'ang',Angle1);
Sang2=-180+Angle1-(i-1)*360/Num;
b1=AddCircle(b1,R1,a,1,'Sang',Sang2,'ang',-Angle2);
end
b2=Line2D('MidLine');
b2=AddCircle(b2,R2,a,1);
b3=Line2D('InnerLine');
b3=AddCircle(b3,R3,a,1);
inputStruct.OutLine=b1;
inputStruct.MidLine=b2;
inputStruct.InnerLine=b3;
inputStruct.BossHeight=100;
inputStruct.PlateThickness=30;
inputStruct.Meshsize=10;
paramsStruct=struct();
obj= plate.BossPlate(paramsStruct, inputStruct);
obj= obj.solve();
Plot2D(obj);
Plot3D(obj);

Deform the plate face (Flag=2)

利用DeformFace可将台阶边缘进行轻微的变形(如果变形过大,可能会网格的畸变,此时可加密网格来缓解畸变)。

a=Point2D('Points assembly');
a=AddPoint(a,0,0);
Num=8;
R1=180;
R2=120;
R3=30;
r=30;
for i=1:Num
  a=AddPoint(a,R1,-360/Num*(i-1),'polar','deg');
end
Angle1=acos(r/2/R1)*2/pi*180;
Angle2=360/Num-(180-Angle1)*2;
b1=Line2D('OutLine');
for i=1:Num
  Sang1=180-Angle1/2-(i-1)*360/Num;
  b1=AddCircle(b1,r,a,i+1,'sang',Sang1,'ang',Angle1);
  Sang2=-180+Angle1-(i-1)*360/Num;
  b1=AddCircle(b1,R1,a,1,'Sang',Sang2,'ang',-Angle2);
end
b2=Line2D('MidLine');
b2=AddCircle(b2,R2,a,1);
b3=Line2D('InnerLine');
b3=AddCircle(b3,R3,a,1);
inputStruct.OutLine=b1;
inputStruct.MidLine=b2;
inputStruct.InnerLine=b3;
inputStruct.BossHeight=100;
inputStruct.PlateThickness=30;
inputStruct.Meshsize=10;
paramsStruct=struct();
obj= plate.BossPlate(paramsStruct, inputStruct);
obj= obj.solve();
Plot3D(obj);
f1=@(r)(sqrt(360^2-r.^2)-360);
obj=DeformFace(obj,f1,1);
f2=@(r)(sqrt(360^2-r.^2)-360+30);
obj=DeformFace(obj,f2,2);
Plot3D(obj);

Extrude outsize surface (Flage=3)

更改带台阶板的种类,可以改变台阶位置,将外侧拉伸。

a=Point2D('Points assembly');
a=AddPoint(a,0,0);
Num=8;
R1=180;
R2=120;
R3=30;
r=30;
for i=1:Num
a=AddPoint(a,R1,-360/Num*(i-1),'polar','deg');
end
Angle1=acos(r/2/R1)*2/pi*180;
Angle2=360/Num-(180-Angle1)*2;
b1=Line2D('OutLine');
for i=1:Num
Sang1=180-Angle1/2-(i-1)*360/Num;
b1=AddCircle(b1,r,a,i+1,'sang',Sang1,'ang',Angle1);
Sang2=-180+Angle1-(i-1)*360/Num;
b1=AddCircle(b1,R1,a,1,'Sang',Sang2,'ang',-Angle2);
end
b2=Line2D('MidLine');
b2=AddCircle(b2,R2,a,1);
b3=Line2D('InnerLine');
b3=AddCircle(b3,R3,a,1);
inputStruct.OutLine=b1;
inputStruct.MidLine=b2;
inputStruct.InnerLine=b3;
inputStruct.BossHeight=100;
inputStruct.PlateThickness=30;
inputStruct.Meshsize=10;
paramsStruct=struct();
obj= plate.BossPlate(paramsStruct, inputStruct);
obj= obj.solve();
Plot3D(obj);
f1=@(r)(sqrt(360^2-r.^2)-360);
obj=DeformFace(obj,f1,1);
f2=@(r)(sqrt(360^2-r.^2)-360+30);
obj=DeformFace(obj,f2,2);
Plot3D(obj);

Add outer part holes (Flag=4)

设置InnerHole或者OuterHole可在对应区域打孔。

r1=81/2;
r2=52/2;
r3=32/2;
rp=66/2;
a=Point2D('Points assembly');
a=AddPoint(a,0,0);
b1=Line2D('OutLine');
b1=AddCircle(b1,r1,a,1);
b2=Line2D('MidLine');
b2=AddCircle(b2,r2,a,1);
b3=Line2D('InnerLine');
b3=AddCircle(b3,r3,a,1);

h1=Line2D('Hole');
h2=Line2D('Hole');
h3=Line2D('Hole');
h4=Line2D('Hole');

a=AddPoint(a,rp,0);
a=AddPoint(a,0,rp);
a=AddPoint(a,-rp,0);
a=AddPoint(a,0,-rp);

h1=AddCircle(h1,6.1/2,a,2);
h2=AddCircle(h2,11.5/2,a,3);
h3=AddCircle(h3,6.1/2,a,4);
h4=AddCircle(h4,11.5/2,a,5);
inputStruct.OutLine=b1;
inputStruct.MidLine=b2;
inputStruct.InnerLine=b3;
inputStruct.BossHeight=16;
inputStruct.PlateThickness=10;
inputStruct.Meshsize=10;
inputStruct.OuterHole=[h1;h2;h3;h4];
paramsStruct.Type=1;
obj= plate.BossPlate(paramsStruct, inputStruct);
obj= obj.solve();
Plot3D(obj);

参考文献


本网站基于Hexo 3-Hexz主题生成。如需转载请标注来源,如有错误请批评指正,欢迎邮件至 392176462@qq.com