Part Module/ru: Difference between revisions
(Created page with "{{Caption|Верстак Part Workbench это базовый слой, предоставляющий чертёжные функции OCCT всем верстакам FreeC...") |
(Created page with "* Импорт из STL или OBJ : Как импортировать файлы STL/OBJ в FreeCAD * Export_to_STL_or_OBJ/ru|Экспорт...") |
||
(46 intermediate revisions by 2 users not shown) | |||
Line 10: | Line 10: | ||
{{TOCright}} |
{{TOCright}} |
||
== Введение == |
== Введение == |
||
Возможности твердотельного моделирования FreeCAD базируются на ядре [ |
Возможности твердотельного моделирования FreeCAD базируются на ядре [[OpenCASCADE/ru|OpenCASCADE Technology]] (OCCT), системе САПР профессионального качества с возможностями продвинутого создания и манипулирования трёхмерными объектами. [[Image:Workbench_Part.svg|24px]] [[Part Workbench/ru|Верстак Part]] это слой, базирующийся на библиотеках OCCT, дающие пользователям доступ к примитивам и функциям OCCT. Практически все функции двумерного и трёхмерного черчения в каждом верстаке ([[Image:Workbench_Draft.svg|24px]] [[Draft Workbench/ru|Draft]], [[Image:Workbench_Sketcher.svg|24px]] [[Sketcher Workbench/ru|Sketcher]], [[Image:Workbench_PartDesign.svg|24px]] [[PartDesign Workbench/ru|PartDesign]] и т.д.) базируются на этих функциях, предоставляемых верстаком Part. Следовательно, верстак Part считается центральным компонентом возможностей моделирования FreeCAD. |
||
Объекты, создаваемые верстаком Part относительно просты, они предназначены для использования в булевых операциях (объединения и вырезания) для построения более сложных фигур. '''Эта парадигма моделирования известна как процесс [[constructive solid geometry/ru|конструктивной блочной геометрии]] (CSG, КБГ), и это традиционная методология, используемая в ранних системах САПР.''' С другой стороны, [[PartDesign Workbench/ru|верстак PartDesign]] предлагает более современный процесс создания фигур: он использует параметрически заданные эскизы, которые выдавливаются для формирования базовых твёрдых тел, которые потом модифицируются параметрическими трансформациями ([[feature editing/ru|редактирования свойств]]) до получения конечного объекта. |
Объекты, создаваемые верстаком Part относительно просты, они предназначены для использования в булевых операциях (объединения и вырезания) для построения более сложных фигур. '''Эта парадигма моделирования известна как процесс [[constructive solid geometry/ru|конструктивной блочной геометрии]] (CSG, КБГ), и это традиционная методология, используемая в ранних системах САПР.''' С другой стороны, [[PartDesign Workbench/ru|верстак PartDesign]] предлагает более современный процесс создания фигур: он использует параметрически заданные эскизы, которые выдавливаются для формирования базовых твёрдых тел, которые потом модифицируются параметрическими трансформациями ([[feature editing/ru|редактирования свойств]]) до получения конечного объекта. |
||
Line 18: | Line 18: | ||
[[Image:Part_Workbench_relationships.svg|600px]] |
[[Image:Part_Workbench_relationships.svg|600px]] |
||
{{Caption|Верстак Part Workbench это базовый слой, предоставляющий чертёжные функции OCCT всем верстакам FreeCAD}} |
{{Caption|Верстак Part Workbench это базовый слой, предоставляющий чертёжные функции OCCT всем верстакам FreeCAD.}} |
||
== Инструменты == |
== Инструменты == |
||
Line 33: | Line 33: | ||
* [[Image:Part_Cone.svg|32px]] [[Part_Cone/ru|Конус]]: Рисует конус с указанными размерами |
* [[Image:Part_Cone.svg|32px]] [[Part_Cone/ru|Конус]]: Рисует конус с указанными размерами |
||
* [[Image:Part_Torus.svg|32px]] [[Part_Torus/ru|Тор]]: Рисует тор (кольцо) с указанными размерами |
* [[Image:Part_Torus.svg|32px]] [[Part_Torus/ru|Тор]]: Рисует тор (кольцо) с указанными размерами |
||
* [[File:Part_Tube.svg|32px]] [[Part_Tube/ru|Tube]]: рисует трубу, задав ее внутренний и внешний радиус. {{Version|0.19}} |
|||
* [[Image:Part_Primitives.svg|32px]] [[Part_Primitives/ru|Создать примитивы]]: Инструмент добавления любого из определённых геометрических примитивов |
* [[Image:Part_Primitives.svg|32px]] [[Part_Primitives/ru|Создать примитивы]]: Инструмент добавления любого из определённых геометрических примитивов |
||
* [[Image:Part_Shapebuilder.svg|32px]] [[Part_Builder/ru|Построитель форм]]: Инструмент создания более сложных форм из различных параметрических геометрических примитивов |
* [[Image:Part_Shapebuilder.svg|32px]] [[Part_Builder/ru|Построитель форм]]: Инструмент создания более сложных форм из различных параметрических геометрических примитивов |
||
Line 49: | Line 50: | ||
* [[Image:Part_Sweep.svg|32px]] [[Part_Sweep/ru|Сдвиг]]: Развёртывает один или более профилей вдоль заданной трассы |
* [[Image:Part_Sweep.svg|32px]] [[Part_Sweep/ru|Сдвиг]]: Развёртывает один или более профилей вдоль заданной трассы |
||
* [[Image:Part_CompOffsetTools.png|48px]] [[Part_CompOffsetTools/ru| |
* [[Image:Part_CompOffsetTools.png|48px]] [[Part_CompOffsetTools/ru|Инструменты смещения]]: |
||
** [[Image:Part_Offset.svg|32px]] [[Part_Offset/ru|Смещение]]: Создаёт увеличенную копию оригинального объекта |
** [[Image:Part_Offset.svg|32px]] [[Part_Offset/ru|Смещение 3D]]: Создаёт увеличенную копию оригинального объекта |
||
** [[Image:Part_Offset2D.svg|32px]] [[Part_Offset2D/ru|2D |
** [[Image:Part_Offset2D.svg|32px]] [[Part_Offset2D/ru|2D смещение]]: Создает параллельный провод на определенном расстоянии от оригинала или увеличивает/сжимает плоскую грань. {{Version|0.17}} |
||
* [[Image:Part_Thickness.svg|32px]] [[Part_Thickness/ru|Толщина]]: Назначает толщину поверхностям формы. |
* [[Image:Part_Thickness.svg|32px]] [[Part_Thickness/ru|Толщина]]: Назначает толщину поверхностям формы. |
||
* [[ |
* [[File:Part_ProjectionOnSurface.svg|32px]] [[Part_ProjectionOnSurface/ru|Projection on surface]]: создаёт проекцию логотипа, текста или любой грани, полилинии, кромки на поверхность. С проекцией можно сделаь твёрдое тело или полилинию. {{Version|0.19}} |
||
* [[Image:Part_Compound.svg|48px]] [[Part_CompCompoundTools/ru| |
* [[Image:Part_Compound.svg|48px]] [[Part_CompCompoundTools/ru|Соединить]]: |
||
** [[Image:Part_Compound.svg|32px]] [[Part_Compound/ru| |
** [[Image:Part_Compound.svg|32px]] [[Part_Compound/ru|Сделать соединение]]: Создаёт объект, соединяющий в себе выбранные объекты. |
||
** [[Image:Part_ExplodeCompound.svg|32px]] [[Part_ExplodeCompound/ru| |
** [[Image:Part_ExplodeCompound.svg|32px]] [[Part_ExplodeCompound/ru|Разъединить соединение]]: Инструмент расщепления соединения фигур |
||
** [[Image:Part CompoundFilter.svg|32px]] [[Part CompoundFilter/ru| |
** [[Image:Part CompoundFilter.svg|32px]] [[Part CompoundFilter/ru|Фильтр соединений]]: Фильтр соединений может использоваться для выделения отдельных частей. |
||
* [[Image:Part_Booleans.svg|32px]] [[Part_Boolean/ru|Boolean]]: Производит булевы операции над объектами |
* [[Image:Part_Booleans.svg|32px]] [[Part_Boolean/ru|Boolean]]: Производит булевы операции над объектами |
||
* [[Image:Part_Fuse.svg|32px]] [[Part_Union/ru|Объединение]]: Сплавляет (объединяет) два объекта |
* [[Image:Part_Fuse.svg|32px]] [[Part_Union/ru|Объединение]]: Сплавляет (объединяет) два объекта |
||
* [[Image:Part_Common.svg|32px]] [[Part_Common/ru|Пересечение]]: Извлекает общую часть (пересечение) двух объектов |
* [[Image:Part_Common.svg|32px]] [[Part_Common/ru|Пересечение]]: Извлекает общую часть (пересечение) двух объектов |
||
* [[Image:Part_Cut.svg|32px]] [[Part_Cut/ru| |
* [[Image:Part_Cut.svg|32px]] [[Part_Cut/ru|Обрезать]]: Обрезает (вычитает) один объект из другого |
||
* [[Image:Part_CompJoinFeatures.png|48px]] [[Part CompJoinFeatures/ru|Join features]]: Сложные сопряжения для объектов со стенками (Например, труб) {{Version|0.16}} |
* [[Image:Part_CompJoinFeatures.png|48px]] [[Part CompJoinFeatures/ru|Join features]]: Сложные сопряжения для объектов со стенками (Например, труб) {{Version|0.16}} |
||
Line 73: | Line 74: | ||
* [[Image:Part_CompSplittingTools.png|48px]] [[Part CompSplittingTools/ru|Splitting tools]]: {{Version|0.17}} |
* [[Image:Part_CompSplittingTools.png|48px]] [[Part CompSplittingTools/ru|Splitting tools]]: {{Version|0.17}} |
||
** [[Image:Part_BooleanFragments.svg|32px]] [[Part_BooleanFragments/ru|Boolean fragments]]: |
** [[Image:Part_BooleanFragments.svg|32px]] [[Part_BooleanFragments/ru|Boolean fragments]]: создаёт все фрагменты, которые могут быть получены булевыми операциями между объектами {{Version|0.17}} |
||
** [[Image:Part SliceApart.svg|32px]] [[Part_SliceApart/ru|Slice a part]]: инструмент для разделения фигур путем пересечения с другими |
** [[Image:Part SliceApart.svg|32px]] [[Part_SliceApart/ru|Slice a part]]: инструмент для разделения фигур путем пересечения с другими фигурами |
||
** [[Image:Part_Slice.svg|32px]] [[Part_Slice/ru|Slice]]: |
** [[Image:Part_Slice.svg|32px]] [[Part_Slice/ru|Slice]]: разбивает объект на части путем пересечения с другим объектом {{Version|0.17}} |
||
** [[Image:Part_XOR.svg|32px]] [[Part_XOR/ru|XOR]]: удаляет пространство, |
** [[Image:Part_XOR.svg|32px]] [[Part_XOR/ru|XOR]]: удаляет пространство, общее для чётного числа объектов (симметричная версия [[Part_Cut/ru|Cut]]) {{Version|0.17}} |
||
* [[Image:Part Defeaturing.svg|32px]] [[Part_Defeaturing/ru| |
* [[Image:Part Defeaturing.svg|32px]] [[Part_Defeaturing/ru|Удаление элемента]]: {{Version|0.18}} |
||
* [[Image:Part_Section.svg|32px]] [[Part_Section/ru| |
* [[Image:Part_Section.svg|32px]] [[Part_Section/ru|Раздел]]: Создает сечение, как пересечением секущей плоскости и объекта |
||
* [[Image:Part_CrossSections.svg|32px]] [[Part_SectionCross/ru|Поперечные сечения...]]: Создаёт одно или более поперечных сечений через выбранную форму |
* [[Image:Part_CrossSections.svg|32px]] [[Part_SectionCross/ru|Поперечные сечения...]]: Создаёт одно или более поперечных сечений через выбранную форму |
||
* [[Image:Part Attachment.svg|32px]] [[Part Attachment/ru|Attachment]]: утилита для прикрепления одного объекта к другому. |
* [[Image:Part Attachment.svg|32px]] [[Part Attachment/ru|Attachment]]: утилита для прикрепления одного объекта к другому. |
||
=== |
=== Измерение === |
||
[[File: |
[[File:Part Measure Menu.png|64px]] [[Part Measure Menu/ru|Measure]]: Обеспечивает линейные и угловые измерения между точками, рёбрами и гранями. |
||
* [[Image:Part_Measure_Linear.svg|32px]] [[Part_Measure_Linear|Measure Linear]] |
* [[Image:Part_Measure_Linear.svg|32px]] [[Part_Measure_Linear/ru|Measure Linear]] позволяет делать линейные изменения. |
||
* [[Image:Part_Measure_Angular.svg|32px]] [[Part_Measure_Angular|Measure Angular]] |
* [[Image:Part_Measure_Angular.svg|32px]] [[Part_Measure_Angular/ru|Measure Angular]] позволяет делать угловые измерения. |
||
* [[Image:Part_Measure_Refresh.svg|32px]] [[Part_Measure_Refresh|Measure Refresh]] |
* [[Image:Part_Measure_Refresh.svg|32px]] [[Part_Measure_Refresh/ru|Measure Refresh]] обновляет измерения на экране. |
||
* [[Image:Part_Measure_Clear_All.svg|32px]] [[Part_Measure_Clear_All|Clear All]] |
* [[Image:Part_Measure_Clear_All.svg|32px]] [[Part_Measure_Clear_All/ru|Clear All]] очищает все измерения. |
||
* [[Image:Part_Measure_Toggle_All.svg|32px]] [[Part_Measure_Toggle_All|Toggle All]] |
* [[Image:Part_Measure_Toggle_All.svg|32px]] [[Part_Measure_Toggle_All/ru|Toggle All]] показывает или скрывает все измерения. |
||
* [[Image:Part_Measure_Toggle_3d.svg|32px]] [[Part_Measure_Toggle_3d|Toggle 3D]] |
* [[Image:Part_Measure_Toggle_3d.svg|32px]] [[Part_Measure_Toggle_3d/ru|Toggle 3D]] показывает или скрывает трёхмерные измерения. |
||
* [[Image:Part_Measure_Toggle_Delta.svg|32px]] [[Part_Measure_Toggle_Delta|Toggle Delta]] |
* [[Image:Part_Measure_Toggle_Delta.svg|32px]] [[Part_Measure_Toggle_Delta/ru|Toggle Delta]] показывает или скрывает дельта-измерения. |
||
===Прочие инструменты=== |
===Прочие инструменты=== |
||
<div class="mw-translate-fuzzy"> |
|||
* [[Image:Part_Import.svg|32px]] [[Part Import/ru|Импорт]]: Этот инструмент позволяет добавить в текущий документ файл *.IGES, *.STEP, *.BREP. |
* [[Image:Part_Import.svg|32px]] [[Part Import/ru|Импорт]]: Этот инструмент позволяет добавить в текущий документ файл *.IGES, *.STEP, *.BREP. |
||
* [[Image:Part_Export.svg|32px]] [[Part Export/ru|Экспорт]]: Этот инструмент позволяет экспортировать деталь в формате *.IGES, *.STEP, *.BREP. |
* [[Image:Part_Export.svg|32px]] [[Part Export/ru|Экспорт]]: Этот инструмент позволяет экспортировать деталь в формате *.IGES, *.STEP, *.BREP. |
||
Line 104: | Line 106: | ||
* [[Part ConvertToSolid/ru|Convert to solid]]: Преобразует форму в твердое тело. |
* [[Part ConvertToSolid/ru|Convert to solid]]: Преобразует форму в твердое тело. |
||
* [[Part ReverseShapes/ru|Обратная фигура]]: Отражает нормали всех граней выбранного объекта. |
* [[Part ReverseShapes/ru|Обратная фигура]]: Отражает нормали всех граней выбранного объекта. |
||
</div> |
|||
* создать копию: |
* создать копию: |
||
* [[Image:Part_SimpleCopy.svg|32px]] [[Part |
* [[Image:Part_SimpleCopy.svg|32px]] [[Part SimpleCopy/ru|Создать простую копию]]: Создаёт простую копию выбранного объекта. |
||
** [[File:Part_TransformedCopy.svg|32px]] [[Part_TransformedCopy/ru|Create transformed copy]]: creates a transformed copy of the selected object. {{Version|0.19}} |
** [[File:Part_TransformedCopy.svg|32px]] [[Part_TransformedCopy/ru|Create transformed copy]]: creates a transformed copy of the selected object. {{Version|0.19}} |
||
** [[File:Part_ElementCopy.svg|32px]] [[Part_ElementCopy/ru|Create shape element copy]]: creates a copy from an element (vertex, edge, face) of the selected object. {{Version|0.19}} |
** [[File:Part_ElementCopy.svg|32px]] [[Part_ElementCopy/ru|Create shape element copy]]: creates a copy from an element (vertex, edge, face) of the selected object. {{Version|0.19}} |
||
Line 113: | Line 116: | ||
* [[Image:Part_CheckGeometry.svg|32px]] [[Part CheckGeometry/ru|Проверка геометрии]]: Проверяет геометрию выбранных объектов на ошибки. |
* [[Image:Part_CheckGeometry.svg|32px]] [[Part CheckGeometry/ru|Проверка геометрии]]: Проверяет геометрию выбранных объектов на ошибки. |
||
=== Context menu items === |
|||
== Preferences == |
|||
*[[Std_SetAppearance|Appearance]]: determines appearance of the whole part (color transparency etc.). |
|||
* [[Image:Preferences-import-export.svg|32px]] [[Import_Export_Preference|Preference ...]] Import Export |
|||
* [[File:Part_ColorFace.svg|32px]] [[Part_FaceColors|Set colors]]: assigns colors to part faces. |
|||
== Настройки == |
|||
== Геометрические концепции OCCT == |
|||
<!--The PartDesign preferences are defined in the Part workbench and both the PartDesign workbench and the Part workbench use them--> |
|||
В терминологии OpenCascade геометрические примитивы и (топологические) формы различны. Геометрическим примитивом может быть точка, линия, окружность, плоскость и т.д. , или даже более сложные типы, такие как кривая B-сплайна или поверхность. Формой может быть вешина, ребро, сеть , грань, твердое тело или соединение всего этого. Геометрические примитивы не созданы специально для того чтобы отображаться на 3D сцене, они используются в качестве строительной геометрии форм. Для примера, ребро можно построить из линии или же из части окружности. |
|||
* [[Image:Preferences-part_design.svg|32px]] [[PartDesign_Preferences/ru|Preferences]]: предпочтения, доступные для инструментов Part (верстак Part также использует установки PartDesign). |
|||
* [[Image:Preferences-import-export.svg|32px]] [[Import_Export_Preferences/ru|Import Export Preferences]]: настройки, доступные для импорта и экспорта в различные форматы файлов. |
|||
В общем, геометрические примитивы это "бесформенные" строительные блоки, а [[Part_TopoShape|топологические формы]] это реальные объекты, построенные на них. |
|||
* [[Fine-tuning/ru|Fine-tuning]]: некоторые дополнительные параметры для тонкой настройки поведения Part. |
|||
Полный список всех примитивов и форм находится в [http://www.opencascade.org/org/doc/ документации OCC] в разделах Geom_Geometry и TopoDS_Shape. (Альтернатива: [http://opencascade.sourcearchive.com/documentation/6.3.0.dfsg.1-1/classes.html sourcearchive.com]) и поиск '''Geom_*''' (для геометрических примитивов) и '''TopoDS_*''' (для форм). Также вы больше сможете узнать о различиях между ними. Обратите внимание, что к сожалению документация OCC не доступна в Интернете(вы должны скачать архив) и в основном направлена на программистов, а не на конечных пользователей. Но надеемся, что вы найдете здесь достаточно информации для начала. |
|||
Геометрические типы на самом деле можно разделить на две основные группы: кривые и поверхности. Из кривых (линия, окружность, ...) вы непосредственно можете строить ребра, из поверхностей (плоскость, цилиндр, ...) могут быть построены грани. Например, такой геометрический примитив как линия - бесконечен, т.е. он задается только вектором направления в то время, как его форма должна быть представлено чем-то ограниченым обладающим начальной и конечной точкой. Также и box -- твердое тело -- которое может быть создано из шести ограниченых плоскостей. |
|||
От ребра или грани, вы также можете вернутся к геометрическим примитивам из которых они состоят. |
|||
Таким образом, из форм вы можете построить очень сложные детали или , или наоборот, извлечь все субформы из созданой сложной формы. |
|||
[[File:Part_TopoShape_relationships.svg|600px]] |
|||
{{Caption|The {{incode|Part::TopoShape}} class is the geometrical object that is seen on screen. Essentially all workbenches use these [[Part_TopoShape|TopoShapes]] internally to build and display edges, faces, and solids.}} |
|||
== Написание сценариев == |
== Написание сценариев == |
||
Смотри [[Part scripting/ru|Part scripting]] |
|||
==Учебники== |
|||
Основным структурой данных в модуле Деталей является [http://en.wikipedia.org/wiki/Boundary_representation BRep] тип данных из OpenCascade. |
|||
Все содержащиеся в модуле Деталей типы объектов и функции доступны в сценариях на [[Python/ru|Python]]. Это включает в себя геометрические примитивы, такие как Линия[Line] и Окружность[Circle] (или Дуга[Arc]), и целый ряд TopoShapes, таких как Вершины[Vertexes], Ребра[Edges], Сетки[Wires], Грани[Faces], Тела[Solids] и Составные объекты[Compounds]. Каждый из этих объектов, можно создать несколькими способами, и для некоторых из них особенно для TopoShapes, существуют продвинутые операции например логическое сложение/вычитание/пересечение которые также доступны. Чтобы знать больше изучите содержание модуля Деталей, описанное на странице [[FreeCAD Scripting Basics/ru|Основы написания сценариев в FreeCAD]] . |
|||
The most basic object that can be created is a [[Part Feature|Part Feature]], which has a simple {{PropertyData|Placement}} property, and basic properties to define its color and appearance. |
|||
Another simple object used in 2D geometrical objects is [[Part Part2DObject|Part Part2DObject]], which is the base of [[Sketcher_SketchObject|Sketcher SketchObject]] ([[Sketcher Workbench|Sketcher]]), and most [[Draft Workbench|Draft elements]]. |
|||
=== Test script === |
|||
Test the creation of [[Part_Primitives|Part Primitives]] with a script. {{Version|0.19}} |
|||
{{Code|code= |
|||
import parttests.part_test_objects as pto |
|||
pto.create_test_file("example_file") |
|||
}} |
|||
This script is located in the installation directory of the program, and can be examined to see how the basic primitives are built. |
|||
{{Code|code= |
|||
$INSTALL_DIR/Mod/Part/parttests/part_test_objects.py |
|||
}} |
|||
=== Примеры === |
|||
Чтобы создать элемент - линию перейдите в консоль Python и введите: |
|||
{{Code|code= |
|||
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() |
|||
}} |
|||
Давайте по подробней, по шагам рассмотрим пример выше: |
|||
{{Code|code= |
|||
import Part,PartGui |
|||
doc=App.newDocument() |
|||
}} |
|||
загружает модуль деталей и создает новый документ |
|||
{{Code|code= |
|||
l=Part.LineSegment() |
|||
l.StartPoint=(0.0,0.0,0.0) |
|||
l.EndPoint=(1.0,1.0,1.0) |
|||
}} |
|||
Линия на самом деле - отрезок, следовательно задаем начальную и конечную точку. |
|||
{{Code|code= |
|||
doc.addObject("Part::Feature","Line").Shape=l.toShape() |
|||
}} |
|||
Это добавляет объект типа Деталь[Part] в документ и назначает форму представления отрезка в свойстве 'Shape' добавленного объекта. Важно понять, здесь мы использовали геометрический примитив (the Part.lineSegment) чтобы создать TopoShape в конце (используя toShape() метод). Только Формы могут быть добавлены в документ. В FreeCAD, геометрические примитивы используются как "строительные конструкций" для Форм. |
|||
{{Code|code= |
|||
doc.recompute() |
|||
}} |
|||
Обновили документ. Это также должно полготовить визуальное представление нового объекта-Детали. |
|||
Заметим что Линия[Line] Segment может быть создана специфическим способом, заданием её начальной и конечной точки напрямую, пример Part.LineSegment(point1,point2) или же мы можем задать линию по умолчанию и задать её свойства позже, как мы и сделали здесь. |
|||
A Line can be created also using: |
|||
{{Code|code= |
|||
import FreeCAD |
|||
import Part |
|||
DOC = FreeCAD.newDocument() |
|||
def mycreateLine(pt1, pt2, objName): |
|||
obj = DOC.addObject("Part::Line", objName) |
|||
obj.X1 = pt1[0] |
|||
obj.Y1 = pt1[2] |
|||
obj.Z1 = pt1[2] |
|||
obj.X2 = pt2[0] |
|||
obj.Y2 = pt2[1] |
|||
obj.Z2 = pt2[2] |
|||
DOC.recompute() |
|||
return obj |
|||
line = mycreateLine((0,0,0), (0,10,0), "LineName") |
|||
}} |
|||
окружность может быть создана схожим образом: |
|||
{{Code|code= |
|||
import Part |
|||
doc = App.activeDocument() |
|||
c = Part.Circle() |
|||
c.Radius=10.0 |
|||
f = doc.addObject("Part::Feature", "Circle") |
|||
f.Shape = c.toShape() |
|||
doc.recompute() |
|||
}} |
|||
or using: |
|||
{{Code|code= |
|||
import FreeCAD |
|||
import Part |
|||
DOC = FreeCAD.newDocument() |
|||
def mycreateCircle(rad, objName): |
|||
obj = DOC.addObject("Part::Circle", objName) |
|||
obj.Radius = rad |
|||
DOC.recompute() |
|||
return obj |
|||
circle = mycreateCircle(5.0, "CircleName") |
|||
}} |
|||
Опять же заметим, мы использовали окружность (геометрический примитив) чтобы создать из неё форму. Конечно мы можем получить доступ к нашей строительной геометрии потом, выполнив: |
|||
{{Code|code= |
|||
s = f.Shape |
|||
e = s.Edges[0] |
|||
c = e.Curve |
|||
}} |
|||
Здесь мы извлекаем форму нашего объекта f, долее забираем выводим список ребер, в нашем случае будет только одна, потому что мы создали форму из одного оеружности, поэтому мы получим только одну запись в списке ребер, и мы выводим кривую. Каждое ребро это кривая, которая является геометрическим примитивом на котором оно основано. |
|||
Читайте главу [[Topological data scripting/ru|Topological data scripting]] чтобы узнать больше. |
|||
== Учебники == |
|||
* [[Import_from_STL_or_OBJ/ru|Импорт из STL или OBJ]] : Как импортировать файлы STL/OBJ в FreeCAD |
* [[Import_from_STL_or_OBJ/ru|Импорт из STL или OBJ]] : Как импортировать файлы STL/OBJ в FreeCAD |
||
* [[Export_to_STL_or_OBJ/ru|Экспорт в STL или OBJ]] : Как экспортировать в FreeCAD файлы STL/OBJ |
* [[Export_to_STL_or_OBJ/ru|Экспорт в STL или OBJ]] : Как экспортировать в FreeCAD файлы STL/OBJ |
||
* [[Whiffle_Ball_tutorial/ru|Whiffle Ball tutorial]] : Как использовать модуль Part |
* [[Whiffle_Ball_tutorial/ru|Whiffle Ball tutorial]] : Как использовать модуль Part |
||
{{Docnav/ru |
{{Docnav/ru |
||
Line 286: | Line 146: | ||
}} |
}} |
||
{{Part Tools navi{{#translation:}}}} |
|||
{{Userdocnavi{{#translation:}}}} |
{{Userdocnavi{{#translation:}}}} |
||
{{Part Tools navi{{#translation:}}}} |
|||
[[Category:Workbenches{{#translation:}}]] |
[[Category:Workbenches{{#translation:}}]] |
Revision as of 08:01, 19 October 2020
Введение
Возможности твердотельного моделирования FreeCAD базируются на ядре OpenCASCADE Technology (OCCT), системе САПР профессионального качества с возможностями продвинутого создания и манипулирования трёхмерными объектами. Верстак Part это слой, базирующийся на библиотеках OCCT, дающие пользователям доступ к примитивам и функциям OCCT. Практически все функции двумерного и трёхмерного черчения в каждом верстаке ( Draft, Sketcher, PartDesign и т.д.) базируются на этих функциях, предоставляемых верстаком Part. Следовательно, верстак Part считается центральным компонентом возможностей моделирования FreeCAD.
Объекты, создаваемые верстаком Part относительно просты, они предназначены для использования в булевых операциях (объединения и вырезания) для построения более сложных фигур. Эта парадигма моделирования известна как процесс конструктивной блочной геометрии (CSG, КБГ), и это традиционная методология, используемая в ранних системах САПР. С другой стороны, верстак PartDesign предлагает более современный процесс создания фигур: он использует параметрически заданные эскизы, которые выдавливаются для формирования базовых твёрдых тел, которые потом модифицируются параметрическими трансформациями (редактирования свойств) до получения конечного объекта.
Объекты Part сложнее, чем сеточные объекты, создаваемые в верстаке Mesh, поскольку они дают более сложные операции вроде когерентных булевых операций, историю модификации и параметрическое поведение.
Верстак Part Workbench это базовый слой, предоставляющий чертёжные функции OCCT всем верстакам FreeCAD.
Инструменты
Инструменты модуля деталей расположены в меню Деталь.
Примитивы
Эти инструменты создают примитивные объекты.
- Куб: Рисует прямоугольный параллелепипед с указанными размерами
- Цилиндр: Рисует цилиндр с указанными размерами
- Сфера: Рисует сферу с указанными размерами
- Конус: Рисует конус с указанными размерами
- Тор: Рисует тор (кольцо) с указанными размерами
- Tube: рисует трубу, задав ее внутренний и внешний радиус. introduced in version 0.19
- Создать примитивы: Инструмент добавления любого из определённых геометрических примитивов
- Построитель форм: Инструмент создания более сложных форм из различных параметрических геометрических примитивов
Изменение объектов
Это инструменты для изменения существующих объектов. Они позволяют вам выбирать, какой объект вы будете изменять.
- Выдавить: Вытягивает плоские грани объекта
- Вращать: Создает объект вращением одного объекта вокруг оси
- Зеркальное отражение: Отражает выбранные объекты на данной зеркальной плоскости
- Скругление: Скругляет ребра объекта
- Фаска: Делает фаску на гранях объектов
- Создать линейчатую поверхность: Этот инструмент создает линейчатую поверхность между двумя линиями или краями выбранных выше.
- Лофт: Выполняет лофтинг от одного профиля к другому
- Сдвиг: Развёртывает один или более профилей вдоль заданной трассы
- Инструменты смещения:
- Смещение 3D: Создаёт увеличенную копию оригинального объекта
- 2D смещение: Создает параллельный провод на определенном расстоянии от оригинала или увеличивает/сжимает плоскую грань. introduced in version 0.17
- Толщина: Назначает толщину поверхностям формы.
- Projection on surface: создаёт проекцию логотипа, текста или любой грани, полилинии, кромки на поверхность. С проекцией можно сделаь твёрдое тело или полилинию. introduced in version 0.19
- Соединить:
- Сделать соединение: Создаёт объект, соединяющий в себе выбранные объекты.
- Разъединить соединение: Инструмент расщепления соединения фигур
- Фильтр соединений: Фильтр соединений может использоваться для выделения отдельных частей.
- Boolean: Производит булевы операции над объектами
- Объединение: Сплавляет (объединяет) два объекта
- Пересечение: Извлекает общую часть (пересечение) двух объектов
- Обрезать: Обрезает (вычитает) один объект из другого
- Join features: Сложные сопряжения для объектов со стенками (Например, труб) introduced in version 0.16
- Connect: Соединяет внутренности объектов introduced in version 0.16
- Embed: Внедряет объект со стенками внутрь другого такого же объекта introduced in version 0.16
- Cutout: Создаёт вырез в стенке объекта для другого объекта со стенками introduced in version 0.16
- Splitting tools: introduced in version 0.17
- Boolean fragments: создаёт все фрагменты, которые могут быть получены булевыми операциями между объектами introduced in version 0.17
- Slice a part: инструмент для разделения фигур путем пересечения с другими фигурами
- Slice: разбивает объект на части путем пересечения с другим объектом introduced in version 0.17
- XOR: удаляет пространство, общее для чётного числа объектов (симметричная версия Cut) introduced in version 0.17
- Удаление элемента: introduced in version 0.18
- Раздел: Создает сечение, как пересечением секущей плоскости и объекта
- Поперечные сечения...: Создаёт одно или более поперечных сечений через выбранную форму
- Attachment: утилита для прикрепления одного объекта к другому.
Измерение
File:Part Measure Menu.png Measure: Обеспечивает линейные и угловые измерения между точками, рёбрами и гранями.
- Measure Linear позволяет делать линейные изменения.
- Measure Angular позволяет делать угловые измерения.
- Measure Refresh обновляет измерения на экране.
- Clear All очищает все измерения.
- Toggle All показывает или скрывает все измерения.
- File:Part Measure Toggle 3d.svg Toggle 3D показывает или скрывает трёхмерные измерения.
- Toggle Delta показывает или скрывает дельта-измерения.
Прочие инструменты
- Импорт: Этот инструмент позволяет добавить в текущий документ файл *.IGES, *.STEP, *.BREP.
- Экспорт: Этот инструмент позволяет экспортировать деталь в формате *.IGES, *.STEP, *.BREP.
- BoxSelection: Добавляет к выделению грани фигур, соприкасающихся с прямоугольным выделением. introduced in version 0.19
- Создание формы из сетки: Создаёт форму из сетки.
- Points from mesh: Создаёт объект формы из точек сетки. introduced in version 0.19
- Convert to solid: Преобразует форму в твердое тело.
- Обратная фигура: Отражает нормали всех граней выбранного объекта.
- создать копию:
- Создать простую копию: Создаёт простую копию выбранного объекта.
- Create transformed copy: creates a transformed copy of the selected object. introduced in version 0.19
- Create shape element copy: creates a copy from an element (vertex, edge, face) of the selected object. introduced in version 0.19
- Уточнить форму: Очищает поверхности удалением ненужных линий.
- Проверка геометрии: Проверяет геометрию выбранных объектов на ошибки.
- Appearance: determines appearance of the whole part (color transparency etc.).
- Set colors: assigns colors to part faces.
Настройки
- Preferences: предпочтения, доступные для инструментов Part (верстак Part также использует установки PartDesign).
- Import Export Preferences: настройки, доступные для импорта и экспорта в различные форматы файлов.
- Fine-tuning: некоторые дополнительные параметры для тонкой настройки поведения Part.
Написание сценариев
Смотри Part scripting
Учебники
- Импорт из STL или OBJ : Как импортировать файлы STL/OBJ в FreeCAD
- Экспорт в STL или OBJ : Как экспортировать в FreeCAD файлы STL/OBJ
- Whiffle Ball tutorial : Как использовать модуль Part
- Примитивы: Куб(Параллелограмм), Конус, Цилиндр, Сфера, Тор, Полый цилиндр,Примитивы, Связующие формы
- Создание и правка: Выдавливание, Построение фигуры вращения, Отражение, Скругление, Фаска, Создать плоскость из граней, Ruled Surface, Профиль, Sweep, Section, Cross sections, 3D Offset, 2D Offset, Создать полый объект, Projection on surface, Прикрепление
- Булевы операции: Соединить, Разорвать связь, Compound Filter, Булевы операции, Cut, Fuse, Common, Connect, Embed, Cutout, Boolean fragments, Slice apart, Slice, XOR
- Измерительные: Measure Linear, Measure Angular, Measure Refresh, Clear All, Toggle All, Toggle 3D, Toggle Delta
- Начинающим
- Установка: Загрузка, Windows, Linux, Mac, Дополнительных компонентов, Docker, AppImage, Ubuntu Snap
- Базовая: О FreeCAD, Интерфейс, Навигация мыши, Методы выделения, Имя объекта, Настройки, Верстаки, Структура документа, Свойства, Помоги FreeCAD, Пожертвования
- Помощь: Учебники, Видео учебники
- Верстаки: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web