Как получить сечение геомтри/сетки режущей плоскости через модель
Привет,
Мне удалось добавить режущую плоскость в модель (импортированную как Model3D, а затем добавленную как содержимое ModelVisual3D), и она работает хорошо, но модель является поверхностью и открыта. Я хочу закрыть поверхность патчем/сеткой, чтобы создать иллюзию, что она твердая. Я понимаю, что вы получаете детали патч-сетки от MeshGeometry3D, но я изо всех сил пытаюсь получить преобразование из модели в сетку.Каков наилучший способ либо импортировать сетку из файла .stl, либо конвертировать ее?
Я понимать и знать, что таким образом можно создать массив point3d и выполняет обратное преобразование такой:-
MeshGeometryHelper.GetContourSegments(mesh, New Point3D(0, 0, 0), New Vector3D(0, -1, 0)).ToArray
Но как мне добраться до сетки, которую я сейчас не знаю, мне не нужно так далеко пытаться отлаживать.
Может быть:-
Dim mesh_Out As Mesh3D = New Mesh3D For Each s As Point3D In segments meshModel.Positions.Add(s) Next
Я искал везде в течение нескольких дней и нахожу многообещающие вещи, но они оказываются тупиковыми.
Может быть, какой-нибудь пример кода, который поможет запустить импульс.
Заранее спасибо.
Что я уже пробовал:
Dim group As Model3DGroup = New Model3DGroup ModelImporter.Load(My.Application.Info.DirectoryPath.ToString & "\MODEL\" & Model_Name & ".STL") Dim TestMesh As MeshBuilder = New MeshBuilder(False, False) For Each m In group.Children Dim mGeo = CType(m, GeometryModel3D) Dim mesh As MeshGeometry3D = CType(CType(mGeo.Geometry, Geometry3D), MeshGeometry3D) If (Not (mesh) Is Nothing) Then TestMesh.Append(mesh) End If Next