纤维缠绕模块开发

  1. 介绍
  2. 设计流程
  3. 模块介绍
    1. 圆柱芯模缠绕
    2. 压力容器缠绕
  4. 任意形状缠绕
  5. 参考文献

介绍

纤维缠绕是一种比较成熟的工艺,如下图所示,旋转芯模以角速度 ω 旋转,丝束头从树脂槽中蘸取树脂,纤维带在张力 F 作用下,按一定角度 φ、宽度 w 铺覆到芯模上;移动平台以速度 v 带动丝束头等移动,实现纤维带在芯模不同位置的缠绕 。通常可用于制造筒状构件、压力容器、火箭发动机壳体、发动机整流罩等。

本文简单介绍纤维缠绕编程,后续我会挑几个比较有意思的点详细聊一聊。

设计流程

对于一般纤维缠绕压力容器,设计流程如下:

  1. 首先基于缠绕芯模,计算测地线缠绕角度范围,根据工艺选择合适的滑线系数范围,比如湿法缠绕滑线系数较低,一般低于0.2,对于干法缠绕,可取0.4以上。

  2. 确定缠绕角度后,进行线型设计,确保整个表面均匀布满。

模块介绍

FilamentWinding模块提供计算测地线、非测地线缠绕计算,线型设计,厚度估算,摩擦系数计算等一系列功能。

圆柱芯模缠绕

inputStruct1.Curve=[(-500:5:500)',ones(201,1)*250];
inputStruct1.Angle=60;
inputStruct1.Thickness=2.5;
paramsStruct1.Method=1;
paramsStruct1.Friction=[0.1,0.1];
M= solve.FilamentWinding(paramsStruct1, inputStruct1);
M= M.solve();
PlotShellMesh(M);
PlotExpandShell(M);
PlotPath(M);
PlotPath(M,'pattern',2);

缠绕路径:

路径投影:

线型规划:

压力容器缠绕

a=Point2D('Point','Echo',0); 
b=Line2D('Line','Echo',0); 
a=AddPoint(a,-100,0); 
a=AddPoint(a,[-100;100],[360;360]); 
a=AddPoint(a,100,0); 
b=AddCircle(b,360,a,1,'sang',160,'ang',-70,'seg',400); 
b=AddLine(b,a,2); 
b=AddCircle(b,360,a,3,'sang',90,'ang',-70,'seg',400); 
x=b.Point.P(:,1); 
y=b.Point.P(:,2); 
gap=(max(x)-min(x))/500; 
xx=min(x):gap:max(x); 
yy=interp1(x,y,xx,'spline'); 
inputStruct1.Curve=[xx',yy']; 
inputStruct1.Angle=60; 
% inputStruct1.Angle=21; 
inputStruct1.Thickness=2.5; 
% paramsStruct1.Method=1; 
paramsStruct1.Method=2; 
paramsStruct1.Friction=[0.1,0.1]; 
M= solve.FilamentWinding(paramsStruct1, inputStruct1); 
M= M.solve(); 
PlotShellMesh(M); 
PlotExpandShell(M); 
PlotPath(M); 
PlotPath(M,'pattern',2); 
PlotFriction(M); 
PlotThickness(M); 
PlotAlpha(M); 
PlotInnerLine(M); 
PlotOuterLine(M); 
PlotShape(M); 
PlotShellMesh1(M)

缠绕路径:

路径投影:

线型规划:

摩擦系数和厚度估算:


缠绕角度:

任意形状缠绕

并不是所有形状都可以缠绕,受限于工艺,复杂形状的缠绕需根据实际模型不断尝试摸索。

路径投影:


线型设计:


缠绕后的外形,值得注意的是,在凹陷处极易发生褶皱。

缠绕后的网格:

参考文献

[1] 先进复合材料压力容器
[2] Composite filament winding
[3] https://www.feacat.com/2025/08/15/FilamentWinding/


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