I know B-Rep (ParaSolid) is the popular solid representation. From my past experience, I always touch the triangle mesh representation like OBJ, STL file format. I am wondering why B-Rep is better than mesh representation? What's the main difference?
What's the main difference between B-Rep and Mesh index represation
4.9k views Asked by Adam Lee At
2
There are 2 answers
0
Andrey.Dankevich
On
First of all, better for what?
For example, for 3D printing, or pure visualization purposes mesh representation is better suited.
B-Rep preserves the underlying geometry (surfaces, curves, points), as well as connectivity between model's topological items (faces, edges, vertices). Thus, allowing richer operation (feature) set: filleting, blending, etc.
Related Questions in AUTOCAD
- How to use custom class created by ObjectARX
- How to copy and paste an autocad table using python
- Loading ARX module fails without information
- Circular profiles on the hallow sphere in Autodesk Inventor
- GDAL ogr2ogr alternative that uses multiprocessing
- How do CAD applications handle out-of-range characters in SHX fonts?
- To Set a System Variable Value With JavaScript API in AutoCAD
- I am trying to write a sanskrit mantra on autocad. When I preview the text, it is correct but as I plot the file to pdf, the 'maatra's' change
- LISP to Batchplot (Publish) Multiple .dwg Models into One PDF
- How to find a contour for a specified point using Autocad COM API?
- Issue connecting python to Autocad
- Autocad using pyautocad / comtypes to copy objects from one drawing to another
- Max input file size of Design Automation for AutoCAD?
- How do you get the coordinates of the boundaries of each closed area?
- How to find closed objects among an array of lines?
Related Questions in CAD
- Incorrect ARC dimensions showing up in ezdxf
- How do CAD applications handle out-of-range characters in SHX fonts?
- Autodesk RCP, RCS files reading
- I am trying to write a sanskrit mantra on autocad. When I preview the text, it is correct but as I plot the file to pdf, the 'maatra's' change
- Hexahedral mesh creation and adjustment for modeling of a 3D printing process
- Editing arc Normal Z within LW polyline in AutoCAD without exploding polyline
- Possible algo or approach to solve this type of floorplanning problem?
- Get all entities inside or crossing a given closed polyline using Ezdxf Python
- Read header dwg file format
- How to use the SIEMENS NX's "NXOpen" API in Python?
- Getting Boundary Edge of a Face on a Trimesh Object
- Detect rooms/enclosed spaces from List of Boxes
- Cadquery: how to create holes on multiple faces of a box?
- GSTARcad transient graphics
- Extracting occlusion data for blocks inside a dxf file
Related Questions in SOLIDWORKS
- Circular profiles on the hallow sphere in Autodesk Inventor
- How can I activate a model window if it is already open? Solidworks VBA
- Solidworks dwg with bendlines, how do i merge these two codes?
- Problem saving Solidworks files inside PDM vault using macro
- Issue displaying PMI annotations in Autodesk Viewer for assembly files
- Trying to split object with a dovetail connector and stopper
- Recommendation for proper way to export URDF from the CAD model
- SolidWorks VBA Macro : Select all holes
- VBScript - Type Mismatch Error when trying to use a Sub that passes variable by reference (Writing an HTA to work with SolidWorks)
- VBA: strange error with ParentWindow.ClipboardData.SetData
- How to cut sphere in SOLIDWORKS 2019 in C# api
- GetWindowRect function is returning zeros for Solidworks Applications
- How to select bottom plane in C# Solidworks API?
- How to edit Variable Fillet with SolidWorks API
- Open an Excel Workbook Using SolidWorks API in VBA
Related Questions in BSPLINE
- Maintaining "upvector" in a BSpline
- Avoid writing large number of column names in a model formula with bs() terms
- Defining BSpline in SciPy knowing its degree, control points, knots, and weights
- Understanding scipy b-spline base interval
- How to calculate the following Jacobian on Lie group SO(3)?
- How do I fix the bug in my b-spline implementation: The figure always has a point on 0,0 coordinate
- Is it possible to use splines and b-splines cooperatively?
- Is there a way to create a factor table for spline terms using GAMs in Python's h2o
- Interpolation along a BSpline
- Does python have an analogue to R's splines::ns()
- Use B Spline Function on Networkx Graph
- How to select control points for B-spline smoothing from a set of points?
- geomdl approximate_surface not working as expected
- How to find arc length / curve length reparameterization of b-spline curve?
- How can I add this external library in my C code?
Related Questions in BREP
- OpenCascade: brep read fails
- Can someone please explain the Ray-casting algorithm for point in polygon i.e. containment check?
- Generation of cubic grid
- Boundary representation in ThreeJS
- What is the difference between Brep and polygonal mesh in 3D Geometric Representations?
- Winged-edge vs half-edge
- what's the main difference between B-Rep and Parametric representation
- What's the main difference between B-Rep and Mesh index represation
- Implementing boundary representation modeling
- Volume of a B-rep?
- Boundary representation data structure
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
A boundary representation (b-rep) solid modeler uses a combination of precise geometry and boundary topology to represent objects such as solids (3d manifolds), surfaces (2d manifolds) and wires (1d manifolds).
The salient property of a b-rep is that it represents geometry precisely. Faces of the b-rep are defined by the equations of the surfaces associated with the face. Edges are represented with precise curves, often the curve of intersection of its adjacent faces. (Sometimes approximate curves are used when precise curves are too difficult to compute or when faces don't fit together exactly--this is called a "tolerant" model).
Because the underlying geometry of a b-rep is precise, the model can be queried (in principle) to arbitrary precision. For example, if you have a b-rep of a box with a cylindrical hole through it, you can query the volume of the box to an arbitrary precision. With a tessellated model you can only compute the volume to the precision of the tessellation, which can never represent the cylindrical hole exactly.
Another benefit of b-reps is they tend to be much more compact than tessellated models. As a simple example, a sphere represented as a b-rep has a single face associated with the geometry of the sphere. It only takes a center and radius to define that sphere, and a few bytes more for the b-rep data structure to support it. A tessellated model of a sphere may have many vertices, each with 3 coordinates.
Diving a little deeper, Boolean operations on a tessellation are problematic, since the facets on one of the bodies may not line up with the facets on the other. There needs to be some sort of rectification process which will add complexity and inaccuracy to the combined model. No such problem occurs with b-reps, since new curves can be computed as intersections of the surfaces that underlie the intersecting faces.
On the other hand, tessellated models are becoming more popular now that the technology of manipulating them is maturing. For example, with discrete differential geometry and discrete spectral methods we can manipulate the meshes in a Boolean in a way that minimizes the local changes to discrete curvature, or we can manipulate regions of the tessellation with simple controls that move many points.
Another benefit of tessellated models is they are better for scanned data. If you scan a human face, there is no need to try to find precise surfaces to represent the data, the tessellated image is good enough.