.. role:: blue :class: blue Построение поверхности вращения =============================== .. _Construction_of_Revolution_Surface: .. версия ядра: 118057 Функция .. code-block:: cpp MbResultType RevolutionSurface( const MbCurve3D & curve, const MbCartPoint3D & origin, const MbVector3D & axis, double angle, bool simplify, MbSurface *& result ); выполняет построение поверхности вращения. Входными параметрами функции являются: - **curve** – образующая кривая; - **origin** – точка положения оси вращения; - **axis** – направление оси вращения; - **angle** – угол вращения; - **simplify** - флаг упрощения результирующей поверхности (если возможно, создаётся элементарная поверхность, например, сфера, тор, цилиндр или конус вместо общей поверхности вращения). Выходным параметром функции является построенная поверхность **result**. При удачной работе функция возвращает :blue:`rt_Success`, в противном случае функция возвращает код результата из перечисления :ref:`MbResultType ` (см. *mb_operation_result.h*). Функция объявлена в файле *action_surface.h*. Поверхность вращения получают путем движения образующей кривой вдоль дуги окружности, центр которой расположен на оси, проходящей через точку **origin** в направлении вектора **axis**, а угол раствора равен величине **angle**. Если флаг **simplify** установлен в *true*, функция пытается создать упрощённую (элементарную) поверхность. Например, при вращении прямой линии вокруг оси может быть создана цилиндрическая, коническая или плоская поверхность; при вращении дуги окружности — сферическая или тороидальная поверхность. Поверхность вращения представлена в параграфе :ref:`Поверхность вращения MbRevolutionSurface `. На рисунке приведена поверхность, построенная вращением кривой вокруг оси на заданный угол: .. figure:: /MODELER/SURFACE_CONSTRUCTION_METHODS/pictures/M.5.4.1.png :width: 12cm :align: center В тестовом приложении test.exe построение поверхности вращения выполняется с помощью команды меню «Создать → Поверхность → На базе кривых → Вращения».