Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • Compute Services
  • System Modeler
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

Wolfram Consulting

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Notebook Assistant + LLM Kit
    • Compute Services
    • System Modeler
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Application Server
    • Enterprise Private Cloud
    • Wolfram Engine
    • Wolfram Player
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
BoundaryMeshRegion
  • See Also
    • MeshRegion
    • BoundaryDiscretizeRegion
    • BoundaryDiscretizeGraphics
    • ConvexHullMesh
    • BoundaryMesh
    • FindMeshDefects
    • BoundaryMeshRegionQ
    • MeshCellCount
    • MeshCoordinates
    • MeshCells
    • MeshCellIndex
    • MeshPrimitives
    • Printout3D

    • Formats
    • 3DS
    • BYU
    • X3D
  • Related Guides
    • Mesh-Based Geometric Regions
    • Geometric Computation
    • Partial Differential Equations
    • Polyhedra
    • 3D Printing
  • Workflows
    • Make a 3D Printout
    • See Also
      • MeshRegion
      • BoundaryDiscretizeRegion
      • BoundaryDiscretizeGraphics
      • ConvexHullMesh
      • BoundaryMesh
      • FindMeshDefects
      • BoundaryMeshRegionQ
      • MeshCellCount
      • MeshCoordinates
      • MeshCells
      • MeshCellIndex
      • MeshPrimitives
      • Printout3D

      • Formats
      • 3DS
      • BYU
      • X3D
    • Related Guides
      • Mesh-Based Geometric Regions
      • Geometric Computation
      • Partial Differential Equations
      • Polyhedra
      • 3D Printing
    • Workflows
      • Make a 3D Printout

BoundaryMeshRegion[{p1,p2,…},{bcell1[{i1,…}],bcell2[{j1,…}],…}]

yields a mesh with boundary cells bcellj, where coordinates given as integer i are taken to be pi, where the cells together represent a closed curve, surface, etc.

BoundaryMeshRegion[…,{…,wi[bcelli[…]],…}]

yields a mesh with cell properties defined by the symbolic wrapper wi.

BoundaryMeshRegion[…,boundary1,boundary2,…]

yields a mesh from multiple boundaries boundaryi.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Regions in 1D  
Regions in 2D  
Regions in 3D  
Presentation  
Options  
AlignmentPoint  
AspectRatio  
Axes  
Show More Show More
AxesEdge  
AxesLabel  
AxesOrigin  
AxesStyle  
Background  
BaselinePosition  
BaseStyle  
Boxed  
BoxRatios  
BoxStyle  
Epilog  
FaceGrids  
FaceGridsStyle  
Frame  
FrameLabel  
FrameStyle  
FrameTicks  
FrameTicksStyle  
GridLines  
GridLinesStyle  
ImageMargins  
ImagePadding  
ImageSize  
LabelStyle  
Lighting  
MeshCellHighlight  
MeshCellLabel  
MeshCellMarker  
MeshCellShapeFunction  
MeshCellStyle  
PlotLabel  
PlotRange  
PlotRangeClipping  
PlotRangePadding  
PlotRegion  
PlotTheme  
Base Themes  
Feature Themes  
Prolog  
RotateLabel  
SphericalRegion  
Ticks  
TicksStyle  
ViewAngle  
ViewCenter  
ViewMatrix  
ViewPoint  
ViewRange  
ViewVector  
ViewVertical  
Applications  
Polygons  
Polyhedra  
Properties & Relations  
See Also
Related Guides
Related Workflows
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • MeshRegion
    • BoundaryDiscretizeRegion
    • BoundaryDiscretizeGraphics
    • ConvexHullMesh
    • BoundaryMesh
    • FindMeshDefects
    • BoundaryMeshRegionQ
    • MeshCellCount
    • MeshCoordinates
    • MeshCells
    • MeshCellIndex
    • MeshPrimitives
    • Printout3D

    • Formats
    • 3DS
    • BYU
    • X3D
  • Related Guides
    • Mesh-Based Geometric Regions
    • Geometric Computation
    • Partial Differential Equations
    • Polyhedra
    • 3D Printing
  • Workflows
    • Make a 3D Printout
    • See Also
      • MeshRegion
      • BoundaryDiscretizeRegion
      • BoundaryDiscretizeGraphics
      • ConvexHullMesh
      • BoundaryMesh
      • FindMeshDefects
      • BoundaryMeshRegionQ
      • MeshCellCount
      • MeshCoordinates
      • MeshCells
      • MeshCellIndex
      • MeshPrimitives
      • Printout3D

      • Formats
      • 3DS
      • BYU
      • X3D
    • Related Guides
      • Mesh-Based Geometric Regions
      • Geometric Computation
      • Partial Differential Equations
      • Polyhedra
      • 3D Printing
    • Workflows
      • Make a 3D Printout

