Part Module/ru: Difference between revisions

From FreeCAD Documentation
No edit summary
(Redirected.)
Tag: New redirect
 
(357 intermediate revisions by 10 users not shown)
Line 1: Line 1:
#REDIRECT [[Part_Workbench/ru]]
CAD возможности FreeCAD бизируются на ядре [http://en.wikipedia.org/wiki/Open_CASCADE OpenCasCade] . Модуль частей в FreeCAD открывает доступ к объектам и функциям OpenCasCade. OpenCascade это CAD ядро професионального уровня, это выражается в возможностях продвинутого манипулирование 3D геометрическим манипулированием и объектами. Объекты-детали, в отличии от [[Mesh Module/ru|Полигиональных]] объектов, являются более сложными, и следовательно дают доступ к более мощным операциям, таким как последовательные логические операции, изменение и истории и параметров построения.

[[Image:Part example.jpg]]

Пример Детали сформированной в FreeCAD

=== Инструменты ===

Инструменты, модуля деталей расположены в меню '''Part''' которое появляется при загрузке модуля Деталей.

{{Part Tools}}

=== Логические операции ===

[[Image:Part_BooleanOperations.png|500px|left|An example of union (Fuse), intersection (Common) and difference (Cut)]]

{{clear}}

Вот примеры объединения(слияния), пересечения (получение общего) и вычитание (обрезание)

=== Объяснение концепции ===

В терминологии OpenCasCade, мы различаем геометрические примитивы и (топологические) формы. Геометрическим примитивом может быть точка, линия, окружность, полоскость и.т.д. , или даже более сложные типы, такие как кривая B-сплайна или поверхность. Формой может быть вешина, ребро, сеть , грань, твердое тело или смеьсь всех предыдущих форм. Геометрические примитивы не созданы специально для того чтобы отображаться на 3D сцене, они используются в качестве строительной геометрии форм. Для примера, ребро можно построить из линии или же из части окружности.

Мы могли бы сказать, подводя итоги, что геометрические примитивы "бесформенные" строительные блоки, а формы реальная пространственная геометрия построенная с их помощью.
Чтобы получить полный список объектов что к ним относится обратитесь к [http://www.opencascade.org/org/doc/ документации OCC] в разделах Geom_Geometry и TopoDS_Shape. Также вы больше сможете узнать о различиях геометрических объектов и форм. Обратите внимание что к сожалению документация OCC не доступна в Интернете(вы должны скачать архив) и в основном направлена на програмистов, а не на конечных пользоваетелей. Но надеемся что вы найдете здесь достаточно информации , что бы стартовать от этого.

Геометрические типы на самом деле можно разделить на две основные группы: кривые и поверхности. Из кривых (линия, окружность, ...) вы непосредственно можете строить ребра, из поверхностей (плоскость, цилиндр, ...) могут быть построены грани. Например, такой геометрический примитив как линия - бесконечен, т.е. он задается только вектором направления в то время, как его форма должна быть представлено чем-то ограниченым обладающим начальной и конечной точкой. Также и box -- твердое тело -- которое может быть создано из шести ограниченых плоскостей.

От ребра или грани, вы также можете вернутся к геометрическим примитивам из которых они состоят.

Таким образом, из форм вы можете построить очень сложные детали или , или наоборот, извлечь все субформы из созданой сложной формы.

=== Написание сценариев ===

Основным структурой данных в модуле Деталей является [http://en.wikipedia.org/wiki/Boundary_representation BRep] тип данных из OpenCascade. Все содержащиеся в модуле Деталей типы объектов и функции доступны в сценариях на python. Это включает в себя геометрические примитивы, такие как Линия[Line] и Окружность[Circle] (или Дуга[Arc]), и целый ряд TopoShapes, таких как Вершины[Vertexes], Ребра[Edges], Сетки[Wires], Грани[Faces], Тела[Solids] и Составные объекты[Compounds]. Каждый из этих объектов, можно создать несколькими способами, и для некоторых из них особенно для TopoShapes, существуют продвинутые операции например логическое сложение/вычитание/пересечение которые также доступны. Чтобы знать больше изучите содержание модуля Деталей, описанное на странице [[FreeCAD Scripting Basics|Основы написания сценариев в FreeCAD]] .

=== Примеры ===

Чтобы создать элемент - линию перейдите в консоль Python и введите:
import Part,PartGui
doc=App.newDocument()
l=Part.Line()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)
doc.addObject("Part::Feature","Line").Shape=l.toShape()
doc.recompute()

Давайте по подробней, по шагам рассмотрим пример выше:
import Part,PartGui
doc=App.newDocument()
загружает модуль деталей и создает новый документ
l=Part.Line()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)
Линия на самом деле - отрезок, следовательно задаем начальную и конечную точку.
doc.addObject("Part::Feature","Line").Shape=l.toShape()
Это добавляет объект типа Деталь[Part] в документ и назначает форму представления отрезка в свойстве 'Shape' добавленного объекта. Важно понять, здесь мы использовали геометрический примитив (the Part.line) чтобы создать TopoShape в конце (используя toShape() метод). Только Формы могут быть добавлены в документ. В FreeCAD, геометрические примитивы используются как "строительные конструкций" для Форм.
doc.recompute()
Обновили документ. Это также должно полготовить визуальное представление нового объекта-Детали.

Заметим что Линия[Line] может быть создана специфическим способом, заданием её начальной и конечной точки напрямую, пример Part.Line(point1,point2) или же мы можем задать линию по умолчанию и задать её свойства позже, как мы и сделали здесь.

окружность может быть создана схожим образом:
import Part
doc = App.activeDocument()
c = Part.Circle()
c.Radius=10.0
f = doc.addObject("Part::Feature", "Circle")
f.Shape = c.toShape()
doc.recompute()
Опять же заметим, мы использовали окружность (геометрический примитив) чтобы создать из неё форму. Конечно мы можем получить доступ к нашей строительной геометрии потом, выполнив:
s = f.Shape
e = s.Edges[0]
c = e.Curve
Здесь мы извлекаем форму нашего объекта f, долее забираем выводим список ребер, в нашем случае будет только одна, потому что мы создали форму из одного оеружности, поэтому мы получим только одну запись в списке ребер, и мы выводим кривую. Каждое ребро это кривая, которая является геометрическим примитивом на котором оно основано.

Читайте главу [[Topological data scripting]] если хотите знать больше.

{{docnav|Mesh Module/ru|Drawing Module}}

{{languages | {{en|Part Module/en}} {{es|Part Module/es}} {{pl|Part Module/pl}} {{se|Part Module/se}} }}

[[Category:User Documentation]]

Latest revision as of 14:58, 27 April 2024

Redirect to: