v2.0
 
Трёхмерное моделирование

Классы

class  Axis3D
 Ось — вектор, привязанный к фиксированной точке. Подробнее...
 
class  Curve3D
 Кривая в трёхмерном пространстве.
Подробнее...
 
class  Matrix3D
 Матрица преобразования в трёхмерном пространстве. Подробнее...
 
class  Placement3D
 Локальная система координат в трёхмерном пространстве. Подробнее...
 
class  Point3D
 Точка в трёхмерном пространстве. Подробнее...
 
class  Solid
 Твёрдое тело. Подробнее...
 
class  Vector3D
 Вектор в трёхмерном пространстве.
Подробнее...
 

Topics

 Параметры операций
 

Перечисления

enum  CoordinateSystem3D { Cartesian , Cylindrical , Spherical }
 Тип системы координат в трёхмерном пространстве. Подробнее...
 

Функции

Curve3D CreateLineSegment3D (Point3D startPoint, Point3D endPoint)
 Создаёт отрезок.
 
Curve3D CreateCircle3D (Point3D center, Vector3D normal, number radius)
 Создаёт окружность.
 
Curve3D CreateArc3DByThreePoints (Point3D startPoint, Point3D intermediatePoint, Point3D endPoint)
 Создаёт дугу окружности из startPoint к endPoint через intermediatePoint.

 
Curve3D CreateArc3DByCenterStartEndPoints (Point3D centerPoint, Point3D startPoint, Point3D endPoint, bool clockwise)
 Создаёт дугу окружности по центру, начальной и конечной точкам.
 
Curve3D CreateEllipse3D (Point3D center, Vector3D normal, Vector3D majorVector, number majorRadius, number minorRadius)
 Создаёт эллипс.

 
Curve3D CreateRectangle3D (Point3D center, Vector3D normal, Vector3D widthVector, number width, number height)
 Создаёт прямоугольник в виде замкнутой составной кривой из четырёх отрезков в 3Д пространстве.
 
Curve3D CreateEllipticalArc3D (Point3D center, Vector3D normal, Vector3D majorVector, number majorRadius, number minorRadius, Point3D startPoint, Point3D endPoint, boolean clockwise)
 Создаёт эллиптическую дугу.

 
Curve3D CreateParametricCurve3D (string xFunction, string yFunction, string zFunction, CoordinateSystem3D coordinateSystem, number tStart, number tEnd, Placement3D oPlacement)
 Создаёт кривую, описываемую параметрическими функциями в 3D-пространстве.
 
Curve3D CreatePolyline3D (table points)
 Создаёт составную кривую из отрезков по точкам.
 
Curve3D CreateCompositeCurve3D (table curves)
 Создаёт составную кривую. Начало каждой кривой должно совпадать с концом предыдущей.
 
Axis3D CreateXAxis3D ()
 Создаёт ось X.
 
Axis3D CreateYAxis3D ()
 Создаёт ось Y.
 
Axis3D CreateZAxis3D ()
 Создаёт ось Z.
 
Solid CreateBlock (number xSize, number ySize, number zSize, Placement3D oPlacement)
 Создаёт прямоугольный параллелепипед.
 
Solid CreateRightCircularCylinder (number radius, number height, Placement3D oPlacement)
 Создаёт прямой круговой цилиндр.
 
Solid CreateRightEllipticalCylinder (number radiusX, number radiusY, number height, Placement3D oPlacement)
 Создаёт прямой эллиптический цилиндр.
 
Solid CreateRightPrism (table points, number height, Placement3D oPlacement)
 Создаёт прямую призму.
 
Solid CreateSphere (number radius, Point3D oPoint)
 Создаёт сферу.
 
Solid CreateRightCircularCone (number radius, number height, Placement3D oPlacement)
 Создаёт конус.
 
Solid CreateRectangularPyramid (number width, number depth, number height, Placement3D oPlacement)
 Создаёт прямоугольную пирамиду в локальной системе координат.
 
Solid CreateSweptDiskSolid (number radius, number innerRadius, Curve3D path)
 Создаёт тело перемещения диска по пути.
 
Solid Extrude (Curve2D contour, ExtrusionParameters parameters, Placement3D oPlacement)
 Создаёт тело выдавливания.
 
Solid Loft (table profiles, table placements, LoftParameters oParameters)
 Создает тело по сечениям.
 
Solid Evolve (Curve2D profile, Placement3D placement, Curve3D path, EvolutionParameters oParameters)
 Создаёт тело заметания.
 