BoundaryMeshRegion

BoundaryMeshRegion[{p1,p2,…},{bcell1[{i1,…}],bcell2[{j1,…}],…}]

yields a mesh with boundary cells bcellj, where coordinates given as integer i are taken to be pi, where the cells together represent a closed curve, surface, etc.

BoundaryMeshRegion[…,{…,wi[bcelli[…]],…}]

yields a mesh with cell properties defined by the symbolic wrapper wi.

BoundaryMeshRegion[…,boundary1,boundary2,…]

yields a mesh from multiple boundaries boundaryi.

Details and Options

  • BoundaryMeshRegion is also known as a boundary representation.
  • BoundaryMeshRegion can represent a piecewise linear and full-dimensional region embedded in dimension 1, 2, or 3.
  • BoundaryMeshRegion[…] displays in a notebook as a plot of a boundary mesh region.
  • BoundaryMeshRegion is typically constructed using functions such as ConvexHullMesh, BoundaryMesh, BoundaryDiscretizeRegion, and BoundaryDiscretizeGraphics.
  • The boundary cells need to represent a closed curve or surface without self-intersections.
  • In BoundaryMeshRegion[{p1,p2,…},b1,b2,…], the boundary curves or surfaces bi should not cross themselves or each other.
  • In BoundaryMeshRegion[{p1,p2,…},b1,b2,…], a point p is considered to be in the region enclosed by the boundary curves or surfaces bi if any infinite ray starting at p crosses the set of boundaries bi an odd number of times.
  • The following special wrappers wi can be used for boundary faces:
  • Labeled[cell,…]display the cell with labeling
    Style[cell,…]show the cell with the specified style
    Annotation[cell,name->value]associate the annotation name->value with cell
  • Each cell in a BoundaryMeshRegion is given a unique MeshCellIndex of the form {d,i}, where d is the geometric dimension and i is the index.
  • For purposes of selecting cells of a BoundaryMeshRegion, the following cell specifications may be used:
  • {d,i}cell with index i of dimension d
    {d,ispec}cells with index specification ispec of dimension d
    {dspec,…}cells of dimensions given by dspec
    h[{i1,…}]explicit cell with head h and vertex indices i1, …
    {c1,c2,…}list of explicit cells ci
  • The index specification ispec can have the following form:
  • icell index i
    {i1,i2,…}cells with indices ik
    Allall cells
    pattcells with indices matching the pattern patt
  • The dimension specification dspec can have the following form:
  • dexplicit dimension d
    Allall dimensions from 0 to geometric dimension of region
    pattdimensions matching the pattern patt
  • BoundaryMeshRegion contains cells of maximal dimension n-1, where n is the embedding dimension.
  • BoundaryMeshRegion is always converted to an optimized representation and treated as raw by functions like AtomQ for purposes of pattern matching.
  • BoundaryMeshRegion has the same options as Graphics for embedding dimension two, and the same options as Graphics3D for embedding dimension three, with the following additions and changes:
  • MeshCellLabel Automaticlabels and placement for cells
    MeshCellShapeFunction Automaticshape functions for cells
    MeshCellStyle Automaticstyles for cells
    MeshCellHighlight {}list of highlighted cells
    MeshCellMarker 0integer markers for cells
    PlotTheme $PlotThemeoverall theme for the mesh
  • Possible settings for PlotTheme include common base themes, font features themes, and size features themes.
  • Mesh feature themes affect the plot of mesh cells. Themes include:
  • "Points"0D cells
    "Lines"1D cells, wireframe
    "Polygons"2D cells
  • Rendering feature themes affect the rendering of meshes. Themes include:
  • "SampledPoints"sampled points from mesh cells
    "SphereAndTube"points as spheres and lines as tubes
    "SmoothShading"smooth shading
    "FaceNormals"normal for each 2D cell
    "LargeMesh"optimized for large number of cells
  • Style and other specifications for cells are effectively applied in the order MeshCellStyle, Style, and other wrappers, with later specifications overriding earlier ones.
  • Label style and other specifications for cell labels are effectively applied in the order MeshCellLabel and Labeled, with later specifications overriding earlier ones.
  • BoundaryMeshRegion can be used with functions such as RegionMember, RegionDistance, RegionMeasure, and NDSolve.

