Кинематические операции

Материал из K3-Macro
Макро | Создание геометрических объектов | Точки и линии | Примитивы | Кинематические операции | Поверхности | Булевы операции | Булевы над полилиниями и плоскими областями | Сечения объектов | Определение точек пересечения | Проверка на самопересечение | Эквидистантная поверхность | Контур по границе

Создание поверхности вращения или тела вращения[править | править код]

revolve <Object>, <Point1>, <Point2>, <Angle> [yes|no]

Команда создаёт поверхность или тело вращения по следующим параметрам:

<Object> — меридиан (образующая) поверхности или тела вращения,
<Point1> — первая точка оси вращения
<Point2> — вторая точка оси вращения
<Angle> — угол раствора сектора вращения (в градусах)
[yes|no] — признак замыкания до твердого тела сектора вращения. Имеет смысл только в том случае, когда в поверхность можно добавить одну или две плоские грани, чтобы получилось твёрдое тело.

Создание обобщённого тела или поверхности вращения[править | править код]

swungsurf <Object1> <Object2> <Coord>

Контуры для обобщенного тела вращения
Обобщенное тело вращения

Данная команда создает обобщенное тело или поверхность вращения.

Обобщенное тело или поверхность вращения – это тело или поверхность образованные движением меняющейся образующей <Object2>, представляющей собой контур (может быть замкнутым и разомкнутым) вокруг неизменяющейся оси. Закон изменения образующей определяется формой направляющей – образующая масштабируется по радиусу пропорционально расстоянию от оси вращения до направляющей <Object1>, представляющей собой контур, перпендикулярный к плоскости образующей (может быть замкнутым и разомкнутым). Неизменяющаяся ось лежит в плоскости образующей <Object2> и перпендикулярна плоскости направляющей <Object1> (образующая должна быть обязательно перпендикулярна направляющей) и проходит через точку с координатой <Coord>. Координата считается от крайней точки пересечения проекции не должна лежать в пределах проекции образующей на плоскость направляющей (этот участок отмечен на верхнем рисунке жирным жёлтым). Результат для верхнего рисунка показан на нижнем рисунке.

Создание поверхности или тела выдавливания[править | править код]

Для создания поверхностей и тел выдавливания используется команда extrusion. Она имеет несколько сценариев запроса параметров, которые представлены ниже.


extrusion <Object>, [<Object1>, ..., <ObjectN> done] [solid|nosolid] [mapsection <Z0>, <Z1>] <H>

Команда создаёт поверхность (nosolid) или тело (solid) выдавливания по следующим параметрам:

<Object> - внешний контур образующей поверхности или тела выдавливания,

<Object1>, ..., <ObjectN> - внутренние контуры образующей. Внутренние контуры не должны пересекать внешний контур. Если внешний контур – незамкнутая кривая, то параметры <Object1>, ..., <ObjectN> не запрашиваются.

<H> — высота сдвига контуров.

Ключ mapsection позволяет задать номера секций для раскрашивателя верхнего донышка (<Z0>) и нижнего донышка (<Z1>).


extrusion <Object> [, <Object1>, ..., <ObjectN> done] [solid|nosolid] [mapsection <Z0>, <Z1>] {<Point> | vector <Point1>, <Point2>}

Команда позволяет создать поверхность (nosolid) или тело (solid) выдавливания с указанием вектора выдавливания по одной точке (<Point>) или по двум точкам (vector <Point1>, <Point2>). Указание вектора по одной точке зависит от текущего видового окна, поэтому в макропрограммах использовать не рекомендуется.

Создание винтовой поверхности или тела[править | править код]

screw <Object> [, <Object1>, ..., <ObjectN> done] <Point1>, <Point2> <H_loop>, height <H> | loop <Num_loop>] </code>[yes|no]

Команда создаёт винтовую поверхность или тело по следующим параметрам:

<Object> - внешний контур образующей винтовой поверхности или тела,
<Object1>, ..., <ObjectN> - внутренние контуры образующей. Внутренние контуры не должны пересекать внешний контур. Если внешний контур – незамкнутая кривая, то параметры <Object1>, ..., <ObjectN> не запрашиваются.
<Point1> - первая точка на оси винта,
<Point2> - вторая точка на оси винта,
<H_loop> - высота одного витка,
<H> - высота всего винта, если выбран ключ height
<Num_loop> - количество витков, если выбран ключ loop
[yes|no] - признак замыкания или незамыкания формируемой поверхности в твёрдое тело. Имеет смысл только в том случае, когда в поверхность можно добавить одну или две плоские грани, чтобы получилось твёрдое тело.

Создание «трубы»[править | править код]

pipe <Object1>, <Objects2>| [first | full] <Object2>, <Point> [reorient] <Angle> [yes|no]

Команда создаёт поверхность или тело движением плоской образующей по произвольной направляющей по следующим параметрам:

<Object1> - контур направляющей,
<Objects2> - список замкнутых контуров образующей, вложенных в первый контур образующей, либо
<Object2> - незамкнутый контур образующей,
<Point> - точка на образующей, которая будет двигаться по направляющей линии,
<Angle> - угол поворота образующей вокруг оси, проходящей через точку <Point> и перпендикулярной плоскости образующей,
[yes|no] - признак замыкания или незамыкания формируемой поверхности в твёрдое тело. Имеет смысл только в том случае, когда в поверхность можно добавить одну или две плоские грани, чтобы получилось твёрдое тело.

Ключ reorient позволяет переориентировать контур относительно направляющей (зеркальная симметрия).

Необязательные ключи first и full позволяют осуществлять выбор контуров по одному first и командами группового выбора full (рамка и пр.)


Макро | Создание геометрических объектов | Точки и линии | Примитивы | Кинематические операции | Поверхности | Булевы операции | Булевы над полилиниями и плоскими областями | Сечения объектов | Определение точек пересечения | Проверка на самопересечение | Эквидистантная поверхность | Контур по границе