Solid Revolve (Curve2D generatrixCurve, Placement3D initialCurvePlacement, Axis3D rotationAxis, RevolutionParameters parameters)
 Создаёт тело вращения. Тело вращения строится путем вращения плоской образующей кривой вокруг оси на заданный угол.
 
nil FilletCorners3D (Curve3D curve, number radius)
 Скругляет углы составной кривой.
 
nil FilletCornerAfterSegment3D (Curve3D curve, number segmentIndex, number radius)
 Скругляет угол между сегментом составной кривой с номером segmentIndex и следующим сегментом.
 
Solid Unite (Solid solid1, Solid solid2)
 Выполняет булеву операцию объединения тел.
 
Solid Unite (table solids)
 Выполняет булеву операцию объединения тел.
 
Solid Subtract (Solid solid1, Solid solid2)
 Выполняет булеву операцию вычитания тел.
 
Solid Intersect (Solid solid1, Solid solid2)
 Выполняет булеву операцию пересечения тел.
 

Перечисления

◆ CoordinateSystem3D

Тип системы координат в трёхмерном пространстве.

Элементы перечислений
Cartesian 

Декартова система координат.

Cylindrical 

Цилиндрическая система координат.

Spherical 

Сферическая система координат.

Функции

◆ CreateArc3DByCenterStartEndPoints()

Curve3D CreateArc3DByCenterStartEndPoints ( Point3D centerPoint,
Point3D startPoint,
Point3D endPoint,
bool clockwise )

Создаёт дугу окружности по центру, начальной и конечной точкам.

Аргументы
centerPointЦентр дуги.
startPointТочка начала дуги. Определяет радиус.
endPointТочка конца дуги.
clockwiseНаправление дуги. Если true, то дуга направлена по часовой стрелке, если смотреть навстречу векторному произведению (startPoint - centerPoint) и (endPoint - centerPoint).

◆ CreateArc3DByThreePoints()

Curve3D CreateArc3DByThreePoints ( Point3D startPoint,
Point3D intermediatePoint,
Point3D endPoint )

Создаёт дугу окружности из startPoint к endPoint через intermediatePoint.

Аргументы
startPointТочка начала дуги.
intermediatePointТочка, лежащая на дуге.
endPointТочка конца дуги.

◆ CreateBlock()

Solid CreateBlock ( number xSize,
number ySize,
number zSize,
Placement3D oPlacement )

Создаёт прямоугольный параллелепипед.

Центр нижней грани совпадает с началом переданной системы координат, ребра параллельны осям.

Аргументы
xSizeДлина ребер, параллельных оси X.
ySizeДлина ребер, параллельных оси Y.
zSizeДлина ребер, параллельных оси Z.
oPlacement[opt] Система координат, в которой строится тело. Если система координат не задана, то для построения используется глобальная система координат.

◆ CreateCircle3D()

Curve3D CreateCircle3D ( Point3D center,
Vector3D normal,
number radius )

Создаёт окружность.

Аргументы
centerЦентр окружности.
normalВектор, ортогональный плоскости фигуры.
radiusРадиус.

◆ CreateCompositeCurve3D()

Curve3D CreateCompositeCurve3D ( table curves)

Создаёт составную кривую. Начало каждой кривой должно совпадать с концом предыдущей.

Аргументы
curvesСписок кривых (Curve3D).

◆ CreateEllipse3D()

Curve3D CreateEllipse3D ( Point3D center,
Vector3D normal,
Vector3D majorVector,
number majorRadius,
number minorRadius )

Создаёт эллипс.

Аргументы
centerЦентр эллипса.
normalВектор, ортогональный плоскости эллипса.
majorVectorВектор, сонаправленный с первой полуосью. Вторая полуось сонаправлена с векторным произведением normal*majorVector.
majorRadiusВеличина первой полуоси.
minorRadiusВеличина второй полуоси.

◆ CreateEllipticalArc3D()

Curve3D CreateEllipticalArc3D ( Point3D center,
Vector3D normal,
Vector3D majorVector,
number majorRadius,
number minorRadius,
Point3D startPoint,
Point3D endPoint,
boolean clockwise )

Создаёт эллиптическую дугу.

Аргументы
centerЦентр эллипса.
normalВектор, ортогональный плоскости эллипса.
majorVectorВектор, сонаправленный с первой полуосью. Вторая полуось сонаправлена с векторным произведением normal*majorVector.
majorRadiusВеличина первой полуоси.
minorRadiusВеличина второй полуоси.
startPointТочка начала дуги.
endPointТочка конца дуги.
clockwiseНаправление дуги. Если true, то дуга направлена по часовой стрелке, если смотреть навстречу вектору 'normal'.