Examples

open all close all

Basic Examples  (5)

Specify an interval from its boundary points:

It is full dimensional:

The region is bounded:

The length and centroid:

Check point membership:

Specify a triangle from its closed boundary curve:

It is full dimensional:

The region is bounded:

The area and centroid:

Check point membership:

Specify a tetrahedron from its closed boundary surface:

It is full dimensional:

The region is bounded:

The volume and centroid:

Check point membership:

Specify a 2D region from multiple closed boundary curves:

Find its area:

Specify a 3D region from multiple closed boundary surfaces:

Find its volume:

Scope  (18)

Regions in 1D  (4)

Specify an interval from its boundary points:

Label the points with HighlightMesh:

It is full dimensional:

The region is bounded:

The length and centroid:

Check point membership:

Specify a 1D region from multiple boundary points:

Apply Style to boundary points:

Label boundary points:

Regions in 2D  (4)

Specify a triangle from its closed boundary curve:

Label the segments with HighlightMesh:

It is full dimensional:

The region is bounded:

The area and centroid:

Check point membership:

Specify a 2D region from multiple closed boundary curves:

Label the points with their corresponding indexes with HighlightMesh:

Apply Style to specific boundary lines:

Label specific boundary lines:

Regions in 3D  (4)

Specify a tetrahedron from its closed boundary surface:

Label the segments with HighlightMesh:

It is full dimensional:

The region is bounded:

The volume and centroid:

Check point membership:

Specify a 3D region from multiple closed boundary surfaces:

Apply Style to specific boundary faces:

Label specific boundary faces:

Presentation  (6)

Use a theme to draw 0D cells:

Use a theme to draw 1D cells or a wireframe:

Use a theme to draw 2D cells:

Use a theme to draw sampled points from mesh cells:

Use a theme to smooth the shading:

Use a theme to draw normals for each 2D cell:

Options  (127)

AlignmentPoint  (1)

Specify the position to be aligned in 3D Inset, using coordinates:

AspectRatio  (1)

Use numerical values for AspectRatio:

Axes  (2)

Draw all the axes:

Draw the axis, but not the axis:

AxesEdge  (2)

Choose the bounding box edges automatically to draw the axes:

Choose the bounding box edges automatically to draw the axes:

AxesLabel  (2)

Place a label for the axis:

Specify a label for each axis:

AxesOrigin  (2)

Determine where the axes cross automatically:

Specify the axes' origin explicitly:

AxesStyle  (2)

Specify the overall axes style, including the ticks and the tick labels:

Specify the style of each axis:

Background  (1)

Specify the style of each axis:

BaselinePosition  (3)

Align the center of a graphic with the baseline of the text:

Specify the baseline of a graphic as a fraction of the height by using Scaled:

Use the axis of a graphic as the baseline:

BaseStyle  (2)

Set the starting style:

Set multiple starting styles:

Boxed  (2)

Draw the edges of the bounding box:

Do not draw the edges of the bounding box:

BoxRatios  (2)

Specify the ratios between the bounding box edges:

Use the actual coordinate values for the ratios:

BoxStyle  (1)

Use dashed lines for the bounding box:

Epilog  (1)

Draw a disk above the graphic, including the axes:

FaceGrids  (4)

Put grids on every face of a 3D graphic:

Put grids on both ‐ faces:

Put face grids on the plane:

On the plane, put grid lines on , , and :

FaceGridsStyle  (1)

Specify the overall style of face grids:

Frame  (2)

Draw a frame around the whole graphic:

Draw a frame on the left and the right edges:

FrameLabel  (2)

Specify frame labels for the bottom and the left edges:

Specify labels for each edge:

FrameStyle  (2)

Specify the overall frame style:

Specify the style of each frame edge:

FrameTicks  (3)

Put a frame, but no ticks:

Tick mark labels on the bottom and the left frame edges:

Frame ticks on the bottom and the right edges:

FrameTicksStyle  (2)

Specify frame tick and frame tick label style:

Specify frame tick style for each edge:

GridLines  (3)

Put grids across a 2D graphic:

Draw grid lines at specific positions:

Specify the style of each grid:

GridLinesStyle  (1)

Specify the overall grid style:

ImageMargins  (3)

Allow no margins outside of ImageSize:

Have 20-point margins on all sides:

Draw grid lines at specific positions:

ImagePadding  (4)

Leave no padding outside of the plot range:

Leave enough padding for all objects and labels that are present:

Specify the same padding for all sides in printer's points:

Specify the same padding for all sides in printer's points:

ImageSize  (3)

Use predefined symbolic sizes:

Use an explicit image width:

Use an explicit image width and height:

LabelStyle  (1)

Specify the overall style of all the label-like elements:

Lighting  (4)

Ambient light is uniformly applied to all the surfaces in the scene:

Directional lights with different colors:

Point lights with different colors:

Spotlights with different colors:

MeshCellHighlight  (3)

MeshCellHighlight allows you to specify highlighting for parts of a BoundaryMeshRegion:

By making faces transparent, the internal structure of a 3D BoundaryMeshRegion can be seen:

Individual cells can be highlighted using their cell index:

Or by the cell itself:

MeshCellLabel  (11)

MeshCellLabel can be used to label parts of a BoundaryMeshRegion:

MeshCellLabel can reveal a cell's index with "Index", "CellIndex", or "Cell":

Any expression can be used as a label:

Label all cells with tooltips:

All can be used to specify all cells:

By default, all cells are labeled:

Label all cells of a given dimension:

Label specific vertices and edges of a polygon:

Alternatively, you can specify a head and indices:

Specify a list of cell indices to label:

Label cells whose dimensions match a pattern:

Label cells whose indices match a pattern:

Wrappers have precedence over options:

MeshCellMarker  (1)

MeshCellMarker can be used to assign values to parts of a BoundaryMeshRegion:

Use MeshCellLabel to show the markers:

MeshCellShapeFunction  (2)

MeshCellShapeFunction allows you to specify functions for parts of a BoundaryMeshRegion:

Individual cells can be drawn using their cell index:

Or by the cell itself:

MeshCellStyle  (8)

All can be used to specify all cells:

By default, all cells are styled:

Style all cells of a given dimension:

Style specific vertices and edges of a polygon:

Alternatively, you can specify a head and indices:

Specify a list of cell indices to style:

Style cells whose dimensions match a pattern:

Style cells whose indices match a pattern:

Style with graphics directives appropriate for the dimension of the components:

Wrappers have precedence over options:

PlotLabel  (2)

Display a label on the top of the graphic in TraditionalForm:

Use Style and other typesetting functions to modify how the label appears:

PlotRange  (3)

Display all objects:

Explicitly choose and ranges:

Force clipping at the PlotRange:

PlotRange->s is equivalent to PlotRange->{{-s, s}, {-s, s}}:

PlotRangeClipping  (2)

Allow graphics objects to spread beyond PlotRange:

Clip all graphics objects at PlotRange:

PlotRangePadding  (3)

Include coordinate unit of padding on all sides:

Include padding using Scaled coordinates:

Specify different padding on each side:

PlotRegion  (3)

The contents of a graphic use the whole region:

Limit the contents of the graphic to the middle half of the region in each direction:

ImagePadding can also be used to add padding around a graphic:

PlotTheme  (9)

Base Themes  (2)

Use a common based theme:

Use a monochrome theme:

Feature Themes  (7)

Use a theme to draw 0D cells:

Use a theme to draw 1D cells or a wireframe:

Use a theme to draw 2D cells:

Use a theme to draw sampled points from mesh cells:

Use a theme to draw points as spheres and lines as tubes:

Use a theme to smooth shading:

Use a theme to draw normals for each 2D cell:

Prolog  (1)

Define a simple graphic to use as a background:

Use it in multiple boundary mesh regions:

RotateLabel  (2)

Specify that vertical frame labels should be rotated:

Specify that vertical frame labels should not be rotated:

SphericalRegion  (2)

Make a sequence of images be consistently sized, independent of orientation:

Without SphericalRegion, each image is made as big as possible:

Ticks  (3)

Draw the axes, but not tick marks:

Place tick marks automatically:

Draw tick marks at the specific positions:

TicksStyle  (2)

Specify the styles of the ticks and tick labels:

Specify the styles of and axis ticks separately:

ViewAngle  (1)

Use a specific angle for a simulated camera:

ViewCenter  (1)

Place the top-right corner of the object at the center of the final image:

ViewMatrix  (1)

Orthographic view of a mesh region from the negative direction:

ViewPoint  (3)

Specify the view point using the special scaled coordinates:

Use symbolic view points:

Specify orthographic views:

ViewRange  (2)

By default, the range is sufficient to include all the objects:

Specify the minimum and maximum distances from the camera to be included:

ViewVector  (1)

Specify the view vectors using ordinary coordinates:

ViewVertical  (2)

Use the axis direction as the vertical direction in the final image:

Various views of vertical directions:

Applications  (6)

Polygons  (2)

Non-intersecting polygons are also BoundaryMeshRegion:

The resulting regions can be used for computing:

The area approaches as the number of sides goes to infinity:

Build a BoundaryMeshRegion in 2D with multiple rectangular holes. The coordinates for the inner rectangles:

The indexes for the inner rectangle closed curves:

Generating an outer rectangle with × inner rectangle closed curves:

The resulting mesh can be used for computing:

Polyhedra  (4)

Non-intersecting polyhedra are also a BoundaryMeshRegion:

The Archimedean or semi-regular polyhedra:

Color the faces based on the number of vertices:

Color the faces of Archimedean polyhedra:

Build a BoundaryMeshRegion with multiple voids by using multiple inner cuboid boundaries. The coordinates for the inner cuboids:

The indexes for inner cuboid closed surfaces:

Generating an outer cuboid with ×× inner cuboid surfaces:

The resulting region can be used for computing:

Construct a cuboid boundary mesh with rectangular tunnels through it. You can construct it as the product of a 2D boundary mesh with an interval. Using the same construction as for constructing the polygon with holes above for the 2D boundary mesh:

The resulting boundary representation for a polygon with × holes:

Compute the Cartesian product with an interval:

Style it so that you can only see the boundary surfaces:

You can still compute with this region:

Properties & Relations  (8)

BoundaryMeshRegion can represent full-dimensional regions:

Since the geometric dimension is the embedding dimension, it is full dimensional:

BoundaryMeshRegion is always bounded:

Use BoundedRegionQ to test and RegionBounds for actual bounds:

BoundaryMeshRegionQ can be used to test whether a region is a BoundaryMeshRegion:

Use ConvexHullMesh to create a BoundaryMeshRegion from a set of points:

Use BoundaryMesh to convert a MeshRegion to a BoundaryMeshRegion:

Only the full-dimensional component can be represented:

Use BoundaryDiscretizeRegion to convert any region to a BoundaryMeshRegion:

To include lower-dimensional components, use DiscretizeRegion:

Use Show to convert any BoundaryMeshRegion to Graphics:

BoundaryMeshRegion is usually more memory efficient than MeshRegion:

See Also

MeshRegion  BoundaryDiscretizeRegion  BoundaryDiscretizeGraphics  ConvexHullMesh  BoundaryMesh  FindMeshDefects  BoundaryMeshRegionQ  MeshCellCount  MeshCoordinates  MeshCells  MeshCellIndex  MeshPrimitives  Printout3D

Formats: 3DS  BYU  X3D

Related Guides

    ▪
  • Mesh-Based Geometric Regions
  • ▪
  • Geometric Computation
  • ▪
  • Partial Differential Equations
  • ▪
  • Polyhedra
  • ▪
  • 3D Printing

Related Workflows

    Related Workflows
    ▪
  • Make a 3D Printout

History

Introduced in 2014 (10.0) | Updated in 2015 (10.2)

Wolfram Research (2014), BoundaryMeshRegion, Wolfram Language function, https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html (updated 2015).

Text

Wolfram Research (2014), BoundaryMeshRegion, Wolfram Language function, https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html (updated 2015).

CMS

Wolfram Language. 2014. "BoundaryMeshRegion." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015. https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html.

APA

Wolfram Language. (2014). BoundaryMeshRegion. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html

BibTeX

@misc{reference.wolfram_2025_boundarymeshregion, author="Wolfram Research", title="{BoundaryMeshRegion}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html}", note=[Accessed: 01-March-2026]}

BibLaTeX

@online{reference.wolfram_2025_boundarymeshregion, organization={Wolfram Research}, title={BoundaryMeshRegion}, year={2015}, url={https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html}, note=[Accessed: 01-March-2026]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • Compute Services
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Engine
  • Wolfram Player

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2026 Wolfram
© 2026 Wolfram | Legal & Privacy Policy |
English