主要内容gydF4y2Ba

addFacegydF4y2Ba

填充二维中的空白区域和三维几何中的分裂单元格gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

hgydF4y2Ba= addFace (gydF4y2BaggydF4y2Ba,gydF4y2Ba边缘gydF4y2Ba)gydF4y2Ba在几何图形中添加一个新面gydF4y2BaggydF4y2Ba.指定的边缘必须形成一个封闭的轮廓。对于2-D几何图形,添加新面可以填充几何图形中的空白。对于3d几何图形,添加一个新面孔可以将一个单元格拆分为多个单元格。gydF4y2Ba

通过在单元格数组中指定它们的轮廓,可以同时添加多个新面。单元格数组中的每个轮廓必须是唯一的。gydF4y2Ba

请注意gydF4y2Ba

新面修改几何图形,但不修改网格。修改几何图形后,总是调用gydF4y2BagenerateMeshgydF4y2Ba确保与新的几何图形有适当的网格关联。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2BahgydF4y2Ba,gydF4y2BaFaceIDgydF4y2Ba) = addFace (gydF4y2BaggydF4y2Ba,gydF4y2Ba边缘gydF4y2Ba)gydF4y2Ba也返回一个包含已添加面id的行向量。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

在二维几何图形中添加一张脸来填补内部的空白。gydF4y2Ba

创建一个PDE模型。gydF4y2Ba

模型= createpde ();gydF4y2Ba

导入几何。这个几何图形有一个面。gydF4y2Ba

通用= importGeometry(模型,gydF4y2Ba“PlateSquareHolePlanar.stl”gydF4y2Ba)gydF4y2Ba
gm = DiscreteGeometry with properties: NumCells: 0 NumFaces: 1 NumEdges: 8 NumVertices: 8 vertex: [8x3 double]gydF4y2Ba

绘制几何图形并显示面部标签。gydF4y2Ba

pdegplot(通用、gydF4y2Ba“FaceLabels”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba)gydF4y2Ba

图中包含一个axes对象。axis对象包含一个类型为line的对象。gydF4y2Ba

放大显示中心小孔的边缘标签。gydF4y2Ba

图pdegplot(通用、gydF4y2Ba“EdgeLabels”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba)轴([49 51 99 101])gydF4y2Ba

图中包含一个axes对象。axis对象包含一个类型为line的对象。gydF4y2Ba

加一张脸把洞补上。几何图形中的面数变为2。gydF4y2Ba

gm = addFace(gm,[1 8 4 5])gydF4y2Ba
gm = DiscreteGeometry with properties: NumCells: 0 NumFaces: 2 NumEdges: 8 NumVertices: 8 vertex: [8x3 double]gydF4y2Ba

绘制修改后的几何图形并显示面标签。gydF4y2Ba

pdegplot(通用、gydF4y2Ba“FaceLabels”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba)gydF4y2Ba

图中包含一个axes对象。axis对象包含一个类型为line的对象。gydF4y2Ba

在3d几何图形中添加一个面,将一个单元格分成两个单元格。gydF4y2Ba

创建一个PDE模型。gydF4y2Ba

模型= createpde ();gydF4y2Ba

导入几何。几何图形由一个单元格组成。gydF4y2Ba

通用= importGeometry(模型,gydF4y2Ba“MotherboardFragment1.stl”gydF4y2Ba)gydF4y2Ba
gm = DiscreteGeometry with properties: NumCells: 1 NumFaces: 26 NumEdges: 46 NumVertices: 34 vertex: [34x3 double]gydF4y2Ba

绘制几何图形并显示边缘标签。放大几何图形的相应部分,可以更清楚地看到那里的边缘标签。gydF4y2Ba

pdegplot(通用、gydF4y2Ba“EdgeLabels”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba,gydF4y2Ba“FaceAlpha”gydF4y2Ba(0.5) xlim [-0.05 - 0.05]) ylim ([-0.05 - 0.05]) zlim (0.05 [0])gydF4y2Ba

图中包含一个axes对象。axis对象包含quiver、patch和line类型的3个对象。gydF4y2Ba

把右边的长方体分成一个单独的单元格。为此,添加一个以边1、3、6和12为界的面。gydF4y2Ba

[gm,ID] = addFace(gm,[1 3 6 12])gydF4y2Ba
gm = DiscreteGeometry with properties: NumCells: 2 NumFaces: 27 NumEdges: 46 NumVertices: 34 vertex: [34x3 double]gydF4y2Ba
ID = 27gydF4y2Ba

绘制修改后的几何图形并显示单元格标签。gydF4y2Ba

pdegplot(通用、gydF4y2Ba“CellLabels”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba,gydF4y2Ba“FaceAlpha”gydF4y2Ba, 0.5)gydF4y2Ba

图中包含一个axes对象。axis对象包含quiver、patch和line类型的3个对象。gydF4y2Ba

现在,通过在每个形状的底部添加一个面,将板子左边的长方体和所有圆柱体分割成单独的单元格。要更清楚地查看边缘标签,请缩放和旋转绘图。使用单元格数组可以同时添加多个新面。gydF4y2Ba

[gm,IDs] = addFace(gm,{[5 7 8 10],gydF4y2Ba...gydF4y2Ba30.gydF4y2Ba...gydF4y2Ba31日,gydF4y2Ba...gydF4y2Ba32岁的gydF4y2Ba...gydF4y2Ba33岁的gydF4y2Ba...gydF4y2Ba13})gydF4y2Ba
gm = DiscreteGeometry with properties: NumCells: 8 NumFaces: 33 NumEdges: 46 NumVertices: 34 vertex: [34x3 double]gydF4y2Ba
id =gydF4y2Ba6×1gydF4y2Ba28 29 30 31 32 33gydF4y2Ba

绘制修改后的几何图形并显示单元格标签。gydF4y2Ba

pdegplot(通用、gydF4y2Ba“CellLabels”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba,gydF4y2Ba“FaceAlpha”gydF4y2Ba, 0.5)gydF4y2Ba

图中包含一个axes对象。axis对象包含quiver、patch和line类型的3个对象。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

几何,指定为gydF4y2BaDiscreteGeometrygydF4y2Ba或gydF4y2BaAnalyticGeometrygydF4y2Ba对象。gydF4y2Ba

形成唯一闭合平面轮廓的边,指定为正整数的向量或正整数向量的单元格数组。可以以任意顺序指定向量中的边。gydF4y2Ba

当使用单元格数组添加多个新面时,单元格数组中的每个轮廓必须是唯一的。gydF4y2Ba

例子:gydF4y2BaaddFace(g,[1 3 4 7])gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

结果几何,作为句柄返回。gydF4y2Ba

面部ID,作为正数或正数的行向量返回。每个数字代表一个面部ID。在几何图形中添加新面时gydF4y2BaNgydF4y2Ba则新增的人脸ID为gydF4y2BaNgydF4y2Ba+ 1。gydF4y2Ba

提示gydF4y2Ba

  • addFacegydF4y2Ba当指定的轮廓定义已存在的面时出错。gydF4y2Ba

  • addFacegydF4y2Ba总是修改原来的几何形状gydF4y2BaggydF4y2Ba.gydF4y2Ba

版本历史gydF4y2Ba

介绍了R2020agydF4y2Ba

全部展开gydF4y2Ba

Baidu
map