How to remove self-intersection of a mesh with the Meshlab application or vcglib?
Remove self-intersections in Meshlab or vcglib
5.4k views Asked by sergio campo At
2
There are 2 answers
2
ilke444
On
If you are looking for a trivial solution with Meshlab, you can do the following:
Filters -> Cleaning and Repairing -> Select Self Intersecting Faces: You will see the self-intersections colored in red.
Filters -> Selection -> Delete Selected Faces: The self-intersecting faces will be deleted.
Edit -> Fill Hole: You need to go through the list of holes and click on select checkbox for all holes resulting from the deleted faces. If your mesh has lots of holes, this may be a cumbersome task. There is a good chance that the deleted faces may have left non-manifold holes, so you can use that to select which holes to fill.
Related Questions in GEOMETRY
- WorldToScreen function
- Intersection of Cartesian Box and Polygon in 3D
- find point in inside polygon ..with mysql
- How do I find the line segments formed by the meeting of two sides of two polygons?
- How to create a pareto distribution prediction function?
- How to estimate the memory size of a binary voxelized geometry?
- Spacing out overlapping rectangles: how to translate pseudocode?
- Sympy manipulation of wedge products
- how to create a sector and check if some point is in it's area?
- Get third control point quadratic Bezier curve for parabola with given fucus and directrix, Lua
- CGSRegionRef: How is an arbitrary region represented as union of rects?
- Distribution of n number of equi-distant point in polygon
- Selecting suitable triangles to intersect with a line
- How to distribute n number of points into a svg polygon javascript
- How to offset a shaply polygon without chnaging corner shape
Related Questions in COMPUTATIONAL-GEOMETRY
- Sweep shape along 3D path in Python
- 'plotAtlas' function in Morpho package
- Encounter problem at different speed/start point algorithm design
- Selecting suitable triangles to intersect with a line
- Merging Geodataframe Polygons to Meet Population Threshold in Python
- Rotating a 3D body in python results in holes in the body
- SageMath: Create a triangle with specific angles in Hyperbolic space, eg., Upper Halfspace Plane
- reducing a massive tetrahedron mesh using gmsh or other way
- Implementing Jarvis Binary Search in Chan's algorithm
- How to find centroid snapped to grid via Shapely?
- Find the largest rectangle that doesn't intersect any given polygon
- Generate P random N-dimensional points from list of ALL possible pairwise distances
- Fast way to find closest line segment for a large set of planar points [Python]
- how to check if all the faces face outward
- Counting the number of polygons containing origin in 2D
Related Questions in MESH
- Adhoc / mesh network not working (with and without batman-adv)
- Error: 'Mesh' object has no attribute 'use_auto_smooth' when importing .zmbx (Metabricks) file into Blender
- Grid-like lines in my procedurally generated mesh
- How to save a .msh format to read with Gmsh from vertices, elements (tetra) and type of tissue?
- How to make sure METIS partition surface mesh connected?
- How to calculate the surface area of a 3d mesh
- Distance transform to calculate centerline/skeleton
- The best methods to report object mesh problems?
- How to highlight or draw line on where 2 or more meshes intersect
- Open3d Triangle Mesh fill_holes() method leads to crash
- Hexahedral mesh creation and adjustment for modeling of a 3D printing process
- Godot 4's MultiMesh doesn't display the correct colors
- Creating a density plot out of a large matrix in octave
- How to change mesh element type in Python gmsh?
- Mesh generation using GMSH (Python)
Related Questions in MESHLAB
- How to close hole at the bottom part of the model? Any specific way?
- What 3D API does MeshLab use?
- PyMeshLab Saving Exception
- Determing accurate direction and distance of models in meshlab
- Can I move a vertex in MeshLab?
- perform **batch** coverting gltf to textured obj format with texture map
- How "export mesh as" with updated texture file from MeshLab?
- surface of mesh cannot be seen from outside, only from inside
- How are molecules colored in common molecular visualization software?
- Forming Watertight mesh
- Updating a mesh in meshlab live, from command line
- CGAL: How can I see vertex colors in Meshlab?
- CloudCompare computed Normals are not aligned in the mesh
- Meshlab Deviation analysis not colored?
- How to find the geometrical information of selected area?
Related Questions in VCG
- How to extract vertex coordinates in vcg library
- Coloring Rgl 3d mesh faces
- Can Meshlab determine whether a point is inside a mesh
- refining a mesh in VCG
- 3D Mesh model (.obj) Importing via vcglib causes Assertion 0 failed issue
- Program crashes while creating VertexPointer of more then 400k Vertex in VCG
- Cannot run VCG Programs
- What does `wedge` means in vcglib?
- Cannot compile Vcg library in VS 2010
- Counting not outward oriented faces
- Number of detected self intersection in vcglib does not coincide with the Meshlab number
- Remove self-intersections in Meshlab or vcglib
- Visual studio 2017 became stuck when I compiled a program using VCG in release mode
- Unify normal estimation using PCL
- Assertion Failure when using vcglib examples
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?
Popular Tags
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)
This is out of the scope but there are some functions in CGAL. This is still experimental and not documented but you can use the function
remove_self_intersections(). Depending on the type of self-intersections, you can also use the (also experimental) functionautorefine_and_remove_self_intersections(). The first function is more likely to be used when you want to remove self-intersection due to loss of precision (doing somehow a local remeshing) while the second is to be used when you have strong self-intersections.