Я загрузил 3d модель с использованием Helix toolking как этотполучая точки вершины GeometryModel3D нарисовать каркасные
modelGroupScull = importer.Load("C:\\Users\\Robert\\Desktop\\a.obj");
GeometryModel3D modelScull = (GeometryModel3D)modelGroupScull.Children[0];
и я также _3DTools, которые могут рисовать линии от точки к точке в 3D пространства. теперь, чтобы нарисовать каркас моего GeometryModel3D, я думаю, мне нужно циклически перебирать его вершины и добавлять их в ScreenSpaceLines3D.
ScreenSpaceLines3D wireframe = new ScreenSpaceLines3D();
// need to cycle through all vertexes of modelScull as Points, to add them to wireframe
wireframe.Points.Add(new Point3D(1, 2, 3));
wireframe.Color = Colors.LightBlue;
wireframe.Thickness = 3;
Viewport3D1.Children.Add(wireframe);
Но ... как я могу получить эти вершинные точки?
EDIT:
Спасибо за ответ. Это же добавить точки
ScreenSpaceLines3D wireframe = new ScreenSpaceLines3D();
MeshGeometry3D mg3 = (MeshGeometry3D)modelScull.Geometry;
foreach (Point3D point3D in mg3.Positions)
{
wireframe.Points.Add(point3D);
}
wireframe.Color = Colors.LightBlue;
wireframe.Thickness = 1;
Viewport3D1.Children.Add(wireframe);
но каркасный перепутались)
http://gyazo.com/3a70930150757c6bee9153b02bc459dd.png
может быть кто-то знает других способов привлечь каркасы?)
Идея звука хорошая, но она бросает Оператор '<' не может применяться к операндам типа 'int' и 'System.Windows.Media.Int32Collection' –
Я обновил это, есть ли проблемы сейчас? Забыл свойство 'Count', maybee вам нужно' Count() 'Можете ли вы обновить сообщение и добавить новое изображение? (показать предыдущий тоже) –
по-прежнему выглядит перепутанным и медленным veeery (угадать придется искать какой-то другой метод.) –