◆ CreateLineSegment3D()

Curve3D CreateLineSegment3D ( Point3D startPoint,
Point3D endPoint )

Создаёт отрезок.

Аргументы
startPointТочка начала отрезка.
endPointТочка конца отрезка.

◆ CreateParametricCurve3D()

Curve3D CreateParametricCurve3D ( string xFunction,
string yFunction,
string zFunction,
CoordinateSystem3D coordinateSystem,
number tStart,
number tEnd,
Placement3D oPlacement )

Создаёт кривую, описываемую параметрическими функциями в 3D-пространстве.

Эта функция создает кривую, описываемую с помощью параметрических функций xFunction, yFunction и zFunction. Тип системы координат указывается в параметре coordinateSystem. Для определения области параметра кривой используются начальное значение tStart и конечное значение tEnd.

Параметрические функции xFunction(t), yFunction(t) и zFunction(t) представляют собой скалярные функции, зависящие от общего параметра t, и задаются в виде символьных выражений.

Для цилиндрической системы координат функции xFunction, yFunction, zFunction описывают параметры ρ, φ, z соответственно. Для сферической системы координат функции xFunction, yFunction, zFunction описывают параметры r, θ, φ соответственно.

Аргументы
xFunctionВыражение, описывающее зависимость X координаты от параметра.
yFunctionВыражение, описывающее зависимость Y координаты от параметра.
zFunctionВыражение, описывающее зависимость Z координаты от параметра.
coordinateSystemСистема координат.
tStartМинимальное значение параметра.
tEndМаксимальное значение параметра.
oPlacement[opt] Система координат, в которой строится тело. Если система координат не задана, то для построения используется глобальная система координат.

◆ CreatePolyline3D()

Curve3D CreatePolyline3D ( table points)

Создаёт составную кривую из отрезков по точкам.

Аргументы
pointsСписок точек (Point3D).

◆ CreateRectangle3D()

Curve3D CreateRectangle3D ( Point3D center,
Vector3D normal,
Vector3D widthVector,
number width,
number height )

Создаёт прямоугольник в виде замкнутой составной кривой из четырёх отрезков в 3Д пространстве.

Аргументы
centerЦентр прямоугольника.
normalВектор, ортогональный плоскости прямоугольника.
widthVectorВектор, параллельный стороне прямоугольника размером 'width'.
widthШирина.
heightВысота.

◆ CreateRectangularPyramid()

Solid CreateRectangularPyramid ( number width,
number depth,
number height,
Placement3D oPlacement )

Создаёт прямоугольную пирамиду в локальной системе координат.

Центр основания совпадает с началом локальной системы координат.

Аргументы
widthШирина основания вдоль локальной оси X.
depthГлубина основания вдоль локальной оси Y.
heightВысота.
oPlacement[opt] Система координат, в которой строится тело. Если система координат не задана, то для построения используется глобальная система координат.

◆ CreateRightCircularCone()

Solid CreateRightCircularCone ( number radius,
number height,
Placement3D oPlacement )

Создаёт конус.

Центр основания совпадает с началом координат, ось совпадает с осью Z.

Аргументы
radiusРадиус основания.
heightВысота.
oPlacement[opt] Система координат, в которой строится тело. Если система координат не задана, то для построения используется глобальная система координат.

◆ CreateRightCircularCylinder()

Solid CreateRightCircularCylinder ( number radius,
number height,
Placement3D oPlacement )

Создаёт прямой круговой цилиндр.

Центр нижней грани совпадает с началом переданной системы координат, ось совпадает с осью Z.

Аргументы
radiusРадиус.
heightВысота.
oPlacement[opt] Система координат, в которой строится тело. Если система координат не задана, то для построения используется глобальная система координат.

◆ CreateRightEllipticalCylinder()

Solid CreateRightEllipticalCylinder ( number radiusX,
number radiusY,
number height,
Placement3D oPlacement )

Создаёт прямой эллиптический цилиндр.

Центр нижней грани совпадает с началом переданной системы координат, ось совпадает с осью Z.

Аргументы
radiusXРадиус вдоль оси X.
radiusYРадиус вдоль оси Y.
heightВысота.
oPlacement[opt] Система координат, в которой строится тело. Если система координат не задана, то для построения используется глобальная система координат.

◆ CreateRightPrism()

Solid CreateRightPrism ( table points,
number height,
Placement3D oPlacement )

Создаёт прямую призму.

