do_create_mesh_by_points_and_lines
Создать элемент 3d mesh (3d сетка) из таблицы точек и/или таблицы линий уровня по таблице контура.
Вызов:
ac_request("do_create_mesh_by_points_and_lines", int iTable_Coords3DPointsTable, int iTable_Coords2DTableContour, int iTable_Coords3DPointsTable);
Здесь:
iTable_Coords3DPointsTable - дескриптор таблицы, описывающей 3d точки уровня поверхности (может быть -1, если уровни заданы только линиями);
iTable_Coords2DTableContour - дескриптор таблицы, описывающей 2d точки контура. Если указать -1 - то контуром будут точки будут рассчитаные автоматически по таблицам точек уровня и линий;
iTable_Coords3DPointsTable - дескриптор таблицы, описывающей 3d линии уровней (может быть -1, если уровни задаются только точками).
Пример.
Построить общую поверхность для набора выделенных элементов в виде 3d сетки, у которой координаты уровней заданы точками.
int iTable_Coords3DTable;
object("create", "ts_table", iTable_Coords3DTable);
int iTable_Coords2DTableContour;
object("create", "ts_table", iTable_Coords2DTableContour);
ac_request_special("load_elements_list_from_selection", 1, "MeshType", 2);
ac_request("get_loaded_elements_list_count", 1);
int icount = ac_getnumvalue();
cout << "Отобрано элементов для анализа = " << icount << "\n";
ac_request("get_lands_combined_contour_coords", 1, iTable_Coords2DTableContour);
string str;
ts_table(iTable_Coords2DTableContour, "print_to_str", str);
cout << "Контур\n";
coutvar << str;
ac_request("get_lands_topcoords", 1, iTable_Coords3DTable, 1);
ts_table(iTable_Coords3DTable, "print_to_str", str);
cout << "\nКоординаты\n";
coutvar << str;
ac_request("do_create_mesh_by_points_and_lines", iTable_Coords3DTable, iTable_Coords2DTableContour,-1);
object("delete", iTable_Coords2DTableContour);
object("delete", iTable_Coords3DTable);