Part Module

From FreeCAD Documentation
Jump to: navigation, search
This page is a translated version of the page Part Module and the translation is 44% complete.

Outdated translations are marked like this.
Other languages:
čeština • ‎Deutsch • ‎English • ‎español • ‎français • ‎hrvatski • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎svenska • ‎Türkçe • ‎українська • ‎中文 • ‎中文(中国大陆)‎ • ‎中文(台灣)‎

Workbench Part.svg

CAD возможности FreeCAD бизируются на ядре OpenCasCade . Модуль частей в FreeCAD открывает доступ к объектам и функциям OpenCasCade. OpenCascade это CAD ядро професионального уровня, это выражается в возможностях продвинутого манипулирование 3D геометрическим манипулированием и объектами. Объекты-детали, в отличии от Полигиональных объектов, являются более сложными, и следовательно дают доступ к более мощным операциям, таким как последовательные логические операции, изменение и истории и параметров построения.

The objects created with the Part Workbench are relatively simple; they are intended to be used with boolean operations (unions and cuts) in order to build more complex shapes. This modelling paradigm is known as the constructive solid geometry (CSG) workflow, and it was the traditional methodology used in early CAD systems. On the other hand, the PartDesign Workbench provides a more modern workflow to constructing shapes: it uses a parametrically defined sketch, that is extruded to form a basic solid body, which is then modified by parametric transformations (feature editing), until the final object is obtained.

Part objects are more complex than mesh objects created with the Mesh Workbench, as they permit more advanced operations like coherent boolean operations, modifications history, and parametric behaviour.

Part example.jpg

Part Workbench relationships.svg

The Part Workbench is the basic layer that exposes the OCCT drawing functions to all workbenches in FreeCAD


Инструменты

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

Примитивы

Эти инструменты создают примитивные объекты.

  • Part Box.png Куб: Рисует прямоугольный параллелепипед с указанными размерами
  • Part Cylinder.png Цилиндр: Рисует цилиндр с указанными размерами
  • Part Sphere.png Сфера: Рисует сферу с указанными размерами
  • Part Cone.png Конус: Рисует конус с указанными размерами
  • Part Torus.png Тор: Рисует тор (кольцо) с указанными размерами
  • Part CreatePrimitives.png Создать примитивы: Инструмент создания различных параметрических геометрических примитивов
  • Part Shapebuilder.png Построитель форм: Инструмент создания более сложных форм из различных параметрических геометрических примитивов

Изменение объектов

Это инструменты для изменения существующих объектов. Они позволяют вам выбирать, какой объект вы будете изменять.

  • Part Extrude.png Выдавить: Вытягивает плоские грани объекта
  • Part Revolve.png Вращать: Создает объект вращением одного объекта вокруг оси
  • Part Mirror.png Зеркальное отражение: Отражает выбранные объекты на данной зеркальной плоскости
  • Part Fillet.png Скругление: Скругляет ребра объекта
  • Part Chamfer.png Фаска: Делает фаску на гранях объектов
  • Part RuledSurface.png Создать линейчатую поверхность: Этот инструмент создает линейчатую поверхность между двумя линиями или краями выбранных выше.
  • Part Loft.png Лофт: Выполняет лофтинг от одного профиля к другому
  • Part Sweep.png Сдвиг: Развёртывает один или более профилей вдоль заданной трассы
  • Part CompOffsetTools.png Offset tools:
    • Part Offset.png Смещение: Создаёт увеличенную копию оригинального объекта
    • Part Offset2D.png 2D Offset: Создает параллельный провод на определенном расстоянии от оригинала или увеличивает/сжимает плоскую грань. (v0.17)
  • Part Thickness.png Толщина: Назначает толщину поверхностям формы.
  • Part CompJoinFeatures.png Join features: Сложные сопряжения для объектов со стенками (Например, труб) (v0.16)
    • Part JoinConnect.png Connect: Соединяет внутренности объектов (v0.16)
    • Part JoinEmbed.png Embed: Внедряет объект со стенками внутрь другого такого же объекта (v0.16)
    • Part JoinCutout.png Cutout: Создаёт вырез в стенке объекта для другого объекта со стенками (v0.16)
  • Part CompSplittingTools.png Splitting tools: (v0.17)
    • Part BooleanFragments.png Boolean fragments:делает все части, которые могут быть получены с помощью логических операций между объектами (v0.17)
    • Part SliceApart.svg Slice a part: инструмент для разделения фигур путем пересечения с другими формами
    • Part Slice.png Slice: Разбивает объект на части путем пересечения с другим объектом (v0.17)
    • Part XOR.png XOR: удаляет пространство, разделенное четным числом объектов (симметричная версия Cut) (v0.17)

Measure

Std Measure Menu.png Measure: Allows linear and angular measurement between points, edges, and faces.

Прочие инструменты

  • Part ImportCAD.png Импорт CAD: Этот инструмент позволяет добавить в текущий документ файл *.IGES, *.STEP, *.BREP.
  • Part ExportCAD.png Экспорт в CAD: Этот инструмент позволяет экспортировать деталь в формате *.IGES, *.STEP, *.BREP.
  • Part ShapeFromMesh.png Создание формы из сетки: Creates a shape object from a mesh object.
  • Convert to solid: Преобразует форму в твердое тело.
  • Обратная фигура: Отражает нормали всех граней выбранного объекта.
  • Создать простую копию: Создаёт копию выбранного объекта без истории и возможности параметрического редактирования.
  • Part RefineShape.png Уточнить форму: Очищает поверхности удалением ненужных линий.
  • Part CheckGeometry.png Проверка геометрии: Проверяет геометрию выбранных объектов на ошибки.
  • Measure: Даёт доступ к линейным и угловым измерениям между точками/гранями/поверхностями.
  • Part Attachment.svg прикрепление: прикрепление- это утилита для прикрепления объекта к другому.

Preferences

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

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

В итоге можно сказать, что геометрические примитивы есть "бесформенные" строительные блоки, а формы это реальная пространственная геометрия, построенная по ним.

Чтобы получить полный список объектов что к ним относится обратитесь к документации OCC в разделах Geom_Geometry и TopoDS_Shape. Также вы больше сможете узнать о различиях геометрических объектов и форм. Обратите внимание что к сожалению документация OCC не доступна в Интернете(вы должны скачать архив) и в основном направлена на программистов, а не на конечных пользователей. Но надеемся, что вы найдете здесь достаточно информации для начала.

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

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

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

Part TopoShape relationships.svg

The "Part::TopoShape" is the geometrical object that is seen on screen. Essentially all workbenches use these TopoShapes internally to build and display edges, faces, and solids.


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

See also: Part scripting

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

The most basic object that can be created is a Part Feature, which has a simple DATAPlacement property, and basic properties to define its color and appearance.

Another simple object used in 2D geometrical objects is Part Part2DObject, which is the base of Sketches, and most Draft elements.

Примеры

Чтобы создать элемент - линию перейдите в консоль Python и введите:

import Part,PartGui 
doc=App.newDocument()  
l=Part.LineSegment()
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.LineSegment()
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.lineSegment) чтобы создать TopoShape в конце (используя toShape() метод). Только Формы могут быть добавлены в документ. В FreeCAD, геометрические примитивы используются как "строительные конструкций" для Форм.

doc.recompute()

Обновили документ. Это также должно полготовить визуальное представление нового объекта-Детали.

Заметим что Линия[Line] Segment может быть создана специфическим способом, заданием её начальной и конечной точки напрямую, пример Part.LineSegment(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/ru если хотите знать больше.

Учебники