老师好。如题,现使用mdlPop_elementDescrFromElementDescrBoolOp接口分割Mesh。
一个切面将一个Mesh,分割成俩个Mesh,分割后的mesh形状奇奇怪怪, 多了很多内部线条。
自己比对了下属性,发现原Mesh切割前的几何属性中有隐藏边数,边界边数。切割后没有了。不知道是不是这个引起的。
这个问题该如何解决?
图1:切割前的Mesh
图2:切割后的Mesh
看截图形状没有发生变化吧,只是多了一些内部的线条,PolyfaceHeader下有一个MarkInvisibleEdges您可以试试看能否隐藏掉这些边。
老师好,MarkInvisibleEdges这个方法里的那个入参该怎么填写啊,翻了半天的接口文档没有搞明白。
老师好,我代码大致是这样的。没有效果,是不是使用错了,大致意思就是切分完添加到模型中,再修改隐藏边属性
leaveEdP1 =mdlPop_elementDescrFromElementDescrBoolOp(meshOriginEdP,cutEdP,NULL,1, FALSE, FALSE, TRUE,FALSE, FALSE);
mdlElmdscr_add(leaveEdP1); ElementHandle ele(leaveEdP1->h.elementRef->GetElementId(), ACTIVEMODEL); EditElementHandle meshEH1(ele,true); auto query = dynamic_cast<IMeshQuery*>(&meshEH1.GetHandler()); PolyfaceHeaderPtr mesh; if (nullptr != query && SUCCESS == query->GetMeshData(meshEH1, mesh)) { mesh->MarkInvisibleEdges(0); }
meshEH1.ReplaceInModel(meshEH1.GetElementRef());
请上传一下您这个模型文件。可将无关模型删除掉。
天角潭-分割.dgn构件ID:48517