Нижняя грань расположена на плоскости XY переданной системы координат, ось совпадает с осью Z.

Аргументы
pointsСписок точек (Point2D), определяющий ребра призмы.
heightВысота.
oPlacement[opt] Система координат, в которой строится тело. Если система координат не задана, то для построения используется глобальная система координат.

◆ CreateSphere()

Solid CreateSphere ( number radius,
Point3D oPoint )

Создаёт сферу.

Аргументы
radiusРадиус.
oPoint[opt] Центр сферы, начало координат по умолчанию.

◆ CreateSweptDiskSolid()

Solid CreateSweptDiskSolid ( number radius,
number innerRadius,
Curve3D path )

Создаёт тело перемещения диска по пути.

Твердое тело перемещения диска по пути, строится путем перемещения круглого диска по трехмерной кривой.

Аргументы
radiusРадиус круглого диска для перемещения по пути.
innerRadiusРадиус круглого отверстия в центре диска.
pathНаправляющая кривая.

◆ Evolve()

Solid Evolve ( Curve2D profile,
Placement3D placement,
Curve3D path,
EvolutionParameters oParameters )

Создаёт тело заметания.

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

Аргументы
profileОбразующая кривая.
placementСистема координат (Placement3D), в плоскости XY которой располагается сечение.
pathНаправляющая кривая.
oParameters[opt] Параметры операции заметания.
Пример
local profile = CreateCircle2D(Point2D(0, 0), 25)
local placement = Placement3D(Point3D(0, 0, 0), Vector3D(0, 0, 1), Vector3D(1, 0, 0))
local path = CreateCompositeCurve3D{CreateLineSegment3D(Point3D(0, 0, 0), Point3D(0, 0, 400)),
CreateArc3DByThreePoints(Point3D(0, 0, 400), Point3D(250, 0, 650), Point3D(500, 0, 400))}
parameter = EvolutionParameters()
parameter.OutwardOffset = 10
solid = Evolve(profile, placement, path, parameter):ShowTangentEdges(false)
Локальная система координат в трёхмерном пространстве.
Точка в двумерном пространстве.
Точка в трёхмерном пространстве.
Вектор в трёхмерном пространстве.
Solid Evolve(Curve2D profile, Placement3D placement, Curve3D path, EvolutionParameters oParameters)
Создаёт тело заметания.
Curve3D CreateArc3DByThreePoints(Point3D startPoint, Point3D intermediatePoint, Point3D endPoint)
Создаёт дугу окружности из startPoint к endPoint через intermediatePoint.
Curve3D CreateLineSegment3D(Point3D startPoint, Point3D endPoint)
Создаёт отрезок.
Curve3D CreateCompositeCurve3D(table curves)
Создаёт составную кривую. Начало каждой кривой должно совпадать с концом предыдущей.
Curve2D CreateCircle2D(Point2D center, number radius)
Создаёт окружность.
Параметры для функции Evolve().
Definition EvolutionParameters.h:21

◆ Extrude()

Solid Extrude ( Curve2D contour,
ExtrusionParameters parameters,
Placement3D oPlacement )

Создаёт тело выдавливания.

Основание лежит в плоскости XY, глубина, направление, уклон тела определяются с помощью параметров операции.

Контур основания.

Аргументы
parametersПараметры операции выдавливания.
oPlacement[opt] Система координат, в которой строится тело. Если система координат не задана, то для построения используется глобальная система координат.
Пример
local contour = CreateEllipse2D(Point2D(0, 0), 0, 200, 100)
local placement = Placement3D(Point3D(0, 0, 0), Vector3D(1, 0, 0), Vector3D(0, 1, 0))
local parameters = ExtrusionParameters (200, 200)
parameters.OutwardOffset = 5
parameters.InwardOffset = 5
solid = Extrude(contour, parameters, placement)
Solid Extrude(Curve2D contour, ExtrusionParameters parameters, Placement3D oPlacement)
Создаёт тело выдавливания.
Curve2D CreateEllipse2D(Point2D center, number angle, number radiusAlongXAxis, number radiusAlongYAxis)
Создаёт эллипс.
Параметры для функции Extrude().
Definition ExtrusionParameters.h:30

◆ FilletCornerAfterSegment3D()

nil FilletCornerAfterSegment3D ( Curve3D curve,
number segmentIndex,
number radius )

Скругляет угол между сегментом составной кривой с номером segmentIndex и следующим сегментом.

