mcut
mcut copied to clipboard
I crashed when I tried to partially slice the output from the previous partially slice.
I crashed when I tried to partially slice the output from the previous partially slice. mcflags: err = mcDispatch( context, MC_DISPATCH_VERTEX_ARRAY_DOUBLE | MC_DISPATCH_ENFORCE_GENERAL_POSITION | MC_DISPATCH_FILTER_FRAGMENT_SEALING_INSIDE | MC_DISPATCH_FILTER_FRAGMENT_LOCATION_ABOVE, triangulated output: MC_CONNECTED_COMPONENT_DATA_FACE_TRIANGULATION crash info:
mcutd.dll!mcut::mesh_t::add_face(const std::vector<mcut::vertex_descriptor_t,std::allocatormcut::vertex_descriptor_t> & vi) 行 545 C++ mcutd.dll!indexArrayMeshToHalfedgeMesh::__l31::
(std::_Vector_const_iterator<std::_Vector_val<std::Simple_types >> block_start , std::_Vector_const_iterator<std::Vector_val<std::Simple_types>> block_end ) 行 534 C++ mcutd.dll!indexArrayMeshToHalfedgeMesh(std::unique_ptr<McDispatchContextInternal,std::default_delete<McDispatchContextInternal>> & ctxtPtr, mcut::mesh_t & halfedgeMesh, double & bboxDiagonal, const void * pVertices, const unsigned int * pFaceIndices, const unsigned int * pFaceSizes, const unsigned int numVertices, const unsigned int numFaces, const mcut::math::vec3* perturbation) 行 578 C++ mcutd.dll!mcDispatch(McContext_T * context, unsigned int dispatchFlags, const void * pSrcMeshVertices, const unsigned int * pSrcMeshFaceIndices, const unsigned int * pSrcMeshFaceSizes, unsigned int numSrcMeshVertices, unsigned int numSrcMeshFaces, const void * pCutMeshVertices, const unsigned int * pCutMeshFaceIndices, const unsigned int * pCutMeshFaceSizes, unsigned int numCutMeshVertices, unsigned int numCutMeshFaces) 行 2530 C++
I tried cutting using Basiccmdlineapp.exe and encountered a similar problem.
Attached are the relevant information and cutting documents
data.zip
。
Hi @monkeygame
MCUT currently offers a rather simple implementation of MC_CONNECTED_COMPONENT_DATA_FACE_TRIANGULATION, which can sometimes produce degenerate triangles ('degenerate' in the sense of having zero area).
This will be addressed in due course with a more robust triangulation routine that also produces higher quality faces.
Consider using MC_CONNECTED_COMPONENT_DATA_FACE for now. Note however, that this is not a solution but a possible workaround for the time being.
I will leave this issue open until proper triangulation is implemented.
Thanks for your reply, very nice work, come on
This bug is now resolved in the latest release.