gkjohnson/three-bvh-csg

T-vertices after subtracting mesh from a plane

Closed this issue · 4 comments

Hello,

First, thank you for this library, it is very fast and really good.
When I subtract a mesh from a plane to get the plane with a hole matching the mesh clipped shape, I noticed that there are T-vertices.

I use HOLLOW_SUBTRACTION operator. I did a small screenshot video by opening the mesh exported with THREE.GLTFExporter with Blender:

simplescreenrecorder-2024-02-16_23.02.21.mp4

However, the generated geometry is right. It is just that the T-vertices make it difficult to compute the contour or to simplify.
Is T-vertices removal is on your roadmap? Or there is a way to avoid them?

I am using the v0.0.16 NPM package

Thank you in advance

This is the nature of the current triangle clipping algorithm. Issues #51 and #97 outline some solutions but I have no specific timeline for implementation, if at all. If this is something you're interested in contributing I can point you to the areas of the codebase to start.

Hi @gkjohnson
Thank you for your reply.

I will work on a small open three.js lib to detect & remove T-vertices. I did some research and I found nothing.
It is an issue in some cases for meshes done with your lib, but also in other cases like 3D printing. So I think it is better to do a separate project.

I will post the link here once done.

Sounds great! If you'd like to contribute it this project, as well, I'd be happy to publish this kind post-process retopology step along side the CSG operations as a utility since it's related.

Hi @gkjohnson,

I have developed a small lib to remove T-vertices. Here is the link to the Github repo: https://github.com/WebAR-rocks/three-tvert-killer
There is an NPM package.
It is released under MIT software license.
I hope it will be helpful for other folks.