cutdigital / mcut

A library for detecting and resolving intersections between two surface meshes.
https://cutdigital.github.io/mcut.site
Other
414 stars 76 forks source link

Mesh cutting with plane #3

Closed yvanblanchard closed 2 years ago

yvanblanchard commented 2 years ago

Hello, I woulld like to start testing your lib with a sample mesh (closed volume) / plane intersection, and get the slice (2D) mesh as result, and the boundary as IGES (or at least as a list of points). Is it already possible, and if yes how ?

Thank you.

chitalu commented 2 years ago

Hi @yvanblanchard

Yes, this is already possible.

One example of how to do this can be found in the "HelloWorld" tutorial, which is described here.

You may also setup your meshes to be aligned as you require and intersect/cut with them using the "BasicCmdLineApp" tutorial. The .obj file format is assumed for your input meshes.

You will find the source code for these referenced tutorials in the "mcut/tutorials/" directory.

yvanblanchard commented 2 years ago

Thank you for your reply. Sorry, my question was not enough clear ; I expected to define one of the reference plane (from input mesh) as cutting element (XY, XZ, YZ) ; it is not a big deal to build it using two triangles, but I need to size it to be sure that intersection exists with input mesh (need a piece of code..)

chitalu commented 2 years ago

According to my understanding, you would like to define an appropriate scale of a plane (e.g. spanned by either the XY, XZ, or YZ axis pairs), where this scale is large enough to ensure that this plane will intersect (or "slice") your input mesh.

Is this a correct interpretation? If so, then your question is beyond the scope of MCUT, which assumes that the input meshes that you wish to intersect are well placed for there to be a cut.

If I have misunderstood your issue, I suggest that you provide a basic illustration.

yvanblanchard commented 2 years ago

Understood. Thank you for your help