Boundary Representation Models: Validity and Rectification
- Conference paper
- Cite this conference paper
- Nicholas M. Patrikalakis 3 ,
- Takis Sakkalis 3 &
- Guoling Shen 3
Model validity, especially of manifold boundary representation (B-rep) models, has long been recognized as an important problem. This paper reviews issues on model validity of existing models. In particular, we present a set of sufficient conditions for representational validity of a typical B-rep data structure; we propose a rectify-by-reconstruction approach to the B-rep model rectification problem, and present results on the inherent complexity of the corresponding boundary reconstruction problem. Further, we develop the concept of an interval solid model, associated with a solid, for achieving numerical robustness. Finally, we present a set of sufficient conditions so that an interval solid model is “approximately equal” to its associated solid.
This is a preview of subscription content, log in via an institution to check access.
Access this chapter
- Available as PDF
- Read on any device
- Instant download
- Own it forever
- Compact, lightweight edition
- Dispatched in 3 to 5 business days
- Free shipping worldwide - see info
Tax calculation will be finalised at checkout
Purchases are for personal use only
Institutional subscriptions
Unable to display preview. Download preview PDF.
Mäntylä M. (1984) A note on the modeling space of Euler operators. Computer Vision, Graphics and Image Processing. 26 , 45–60
Article Google Scholar
Requicha, A. A. G. (1980) Representations of Solid Objects - Theory, Methods and Systems. ACM Computing Surveys. 12 ,437–464
Mäntylä, M. (1988) An Introduction to Solid Modeling. Computer Science Press, Rockville, Maryland
Google Scholar
Hoffmann, C. M. (1989) Geometric and Solid Modeling: An Introduction. Morgan Kaufmann Publishers Inc., San Mateo, California
Shen, G. (2000) Analysis of Boundary Representation Model Rectification. PhD Thesis, Massachusetts Institute of Technology, Cambridge, Massachusetts
Sakkalis, S., Shen, G., Patrikalakis, N. M. (2000) Representational Validity of Boundary Representation Models. Computer Aided Design. In press.
Braid, I. C., Hillyard, R. C., Stroud, I. A. (1980) Stepwise Construction of Polyhedra in Geometric Modeling. In: Brodlie K. W. (Ed.) Mathematical Methods in Computer Graphics and Design. Academic Press, London, 123–141
Eastman, C., Weiler, K. (1979) Geometric Modeling using Euler Operators. In: Proceedings of the First Annual Conference on Computer Graphics in CAD/CAM Systems. 248–259
Baumgart, B. (1975) A Polyhedron Representation for Computer Vision. In: Proceedings of National Computer Conference. AFIPS Press, Montvale, New Jersey, 589–596
Eastman, C., Lividini, J., Stoker, D. (1975) A database for designing large physical systems. In: Proceedings of National Computer Conference. AFIPS Press, Montvale, New Jersey, 603–611
Braid, I. C. (1979) Notes on a Geometric Modeller. CAD Group Document Number 101, Computer Laboratory, University of Cambridge, England
Mäntylä, M., Sulonen, R. (1982) GWB — A Solid Modeller with Euler Operators. IEEE Computer Graphics and Applications. 2 , 17–32
Braid, I. C. (1993) Boundary Modeling. In: Piegl, L. (Ed.) Fundamental Development of Computer-Aided Geometric Modeling. Academic Press, San Diego, CA, 165–184
Moise, E. E. (1977) Geometric Topology in Dimensions 2 and 3. Springer-Verlag, New York
MATH Google Scholar
U.S. Product Data Association (1994) ANS US PRO/IPO-200–042–1994: Part 42 — Integrated Geometric Resources: Geometric and Topological Representation
Munkres, J. R. (1975) Topology: a First Course. Prentice-Hall, Englewood Cliffs, New Jersey
D Systems Inc. (1988) Stereolithography Interface Specification
Bohn, J. H., Wozny, M. J. (1993) A Topology-Based Approach for Shell-Closure. In: Wilson, P. R., Wozny, M. J., Pratt, M. J. (Ed.) Geometric Modeling for Product Realization. Elsevier Science Publishers BV, 297–318
Mäkelä, I., Dolenc, A. (1993) Some Efficient Procedures for Correcting Triangulated Models. In: Proceedings of Solid Freeform Fabrication Symposium. University of Texas at Austin, 126–134
Barequet, G., Sharir, M. (1995) Filling gaps in the boundary of a polyhedron. Computer Aided Geometric Design. 12 , 207–229
Article MathSciNet MATH Google Scholar
Barequet, G., Kumar, S. (1997) Repairing CAD Models. In: Yagel, R., Hagen, H. (Ed.) Proceedings of IEEE Visualization Conference. Phoenix, Arizona, 363–370
Barequet, G., Duncan, C. A., Kumar, S. (1998) RSVP: A Geometric Toolkit for Controlled Repair of Solid Models. IEEE Transactions on Visualization and Computer Graphics. 4 , 162–177
Murali, T. M., Funkhouser, T. A. (1997) Consistent Solid and Boundary Representations from Arbitrary Polygonal Data. In: Van Dam, A. (Ed.) Proceedings of 1997 Symposium on Interactive 3D Graphics. ACM Press, New York, 155–162
Chapter Google Scholar
Harary, F. (1969) Graph Theory. Addison-Wesley, Reading, Massachusetts
Hoffmann, C. M. (1989) The Problems of Accuracy and Robustness in Geometric Computation. Computer. 22 , 31–41
Milenkovic, V. (1993) Robust Polygon Modelling. Computer Aided Design. 25 , 546–566
Article MATH Google Scholar
Fortune, S. (1997) Polyhedral Modeling with Multiprecision Integer Arithmetic. Computer Aided Design. 29 , 123–133
Keyser, J., Krishnan, S., Manocha, D. (1999) Efficient and accurate B-rep generation of low degree sculptured solids using exact arithmetic: I—representations. Computer Aided Geometric Design. 16 , 841–859
Keyser, J., Krishnan, S., Manocha, D. (1999) Efficient and accurate B-rep generation of low degree sculptured solids using exact arithmetic: II—computation. Computer Aided Geometric Design. 16 , 861–882
Salesin D., Stolfi J., Guibas L. (1989) Epsilon Geometry: Building robust algorithms from imprecise calculations. ACM Annual Symposium on Computational Geometry at Saarbruecken, Germany. ACM Press, 208–217
Salesin, D. (1991) Epsilon geometry: Building robust algorithms from imprecise computations. PhD Thesis, Stanford University, California
Hu, C.-Y., Patrikalakis, N. M., Ye, X. (1996) Robust Interval Solid Modeling: Part I, Representations. Computer Aided Design. 28 , 807–817
Hu, C.-Y., Patrikalakis, N. M., Ye, X. (1996) Robust Interval Solid Modeling: Part II, Boundary evaluation. Computer Aided Design. 28 , 819–830
Benouamer, M., Michelucci, D., Peroche, B. (1994) Error-Free Boundary Evaluation based on a Lazy Rational Arithmetic: A detailed Implementation. Computer Aided Design. 26 , 403–415
Agrawal, A. (1995) A General Approach to the Design of Robust Algorithms for Geometric Modeling. PhD Thesis, University of Southern California, Los Angeles, California
Moore, R. (1966) Interval Analysis. Prentice-Hall, Englewood Cliffs, New Jersey
Alefeld, G., Herzberger, J. (1983) Introduction to Interval Computations. Academic Press, New York
Sederberg, T. W., Farouki, R. T. (1992) Approximation by Interval Bézier Curves. IEEE Computer Graphics and Applications. 12 , 87–95
Tuohy, S. T., Patrikalakis, N. M. (1993) Representation of geophysical maps with uncertainty. In: Thalmann, N., Thalmann, D. (Ed.) Communicating with Virtual Worlds, Proceedings of CG International’93 at Lausanne, Switzerland. Springer, Tokyo, 179–192
Tuohy, S. T., Patrikalakis, N. M. (1996) Nonlinear Data Representation for Ocean Exploration and Visualization. Journal of Visualization and Computer Animation. 7 , 125–139
Shen, G., Patrikalakis, N. M. (1998) Numerical and Geometric Properties of Interval B-Splines. International Journal of Shape Modeling. 1/2 , 35–62
Hu, C.-Y., Maekawa, T., Sherbrooke, E. C., Patrikalakis, N. M. (1996) Robust Interval Algorithm for Curve Intersections. Computer Aided Design. 28 , 495–506
Hu, C.-Y., Maekawa, T., Patrikalakis, N. M., Ye, X. (1997) Robust Interval Algorithm for Surface Intersections. Computer Aided Design. 29 , 617–627
Abrams, S., Cho, W. et al (1998) Efficient and Reliable Methods for Rounded Interval Arithmetic. Computer Aided Design. 30 , 657–665
Shen, G., Sakkalis, T., Patrikalakis, N. M. (2000) Manifold Boundary Representation Model Rectification. Proceedings of the 3rd International Conference on Integrated Design and Manufacturing in Mechanical Engineering, C. Mas-de, C. Fortin, J. Pegna, editors. pp. 199 and CDROM. Presses internationales Polytechnique, Montreal, Canada, May 2000.
WWW-sites: http://www.cadiq.com , http://www.spatial.com , http://www.fegs.co.uk , http://www.itioh.com , http://www.theorem.co.uk , http://www.coretech-int.com .
Download references
Author information
Authors and affiliations.
Massachusetts Institute of Technology, Cambridge, MA, 02139-4307, USA
Nicholas M. Patrikalakis, Takis Sakkalis & Guoling Shen
You can also search for this author in PubMed Google Scholar
Editor information
Editors and affiliations.
Department of Engineering, University of Cambridge, Cambridge, CB2 1PZ, UK
Roberto Cipolla BA(Hons), MSE, MEng, DPhil
Department of Computer Science, Cardiff University, PO Box 916, 5 The Parade, Cardiff, CF24 3XF, UK
Ralph Martin MA, PhD, FIMA, CMath, MBCS, CEng
Rights and permissions
Reprints and permissions
Copyright information
© 2000 Springer-Verlag London
About this paper
Cite this paper.
Patrikalakis, N.M., Sakkalis, T., Shen, G. (2000). Boundary Representation Models: Validity and Rectification. In: Cipolla, R., Martin, R. (eds) The Mathematics of Surfaces IX. Springer, London. https://doi.org/10.1007/978-1-4471-0495-7_23
Download citation
DOI : https://doi.org/10.1007/978-1-4471-0495-7_23
Publisher Name : Springer, London
Print ISBN : 978-1-4471-1153-5
Online ISBN : 978-1-4471-0495-7
eBook Packages : Springer Book Archive
Share this paper
Anyone you share the following link with will be able to read this content:
Sorry, a shareable link is not currently available for this article.
Provided by the Springer Nature SharedIt content-sharing initiative
- Publish with us
Policies and ethics
- Find a journal
- Track your research
What is Boundary Representation (B-Rep)
- Post author: Sandeep Verma
- Reading time: 2 mins read
B-rep or boundary representation is a rendering technique for solid modeling. It is a popular approach to create a solid model of a physical object. Brep is that a three-dimensional object model is enclosed by surfaces or faces and has its own interior and exterior. It describes the shape as a collection of surfaces which separate its interior from the external environment. It is suitable for complex designs, Polygon facets are one of the examples of boundary representation.
These are the following primitives of B-rep:- 1) Vertices: It is a point where two or more edges meet with another. 2) Edges: It is a line or curve enclosed between two vertices. 3) Faces: It is a surface or plane of the solid. 4) Loop: It is a hole in a face. 5) Genus: it is through a hole in a solid.
You Might Also Like
C Program to Move a Car
Difference between AWT and Swing
Difference Between Connection-oriented And Connection-less Communication
Leave a reply cancel reply.
Meshes vs B-Reps Explained!
Hi, my name is Edwin. I'm a Grasshopper expert at ShapeDiver and in this blog post I will show the difference between standard meshes and b-reps and how this can impact the performance and rendering of your Grasshopper definitions on ShapeDiver. Let's get going!
It's All About Performance
Grasshopper represents geometry in two ways: using b-reps or using meshes . This is something the majority of Grasshopper developers already know, but a deeper understanding of these concepts can help clarify how they can affect the performance of Grasshopper definitions when they run on ShapeDiver .
This performance is especially crucial for any ShapeDiver model that will be accessed or interacted with via a web browser , where the available internet connection or even the device's own hardware can play a significant role on the UX. At ShapeDiver we recommend our users to create definitions that typically load in under 5 seconds as it's proven that the average B2C end user won't wait for longer than this time before heading elsewhere.
In this post I will discuss the difference between b-reps and meshes and I will give you some tips and tricks that will make your definitions load in the least possible time .
What Is A Mesh?
A mesh is the native geometry representation your graphics card (GPU) needs in order to display objects and it consists of a collection of vertices (points) and faces (typically triangles and rectangles).
The more vertices and faces a mesh has, the more time will be required to transfer the mesh to the end device and the more GPU resources will be used. This amount of vertices and faces is what we need to keep the lowest possible in order to have a definition with a great performance.
What Is A B-Rep?
On the other hand, a b-rep (or brep) is the short name given to "Boundary Representation" . It consists of representing surfaces through mathematical equations and a set of limits in the 3D space. B-Reps are both more compact in their definition while retaining more structural information about the shape. Therefore, one can define complex operations on them easily (such as boolean differences or piping) which is challenging to do with meshes.
However, b-reps need to be converted to meshes in order to be rendered by a GPU. During this operation, any performance benefit from using b-rep can be cancelled by the meshing algorithm, if it isn't done right. To get precise information on any given b-rep, type "what" in the Rhino command line. This will open a window describing the object you have selected. At the bottom of this window you'll be able to see the size of the mesh that is being rendered to display this object.
What Happens When Displaying B-Reps In ShapeDiver's Viewer?
All b-reps output to ShapeDiver's viewer are eventually converted to meshes . We try to make this conversion as efficient as possible. However, the automatic conversion potentially comes with two issues : it will increase the online loading times of the models in a non predictable way, and it can produce visual artefacts since the amount of vertices and faces of the meshes can't be controlled. For example, whenever a b-rep contains several faces grouped with hard edges, those faces might be meshed independently and might not appear watertight in the online viewer.
How Can I Handle B-Reps Then?
Optimal performance on ShapeDiver can be achieved by balancing b-rep and mesh operations, keeping the b-rep representation as long as necessary to perform complex operations in the most efficient way but switching to meshes whenever it makes sense , and definitely before outputting geometry to the viewer using one of the ShapeDiver display components.
Keep in mind that the meshing steps of your definition increase the computation time , but at least it is a time that you can predictably control , as opposed to letting our servers do the meshing themselves and possibly output heavy meshes to the viewer. One should always think of how relevant and how big each piece of geometry is in the definition, and optimize their mesh size as much as possible according to it.
For example, let's say we are creating a house and we need to have the 3D model of the door knobs . The most probably situation is that these door knobs will be barely seen in the entire definition as they are a very small detail . In this case, using a perfect sphere to represent the knobs is not worth it . Instead, improve your definitions by using a sphere with very few polygons. But...
How Does One Convert B-Reps Into Meshes?
The most efficient way is to use primitive shapes since Grasshopper already offers direct solutions to create meshes in which you can clearly and exactly define the amount of polygons that you wish to use.
However, in most cases, your geometry will be more complex than a primitive shape, which means you will need to use the component " MeshBrep " that offers different settings solutions to play with the amount of faces and vertices your mesh has.
The simplest setting component is called " Settings(Speed) " and will try to make your mesh as efficient as possible. However, sometimes it is better to use the " Settings(Custom) " as this one has a variety of options to optimize your mesh even more.
Other components which need meshes as inputs will also convert your b-reps directly into meshes, such as the Texture Mapping components in the Human plugin or our owncomponent "ShapeDiverTextureTransform" (I talked about this tool in my previous blog post), but it is not recommended to convert your b-reps in this way as you won't have any control over this conversion.
TIP: If you want to visually check how the wireframe (faces and vertices) of your mesh is, type ctrl+m in Grasshopper, as usually Grasshopper hides the wireframe by default.
* Vertices and faces count difference when converting to mesh directly vs using mesh settings with the "MeshBrep" component.
How Can You Test The Performance Difference Between B-Reps and Meshes?
I have created two performance test models on ShapeDiver. The first one was created using meshes while the second one was created using b-reps . If you push the definitions by drastically changing the settings from the minimum values to the maximum ones, you can notice how the b-rep definition (the second one) takes almost double the time to load in comparison to the mesh definition. Sometimes, depending on your device, the b-rep definition might even crash the browser .
How Can One Be Even More Efficient?
If you have any knowledge using C# Scripting or other programming languages available in Grasshopper, you can create very efficient definitions by coding exactly the way a mesh will be constructed from scratch. You can also use different components inside the mesh tab in Grasshopper.
As a demonstration of using the components just mentioned, I would like to share a cluster that we have created which allows you to do something as simple as extruding , but it outputs a mesh that can be easily optimized using the tolerance parameter.
This example outputs the same geometry than the one in the "MeshBrep" component example, but as you can see, we could bring the face count to half of what was obtained in the best case with "MeshBrep" .
Conclusions
The performance/loading times of Grasshopper definitions are not always the main preoccupation of a Grasshopper designer , but since ShapeDiver.com brings the possibility to share those definitions online , we as Grasshopper developers have to make sure that everyone can have a pleasant experience by making the loading times as fast as possible in the majority of devices .
I hope that knowing the difference between b-reps and meshes will let you improve the performance of your present and future projects, but this is just the beginning . If you want to learn other ways of making your definitions as smooth as possible, visit our Forum and stay tuned for future blog posts.
Was this tutorial helpful? Do you have any comments or feedback? Make sure to visit our Forum and start a thread with your doubts! We're always checking for new topics from our users so we'll make sure to give you useful answers.
COMMENTS
Overview. A boundary representation of a model comprises topological components (faces, edges and vertices) and the connections between them, along with geometric definitions for those components (surfaces, curves and points, respectively).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 ...
Learn how to represent 3D objects implicitly through their 2D boundaries using different data structures. Understand the challenges and solutions for objects with holes and non-manifolds.
Boundary Representation (B-rep) AML710 CAD LECTURE 31 H ={P: P∈E3 and f (P) <0} Half Spaces Half spaces form a basic representation scheme for bounded solids. A half space is a regular point set in E3 and is given by: Z L Planar Half Space A planar half space is represented as: H ={(x, y,z):z <0} X L Y L Classification: Unevaluated boundary ...
Learn about boundary representation, a computer representation scheme for polyhedral three-dimensional objects based on their boundaries. Compare different types of boundary representations, their properties, and applications in computer vision and solid modeling.
Learn about the B-rep, a popular representation of 3D geometry for CAD/CAM applications, and its challenges and limitations. Explore the volumetric representation based on layered depth-normal images (LDNIs) for geometric analysis and computation.
Boundary Representation (B-rep). A B-rep solid model uses a directed graph linking surfaces, edges and vertices to represent the part. A surface normal defines the interior of the solid. This approach provides an explicit definition, and is useful when surface intersection calculations are required.
Boundary Representations . Boundary Representation, or B-rep for short, can be considered as an extension to the wireframe model. The merit of a B-rep is that a solid is bounded by its surface and has its interior and exterior.The surface of a solid consists of a set of well-organized faces, each of which is a piece of some surface (.e.g., a surface patch).
This video describes the fundamentals of the theory underlying the geometric modeling technique known as a boundary representation or BREP. This is a databa...
A comprehensive book on boundary representation (B-rep), the principal solid modelling method used in CAD/CAM systems. It covers data structures, algorithms, applications, and related topics with historical and modern perspectives.
A tailor will suggest instead that the boundary of a solid provides an adequate abstraction. Such boundary representations, frequently abbreviated as b-reps, are discussed in this chapter. In the context of this text, the most versatile method is binary partitioning, which is discussed in Chapters 28 and 29. Download to read the full chapter text.
boundary between solid material and empty space. This boundary is made from a closed set of surfaces. Topology and Boundary Representation Topic: *Model Topology The ACIS boundary representation (B-rep) of a model is a hierarchical decomposition of the model's topology: Body . . . . . . . . . The highest level of model object, and is composed ...
Topology and Boundary Representation. The highest level of model object, and is composed of lumps. A 1D, 2D, or 3D set of points in space that is disjoint with all other lumps. It is bounded by shells. A set of connected faces and wires, and can bound the outside of a solid or an internal void (hollow). Subshells form a further decomposition of ...
Model validity, especially of manifold boundary representation (B-rep) models, has long been recognized as an important problem. This paper reviews issues on model validity of existing models. In particular, we present a set of sufficient conditions for representational validity of a typical B-rep data structure; we propose a rectify-by ...
Computer Graphics - Week 10©Bengt-Olaf Schneider, 1999. Boundary Representation (B-rep) Only describe the boundary explicitly Interior is defined implicitly via the boundary B-reps were conceived as an extension of early ways to represent objects with vectors The boundary can be described using several techniques.
UV-Net: Learning from Boundary Representations. We introduce UV-Net, a novel neural network architecture and representation designed to operate directly on Boundary representation (B-rep) data from 3D CAD models. The B-rep format is widely used in the design, simulation and manufacturing industries to enable sophisticated and precise CAD ...
What is Boundary Representation (B-Rep) B-rep or boundary representation is a rendering technique for solid modeling. It is a popular approach to create a solid model of a physical object. Brep is that a three-dimensional object model is enclosed by surfaces or faces and has its own interior and exterior. It describes the shape as a collection ...
Abstract. We introduce UV-Net, a novel neural network architecture and representation designed to operate directly on Boundary representation (B-rep) data from 3D CAD models. The B-rep format is widely used in the design, simulation and manufac-turing industries to enable sophisticated and precise CAD modeling operations.
Subject - CAD/CAM/CAEVideo Name - Boundary Representation (B-Rep)Chapter - Technique For Geometric ModelingFaculty - Prof. Sushant PatilUpskill and get Place...
On the other hand, a b-rep (or brep) is the short name given to "Boundary Representation". It consists of representing surfaces through mathematical equations and a set of limits in the 3D space. B-Reps are both more compact in their definition while retaining more structural information about the shape.
Previous improvements enabled production work ows for a large class of Boundary REPresentation (BREP) models created in Mechanical CAD systems. BREP tolerances larger than viscous spacing requirements is common, which can lead to poor element shape or meshing failure. Mitigation and accommodation approaches surveyed in paper with highlights ...
Such a representation is known for most of the Virasoro and W-constraints appearing in enumerative geometry and matrix ... However, if one includes all descendants on the boundary [23], it appears that the properties of the conjectural generating function of open intersection numbers (that is, matrix model de- ...
the important purposes of reducing the complexity of the representation and making all the (otherwise possibly quite diverse) objects directly comparable with each other. There ... is a boundary of a solid body. In this case the triangle mesh 0is supposed to be consistent, in the sense that each edge is incident to exactly two faces, and the ...
analytic continuation analytic function applications arbitrary asymptotic representation Bessel functions boundary conditions boundary value problems calculations coefficients complex variable confluent hypergeometric function const coordinates corresponding cosh cosh xo cylinder functions defined denote derive Dirichlet problem domain entire ...
The next sections discuss bulk/boundary realizations technically. The exposition is organized as follows. In Sec. 2 we consider the AGT representation of n-point conformal blocks. In particular, in Sec. 2.2 we explicitly compute the classical 5-point conformal block. Then, in Sec. 3 we switch