Основы работы с геометрией посредством DesignScript
Точка
Простейший геометрический объект, доступный в библиотеке стандартных геометрических объектов Dynamo, — это точка. Вся геометрия создается с помощью специальных функций (конструкторов), каждая из которых возвращает новый экземпляр геометрического объекта определенного типа. В Dynamo название каждого конструктора начинается с наименования типа объекта (в данном случае Point, точка), за которым следует метод построения объекта. Чтобы построить трехмерную точку на основе значений X, Y и Z в прямоугольной системе координат, используйте конструктор ByCoordinates:
// create a point with the following x, y, and z// coordinates:x=10;y=2.5;z=-6;p=Point.ByCoordinates(x,y,z);
Конструкторы в Dynamo обычно обозначаются приставкой By, и при вызове эти функции возвращают новый объект соответствующего типа. Этот объект сохраняется в переменной, имя которой указано слева от знака равенства.
Для создания большинства объектов можно использовать множество различных конструкторов. Используя конструктор BySphericalCoordinates, можно задать точку на сфере, определяемой по радиусу, а также первому и второму углам поворота (заданным в градусах):
// create a point on a sphere with the following radius,// theta, and phi rotation angles (specified in degrees)radius=5;theta=75.5;phi=120.3;cs=CoordinateSystem.Identity();p=Point.BySphericalCoordinates(cs,radius,theta,phi);
От точки к отрезку
Используя точки, можно создавать геометрические объекты более высокого уровня, например отрезки. С помощью конструктора ByStartPointEndPoint создайте объект Line (отрезок) между двумя точками:
От отрезка к поверхности
Аналогичным образом из отрезков можно создавать геометрические объекты следующего уровня — поверхности. Для этого можно использовать, например, конструктор Loft, который выполняет интерполяцию поверхности между заданными отрезками или кривыми.
От поверхности к телу
Поверхности также можно использовать для создания геометрии более высокого уровня, а именно тел. Сделать это можно, например, путем увеличения толщины поверхности на заданную величину. Многим объектам изначально назначены определенные функции, называемые методами, которые позволяют программистам выполнять действия с определенным объектом. К методам, доступным для всех геометрических объектов, относятся операции Translate и Rotate, которые позволяют переносить и поворачивать геометрию в соответствии с заданной величиной переноса или поворота. Для поверхностей доступен метод Thicken, для использования которого требуется одно входное значение — число, определяющее новую толщину поверхности.
Пересечение
Команды Intersect позволяют извлекать из геометрии высокого уровня более простые геометрические объекты. Такие объекты могут затем послужить основой для создания другой сложной геометрии. В результате получается циклический процесс создания, извлечения и повторного построения геометрии. В этом примере объект поверхности Surface, извлеченный из объекта тела Solid, используется для создания объекта кривой Curve.
// create two points:
p1 = Point.ByCoordinates(3, 10, 2);
p2 = Point.ByCoordinates(-15, 7, 0.5);
// construct a line between p1 and p2
l = Line.ByStartPointEndPoint(p1, p2);