Topological data scripting/ru

Введение
Здесь мы объясним вам как управлять Модулем Деталей напрямую из интепритатора python FreeCAD, или из любого внешнего сценария. Для уверенности, просмотрите раздел Написание Сценариев и страницу Основ сценариев в FreeCAD если вам необходимо больше информации, о том как работает написание сценариев в FreeCAD.

Для первого использования функциональности модуля Деталей вы должны загрузить модуль Деталей в интепретатор:

Диаграмма Классов
Это UML обзор наиболее важных классов модуля Деталей:

Геометрия
Геометрические объекты являются строительными блоками для всех топологических объектов:
 * GEOM Базовый класс геометрических объектов
 * LINE Прямая линия в 3D, задается начальной и конечной точкой
 * CIRCLE Окружность или дуга задается центром, начальной и конечной точкой
 * ...... И вскоре еще немного ;-)

Топология
Доступны нижеследующие топологические типы данных:
 * COMPOUND Группа из топологических объектов любого типа.
 * COMPSOLID Составное твердое тело, как набор твердых тел соединенными гранями. Он расширяет понятие Ломаной кривой(WIRE) и оболочки(SHELL) для твердых тел.
 * SOLID Часть пространства ограниченная оболочкой. Она трехмерная.
 * SHELL Набор граней соединенных между собой через ребра. Оболочки могут быть открытыми или закрытыми.
 * FACE В 2D это часть плоскости; в 3D это часть поверхности. Это геометрия ограничена (обрезана) по контуам. Она двухмерная.
 * WIRE Набор ребер соединенных через вершины. Он может быть как открытым, так и закрытым в зависимости от того связаны ли крайние ребра или нет.
 * EDGE Топологический элемент соответствующий ограниченной кривой. Ребро как правило ограничивается вершинами. Оно одномерное.
 * VERTEX Топологический элемент соответствующий точке. Обладает нулевой размерность.
 * SHAPE общий термин охватывающий все выше сказанное.

Краткое описание
Вы легко можете создать базовый топологический объект с помощью методов "make..." содержащихся в модуле Деталей: b = Part.makeBox(100,100,100) Part.show(b)

Куча других доступных make... методов:
 * makeBox(l,w,h,[p,d]) -- Создает коробку расположенную в точке p и в указанном направлении d с размерами (l,w,h). По умолчанию p установлен как Vector(0,0,0) и d установлен как Vector(0,0,1)
 * makeCircle(radius,[p,d,angle1,angle2]) -- Создает окружность с заданным радиусом. По умолчанию p=Vector(0,0,0), d=Vector(0,0,1), angle1=0 и angle2=360
 * makeCompound(list) -- Создает составное тело из списка форм
 * makeCone(radius1,radius2,height,[p,d,angle]) -- Создает конус с заданным радиусами и высотой. По умолчанию p=Vector(0,0,0), d=Vector(0,0,1) и angle=360
 * makeCylinder(radius,height,[p,d,angle]) -- Создает цилиндр с заданным радиусом и высотой. По умолчанию p=Vector(0,0,0), d=Vector(0,0,1) и angle=360
 * makeLine((x1,y1,z1),(x2,y2,z2)) -- Создает линию проходящую через две точки
 * makePlane(length,width,[p,d]) -- Создает плоскость с заданной длинной и шириной. По умолчанию p=Vector(0,0,0) и d=Vector(0,0,1)
 * makePolygon(list) -- Создает многоугольник из списка точек
 * makeSphere(radius,[p,d,angle1,angle2,angle3]) -- Создает сферу с заданным радиусом. По умолчанию p=Vector(0,0,0), d=Vector(0,0,1), angle1=0, angle2=90 и angle3=360
 * makeTorus(radius1,radius2,[p,d,angle1,angle2,angle3]) -- Создает тор по заданными радиусамi.По умолчанию p=Vector(0,0,0), d=Vector(0,0,1), angle1=0, angle2=360 и angle3=360

Подробные объяснения
Сначала импортируем следующее:

>>> import Part >>> from FreeCAD import Base

Как создать Вершину?
Вершина это точка созданная в x=1,y=0,z=0 устанавливает(задает) объект вершины,вот так, вы можете найти её расположение: