In solid modeling and computer-aided design, boundary representation—often abbreviated as B-rep or BREP—is a method for representing shapes using the limits. A solid is represented as a collection of connected surface elements, the boundary between solid and non-solid.
Boundary representation of models are composed of two parts: topology and geometry (surfaces, curves and points). The main topological items are: faces, edges and vertices. A face is a bounded portion of a surface; an edge is a bounded piece of a curve and a vertex lies at a point. Other elements are the shell (a set of connected faces), the loop (a circuit of edges bounding a face) and loop-edge links (also known as winged edge links or half-edges) which are used to create the edge circuits. The edges are like the edges of a table, bounding a surface portion.[clarification needed]
Compared to the constructive solid geometry (CSG) representation, which uses only primitive objects and Boolean operations to combine them, boundary representation is more flexible and has a much richer operation set. In addition to the Boolean operations, B-rep has extrusion (or sweeping), chamfer, blending, drafting, shelling, tweaking and other operations which make use of these.
The basic method for BREP was developed independently in the early 1970s by both Ian C. Braid in Cambridge (for CAD) and Bruce G. Baumgart at Stanford (for computer vision). Braid continued his work with the research solid modeller BUILD which was the forerunner of many research and commercial solid modelling systems. Braid worked on the commercial systems ROMULUS, the forerunner of Parasolid, and on ACIS. Parasolid and ACIS are the basis for many of today's commercial CAD systems.
Following Braid's work for solids, a Swedish team led by Professor Torsten Kjellberg, developed the philosophy and methods for working with hybrid models, wire-frames, sheet objects and volumetric models during the early 1980s. In Finland, Martti Mäntylä produced a solid modelling system called GWB. In the USA Eastman and Weiler were also working on Boundary Representation and in Japan Professor Fumihiko Kimura and his team at Tokyo University also produced their own B-rep modelling system.
Initially CSG was used by several commercial systems because it was easier to implement. The advent of reliable commercial B-rep kernel systems like Parasolid and ACIS, mentioned above, as well as OpenCASCADE and C3D that were later developed, has led to widespread adoption of B-rep for CAD.
Boundary representation is essentially a local representation connecting faces, edges and vertices. An extension of this was to group sub-elements of the shape into logical units called geometric features, or simply features. Pioneering work was done by Kyprianou in Cambridge also using the BUILD system and continued and extended by Jared and others. Features are the basis of many other developments, allowing high-level "geometric reasoning" about shape for comparison, process-planning, manufacturing, etc.
Boundary representation has also been extended to allow special, non-solid model types called non-manifold models. As described by Braid, normal solids found in nature have the property that, at every point on the boundary, a small enough sphere around the point is divided into two pieces, one inside and one outside the object. Non-manifold models break this rule. An important sub-class of non-manifold models are sheet objects which are used to represent thin-plate objects and integrate surface modelling into a solid modelling environment.
In the world of data-exchange, STEP, the Standard for the Exchange of Product Model data also defines some data models for boundary representations. The common generic topological and geometric models are defined in ISO 10303-42 Geometric and topological representation. The following Application Integrated Resources (AICs) define boundary models that are constraints of the generic geometric and topological capabilities:
- ISO 10303-511 Topologically bounded surface, definition of an advanced face, that is a bounded surface where the surface is of type elementary (plane, cylindrical, conical, spherical or toroidal), or a swept surface, or b spline surface. The boundaries are defined by lines, conics, polylines, surface curves, or b spline curves
- ISO 10303-514 Advanced boundary representation, a solid defining a volume with possible voids that is composed by advanced faces
- ISO 10303-509 Manifold surface, a non intersecting area in 3D that is composed by advanced faces
- ISO 10303-521 Manifold subsurface, a sub-area out of a manifold surface
- ISO 10303-508 Non-manifold surface, any kind of advanced face arrangement
- ISO 10303-513 Elementary boundary representation similar to ISO 10303-514, but restricted to the elementary surfaces only
- ISO 10303-512 Faceted boundary representation a simplified surface model constructed by planar surfaces only
Further information about Boundary Representation can be found in a variety of papers and the following books:
- Mäntylä, Martti (1988). An Introduction to Solid Modeling. Computer Science Press. ISBN 0-88175-108-1.
- Chiyokura, H. (1988). Solid Modelling with DESIGNBASE. Addison-Wesley Publishing Company. ISBN 0-201-19245-4.
- Stroud, Ian (2006). Boundary Representation Modelling Techniques. Springer. ISBN 1-84628-312-4.
- Golovanov, Nikolay (2014). Geometric Modeling: The Mathematics of Shapes. CreateSpace Independent Publishing Platform. ISBN 978-1497473195.
- OpenCascade - an open source library for BRep solid modeling
- Actual example of source boundary representation in STEP format
- SimpleGeo - a B-rep/CSG hybrid modeling system for Monte Carlo particle transport simulations
- FreeREP - Opensource geometry kernel development
- Brep - A boundary representation based modeler