Knight school Ответов: 0

Как получить сечение геомтри/сетки режущей плоскости через модель


Привет,
Мне удалось добавить режущую плоскость в модель (импортированную как 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

0 Ответов