Получение 3D-геометрии твердого тела

2016-01-29T18:12:44+03:00 2016-01-29T18:12:44+03:00
0
Посетители
0
Новичок
Здравствуйте! Помогите разобраться с проблемой:
Мне необходимо программно получить из SolidWorks 3D-геометрию твердого тела для стороннего тела в определенном формате. Программный язык не имеет значения. Пример формата:
---Vertex
{Vertex0.X, Vertex0.Y, Vertex0.Z;
-------------------------------------------
VertexN.X, VertexN.Y, VertexN.Z;
}
---Faces
{ -----------------
-----------------
----------------
}
Получить Vertex у меня получилось, но непонятно, как лучше получать:
1) mBody.GetVertices()->myVertex.GetPoint();
2) mBody.GetEdges()->swEdge.IGetStartVertex() и swEdge.IGetEndVertex().
А вот как получить точки, чтобы связать (залить) полученные вершины, я не пойму. Подскажите, как это сделать?
Я написал похожий экспортер для Inventor, там мне хватило одного метода GetExistingFacets. Для более полного понимания, что мне нужно, приведу пример экспорта из Inventor для обычного кубика:
Vertices={
0, 0.0124729490280151, -0.0114751148223877;
0, 0.0124729490280151, 0.0109207606315613;
0.01, 0.0124729490280151, 0.0109207606315613;
0.01, 0.0124729490280151, -0.0114751148223877;
0, -0.00936857104301453, -0.0114751148223877;
0, 0.0124729490280151, -0.0114751148223877;
0.01, 0.0124729490280151, -0.0114751148223877;
0.01, -0.00936857104301453, -0.0114751148223877;
0, -0.00936857104301453, 0.0109207606315613;
0, -0.00936857104301453, -0.0114751148223877;
0.01, -0.00936857104301453, -0.0114751148223877;
0.01, -0.00936857104301453, 0.0109207606315613;
0, 0.0124729490280151, 0.0109207606315613;
0, -0.00936857104301453, 0.0109207606315613;
0.01, -0.00936857104301453, 0.0109207606315613;
0.01, 0.0124729490280151, 0.0109207606315613;
0.01, 0.0124729490280151, 0.0109207606315613;
0.01, -0.00936857104301453, 0.0109207606315613;
0.01, -0.00936857104301453, -0.0114751148223877;
0.01, 0.0124729490280151, -0.0114751148223877;
0, -0.00936857104301453, 0.0109207606315613;
0, 0.0124729490280151, 0.0109207606315613;
0, 0.0124729490280151, -0.0114751148223877;
0, -0.00936857104301453, -0.0114751148223877;
};
Faces={
1,2,4;
4,2,3;
5,6,8;
8,6,7;
9,10,12;
12,10,11;
13,14,16;
16,14,15;
18,19,17;
17,19,20;
22,23,21;
21,23,24;
};
 
Доступ закрыт.
  • Вам запрещено отвечать в темах данного форума.