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