Аргументы
curveСоставная кривая, углы которой необходимо скруглить.
segmentIndexИндекс первого сегмента составной кривой, 1 <= segmentIndex < N-1 для незамкнутой составной кривой или или 1 <= segmentIndex < N для замкнутой кривой, где N - количество сегментов в контуре.
radiusРадиус скругления.

◆ FilletCorners3D()

nil FilletCorners3D ( Curve3D curve,
number radius )

Скругляет углы составной кривой.

Аргументы
curveСоставная кривая, углы которой необходимо скруглить.
radiusРадиус скругления.

◆ Intersect()

Solid Intersect ( Solid solid1,
Solid solid2 )

Выполняет булеву операцию пересечения тел.

Аргументы
solid1Первый операнд операции.
solid2Второй операнд операции.

◆ Loft()

Solid Loft ( table profiles,
table placements,
LoftParameters oParameters )

Создает тело по сечениям.

Поверхность тела проходит по всем заданным плоским кривым. Размер массива profiles должен быть равен размеру массива placements.

Аргументы
profilesМассив двумерных кривых (Curve2D) сечений.
placementsМассив систем координат (Placement3D), в плоскостях XY которых располагаются кривые сечений.
oParameters[opt] Параметры операции создания тела по сечениям.
Пример
local profiles = {CreateRectangle2D(Point2D(0, 0), 0, 100, 200),
CreateCircle2D(Point2D(0, 0), 300)}
local placements = {Placement3D(Point3D(0, 0, 0), Vector3D(0, 0, 1), Vector3D(1, 0, 0)),
Placement3D(Point3D(1000, 0, 1000), Vector3D(1, 0, 0), Vector3D(0, 0, 1))}
parameters = LoftParameters()
parameters.GuideCurve = CreateArc3DByCenterStartEndPoints(Point3D(1000, 0, 0), Point3D(0, 0, 0), Point3D(1000, 0, 1000))
solid = Loft(profiles, placements, parameters)
Solid Loft(table profiles, table placements, LoftParameters oParameters)
Создает тело по сечениям.
Curve3D CreateArc3DByCenterStartEndPoints(Point3D centerPoint, Point3D startPoint, Point3D endPoint, bool clockwise)
Создаёт дугу окружности по центру, начальной и конечной точкам.
Curve2D CreateRectangle2D(Point2D center, double angle, number width, number height)
Создаёт прямоугольник в виде составной кривой из четырёх отрезков.
Параметры для функции Loft().
Definition LoftParameters.h:36

◆ Revolve()

Solid Revolve ( Curve2D generatrixCurve,
Placement3D initialCurvePlacement,
Axis3D rotationAxis,
RevolutionParameters parameters )

Создаёт тело вращения. Тело вращения строится путем вращения плоской образующей кривой вокруг оси на заданный угол.

Аргументы
generatrixCurveОбразующая кривая.
initialCurvePlacementСистема координат, в плоскости XY которой располагается образующая кривая.
rotationAxisОсь вращения.
parametersПараметры операции вращения.
Пример
local generatrixCurve = CreateLineSegment2D(Point2D(0, 300), Point2D(400, 0))
local initialCurvePlacement = Placement3D(Point3D(0, 0, 0), Vector3D(1, 0, 0), Vector3D(0, 1, 0))
local parameters = RevolutionParameters(math.pi)
parameters.InwardOffset = 10
solid = Revolve(generatrixCurve, initialCurvePlacement, CreateZAxis3D(), parameters)
Solid Revolve(Curve2D generatrixCurve, Placement3D initialCurvePlacement, Axis3D rotationAxis, RevolutionParameters parameters)
Создаёт тело вращения. Тело вращения строится путем вращения плоской образующей кривой вокруг оси на ...
Axis3D CreateZAxis3D()
Создаёт ось Z.
Curve2D CreateLineSegment2D(Point2D startPoint, Point2D endPoint)
Создаёт отрезок по двум точкам.
Параметры для функции Revolve().
Definition RevolutionParameters.h:18

◆ Subtract()

Solid Subtract ( Solid solid1,
Solid solid2 )

Выполняет булеву операцию вычитания тел.

Аргументы
solid1Тело, из которого нужно вычесть.
solid2Вычитаемое тело.

◆ Unite() [1/2]

Solid Unite ( Solid solid1,
Solid solid2 )

Выполняет булеву операцию объединения тел.

Аргументы
solid1Первый операнд операции.
solid2Второй операнд операции.

◆ Unite() [2/2]

Solid Unite ( table solids)

Выполняет булеву операцию объединения тел.

Аргументы
solidsТела для операции объединения.