Skip to main content

regions - How to extrude a planar mesh to a volume slice?


Is there an easy way to extrude a planar 2D-mesh to a volume slice?


ring = RegionDifference[Disk[{0, 0}, 1], Disk[{0, 0}, 1/2]];
DiscretizeRegion[ring]


enter image description here


The thickness of the slice is assumed to be small and should have only some element layers.


Thanks!



Answer



If you want some control over the extruded mesh, under Applications in RegionProduct, there is a nice example.


ring = RegionDifference[Disk[{0, 0}, 1], Disk[{0, 0}, 1/2]];
dr = DiscretizeRegion[ring];
pointsToMesh[data_] :=
MeshRegion[Transpose[{data}],

Line@Table[{i, i + 1}, {i, Length[data] - 1}]];
data = Table[Exp[x], {x, 0., 0.5, 0.1}];
r1 = pointsToMesh[data];
rp = RegionProduct[dr, r1];
MeshRegion[rp, PlotTheme -> "Lines"]

ExtrdueMesh


You can use Subdivide in place of data if you just want a uniform mesh like so


rUniform = pointsToMesh[Subdivide[0, 0.1, 5]]
rpUniform = RegionProduct[dr, rUniform];

MeshRegion[rpUniform, PlotTheme -> "Lines"]

Comments