Assembly3 Workbench/ru: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
 
(127 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>


[[File:Assembly3_workbench_icon.svg|128px]]
[[Image:Assembly3_workbench_icon.svg|thumb|128px|иконка верстака Assembly3]]


{{TOCright}}
{{TOCright}}


<span id="Introduction"></span>
== Введение ==
== Введение ==


[[Assembly3_Workbench/ru|Assembly3]] это [[External_workbenches/ru|внешний верстак]], используемый для выполнения сборок различных тел, содержащихся в едином файле или нескольких документах. Верстак Assembly3 основан на нескольких изменениях основных функций, сделанных для версии FreeCAD 0.19 (например, [[App_Link/ru|App Link]]), поэтому его нельзя использовать с более ранними версиями.
[[Image:Assembly3_workbench_icon.svg|24px]] [[Assembly3_Workbench/ru|Assembly3]] это [[External_workbenches/ru|внешний верстак]], используемый для выполнения сборок различных тел, содержащихся в одном файле или нескольких документах. Верстак Assembly3 основан на нескольких изменениях основных функций, сделанных для версии FreeCAD 0.19 (например, [[App_Link/ru|App Link]]), поэтому его нельзя использовать с более ранними версиями.


Основные особенности Assembly3 Workbench:
Основные особенности Верстака Assembly3:
* '''динамический/интерактивный решатель'''. Это означает, что вы можете перемещать детали с помощью мыши, в то время как решающая программа ограничивает движение. Это позволяет, например, подключить колесо к оси и вращать колесо интерактивно с помощью мыши.
* '''динамический/интерактивный решатель'''. Это означает, что вы можете перемещать детали с помощью мыши, в то время как решающая программа ограничивает движение. Это позволяет, например, подключить колесо к оси и вращать колесо интерактивно с помощью мыши.
* '''ссылки'''. Это означает, что вы можете использовать одну единственную деталь, например винт несколько раз в сборке (в разных местах) без дублирования геометрии.
* '''ссылки'''. Это означает, что вы можете использовать одну единственную деталь, например винт несколько раз в сборке (в разных местах) без дублирования геометрии.
* '''внешняя ссылка'''. Возможно иметь документ FreeCAD, который содержит только сборку, но не детали. Все части могут быть в отдельных файлах. Файлы могут быть даже в библиотеке или где-нибудь еще в файловой системе. Единственное требование - файл должен быть загружен при создании ссылки. После создания ссылки файл должен быть открыт для обновления ссылок, связанных с файлом. Assembly3 решает эту проблему, открывая файлы в фоновом режиме по мере необходимости.
* '''внешняя ссылка'''. Возможно иметь документ FreeCAD, который содержит только сборку без деталей. Все части могут быть в отдельных файлах. Файлы могут быть даже в библиотеке или где-нибудь еще в файловой системе. Единственное требование - файл должен быть загружен при создании ссылки. После создания ссылки файл должен быть открыт для обновления ссылок, связанных с файлом. Assembly3 решает эту проблему, открывая файлы в фоновом режиме по мере необходимости.
* '''иерархические сборки'''. Как и в реальной жизни, механический узел может состоять из узлов. Эта мощь снова состоит из подузлов и так далее.
* '''иерархические сборки'''. Как и в реальной жизни, механический узел может состоять из узлов. Они могут снова состоять из подузлов и так далее.
* '''остановка сборки'''. Поскольку ЦП может обрабатывать только определённое количество одновременных ограничений в реальном времени, замораживание сборки позволяет использовать ограничения даже для больших сборок. При замораживании готовых сборок или ограничений, которые не должны оставаться динамическими (например, сварные, болтовые или склеенные детали), они исключаются из расчётов обновления и считаются фиксированной геометрией решателем Assembly3.
* '''заморозка сборки'''. Поскольку ЦП может обрабатывать только определённое количество одновременных ограничений в реальном времени, замораживание сборки позволяет использовать ограничения даже для больших сборок. При замораживании готовых сборок или ограничений, которые не должны оставаться динамическими (например, сварные, болтовые или склеенные детали), они исключаются из расчётов обновления и считаются решателем Assembly3 фиксированной геометрией.
*: Обратите внимание, что другие подходы предлагают другое решение этой проблемы, например [[File:Assembly4_workbench_icon.svg|24px]] [[Assembly4_Workbench/ru|Assembly4 Workbench]].
*: Обратите внимание, что другие подходы предлагают другое решение этой проблемы, например [[File:Assembly4_workbench_icon.svg|24px]] [[Assembly4_Workbench/ru|Верстак Assembly4]].


[[#top|наверх]]
[[#top|наверх]]


<span id="Toolbars"></span>
===Панели инструментов===
=== Панели инструментов ===

По состоянию на 2020 год верстак Assembly3 имеет следующие панели инструментов.
По состоянию на 2020 год верстак Assembly3 имеет следующие панели инструментов.


<span id="Main_Toolbar"></span>
==== Главная Панель Инструментов ====


:[[Image:Assembly_New_Assembly.svg‎‎|28px]] [[Image:Assembly_New_Group.svg‎‎|28px]] [[Image:Assembly_New_Element.svg‎‎|28px]] [[Image:Assembly_Import.svg‎‎|28px]][[Image:AngleDown.svg‎‎|14px]][[Image:Assembly3_workbench_icon.svg‎‎|28px]] [[Image:Assembly_QuickSolve.svg‎‎|28px]] [[Image:Assembly_Move.svg‎‎|28px]] [[Image:Assembly_AxialMove.svg‎‎|28px]] [[Image:Assembly_QuickMove.svg‎‎|28px]] [[Image:Assembly_LockMover.svg‎‎|28px]] [[Image:Assembly_TogglePartVisibility.svg‎‎|28px]] [[Image:Assembly_Trace.svg‎‎|28px]] [[Image:Assembly_AutoRecompute.svg‎‎|28px]] [[Image:Assembly_SmartRecompute.svg‎‎|28px]] [[Image:Assembly_AutoFixElement.svg‎‎|28px]] [[Image:Assembly_AutoElementVis.svg‎‎|28px]][[Image:AngleDown.svg‎‎|14px]][[Image:Assembly_Add_Workplane.svg‎‎|28px]][[Image:AngleDown.svg‎‎|14px]][[Image:Assembly_TreeItemUp.svg‎‎|28px]] [[Image:Assembly_TreeItemDown.svg‎‎|28px]] [[Image:Assembly_ConstraintMultiply.svg‎‎|28px]]
:[[File:Assembly3_ToolbarMain.png|700px]]
:''Main Toolbar''


<div class="mw-collapsible mw-collapsed">
:'''Основная панель инструментов''' содержит инструменты, которые охватывают наиболее часто используемые функции верстака. С помощью подсказок можно узнать о клавиатурных сокращениях.
:'''Главная Панель Инструментов''' содержит инструменты, охватывающие наиболее часто используемые функции верстака. Всплывающие подсказки выдадут сочетания клавиш.
:* Добавить папку сборки
<div class="mw-collapsible-content toccolours">
:* Группировать объекты

:* Создать ссылку. Это также доступно в контекстном меню
:* [[Image:Assembly_New_Assembly.svg‎‎|32px]] [[Assembly3_CreateAssembly/ru|Create assembly]]: Добавить папку сборки
:* Импорт STEP-файлов
:* [[Image:Assembly_New_Group.svg‎‎|32px]] [[Assembly3_GroupObjects/ru|Group objects]]: Группировать объекты
:* Устранить ограничения
:* [[Image:Assembly_New_Element.svg‎‎|32px]] [[Assembly3_CreateElement/ru|Create element]]: Создать элемент.
:* Быстрое устранение ограничений
:* Импорт из STEP. Имеет две установки
:* Инструмент1 для перемещения деталей в 3D, это специфично для Assembly3
:** [[Image:Assembly_Import.svg‎‎|32px]] [[Assembly3_ImportFromSTEP/ru|Import from STEP]]: Импорт STEP-файлов
:* Инструмент2 для перемещения деталей в 3D, это классический инструмент, доступный в другом месте FreeCAD.
:** [[Image:Assembly_ImportMulti.svg‎‎|32px]] [[Assembly3_ImportMultiDocument/ru|Import as multi-document]]: Импорт сборок из STEP в отдельные документы
:* Быстрое перемещение. При этом выделенная в дереве часть будет прикреплена к курсору мыши. Она изменит положение детали при щелчке мышью.
:* [[Image:Assembly3_workbench_icon.svg‎‎|32px]] [[Assembly3_ResolveConstraints/ru|Resolve constraints]]: Разрешить ограничения
:* [[Image:Assembly_QuickSolve.svg‎‎|32px]] [[Assembly3_QuickSolve/ru|Quick solve]]: Быстрое разрешение ограничений
:* [[Image:Assembly_Move.svg‎‎|32px]] [[Assembly3_MovePart/ru|Move part]]: Перемещение деталей в 3D, это специфично для Assembly3
:* [[Image:Assembly_AxialMove.svg‎‎|32px]] [[Assembly3_AxialMove/ru|Axial move]]: Axial move parts in 3D, это классический инструмент, доступный в любом месте FreeCAD.
:* [[Image:Assembly_QuickMove.svg‎‎|32px]] [[Assembly3_QuickMove/ru|Быстрое перемещение]]: При этом выделенная в дереве часть будет прикреплена к курсору мыши. Она изменит положение детали при щелчке мышью.
:*: Часто добавляемые части накладываются друг на друга в начале координат. Используйте эту функцию, чтобы захватить деталь, которую вы не видите.
:*: Часто добавляемые части накладываются друг на друга в начале координат. Используйте эту функцию, чтобы захватить деталь, которую вы не видите.
:* Блокировка перемещения зафиксированных частей. Кнопка переключения. Когда эта кнопка не нажата, можно перемещать части, которые имеют ограничение "Locked".
:* [[Image:Assembly_LockMover.svg‎‎|32px]] [[Assembly3_LockMover/ru|Lock mover]]: Блокировка перемещения зафиксированных частей. Переключаемая кнопка. Когда эта кнопка не нажата, можно перемещать части, которые имеют ограничение "Locked".
:* Переключатель видимости. Переключает видимость вкл/выкл. выделенной части.
:* [[Image:Assembly_TogglePartVisibility.svg‎‎|32px]] [[Assembly3_TogglePartVisibility/ru|Переключатель видимости]]: Переключает видимость выделенной части.
:*: Обратите внимание, что здесь отличается использование пробела. Использование пробела для выделенных элементов из подразделов в 3D-виде часто ведет себя не так, как ожидалось. Используйте эту функцию в этих случаях (или сочетание A-Space).
:*: Обратите внимание, что это отличается использование пробела. Использование пробела для выделенных элементов из подразделов в 3D-виде часто ведет себя не так, как ожидалось. Используйте эту функцию в этих случаях (или сочетание A-Space).
:* Отслеживание перемещения части (TBD)
:* [[Image:Assembly_Trace.svg‎‎|32px]] [[Assembly3_TracePartMove/ru|Trace part move]]: Отслеживание перемещения детали (TBD)
:* Автоматический пересчет. Обычно включено.
:* [[Image:Assembly_AutoRecompute.svg‎‎|32px]] [[Assembly3_AutoRecompute/ru|Auto recompute]]: Автопересчет. Обычно включено.
:*: Может быть не включено при ремонте ограничений или исправлении деталей, когда решатель выдает сообщение ''"не сходятся"'' (например, поворачивая деталь на 180 градусов).
:*: Может быть не включено при ремонте ограничений или исправлении деталей, когда решатель выдает сообщение ''"не сходятся"'' (например, поворачивая деталь на 180 градусов).
:* Умный-Пересчёт. Обычно включено.
:* [[Image:Assembly_SmartRecompute.svg‎‎|32px]] [[Assembly3_SmartRecompute/ru|Smart recompute]]: Умный пересчёт. Обычно включено.
:* Автоматическое исправление элементов. Экспериментальная возможность в 0.19_pre
:* [[Image:Assembly_AutoFixElement.svg‎‎|32px]] [[Assembly3_AutoFixElement/ru|Auto fix element]]: Автоматическое исправление элементов. Экспериментальная возможность в 0.19_pre
:* Стиль элемента. Имеет две настройки
:* Стиль элемента. Имеет две настройки
:** Автоматическая видимость элемента.
:** [[Image:Assembly_AutoElementVis.svg‎‎|32px]] [[Assembly3_AutoElementVisibility/ru|Auto element visibility]]: Автоматическая видимость элемента.
:** Показать систему координат элемента.
:** [[Image:Assembly_ShowElementCS.svg‎‎|32px]] [[Assembly3_ShowElementCS/ru|Show element coordinate system]]: Показать систему координат элемента.
:* Команды рабочей плоскости. Добавляет рабочую плоскость, размещение или начало координат. Деталь должна быть выбрана.
:* Рабочая плоскость и начала координат. Добавляет рабочую плоскость, размещение или начало координат. Должна быть выбрана деталь. Имеет пять установок
:** добавить рабочую область
:** [[Image:Assembly_Add_Workplane.svg‎‎|32px]] [[Assembly3_AddWorkplane/ru|Add workplane]]: добавить рабочую область
:** добавить XZ область
:** [[Image:Assembly_Add_WorkplaneXZ.svg‎‎|32px]] [[Assembly3_AddXZWorkplane/ru|Add XZ workplane]]: добавить XZ область
:** Добавить YZ область
:** [[Image:Assembly_Add_WorkplaneZY.svg‎‎|32px]] [[Assembly3_AddZYWorkplane/ru|Add ZY workplane]]: Добавить YZ область
:** добавить Размещение
:** [[Image:Assembly_Add_Placement.svg‎‎|32px]] [[Assembly3_AddPlacement/ru|Add placement]]: добавить Размещение
:** добавить Начало координат
:** [[Image:Assembly_Add_Origin.svg‎‎|32px]] [[Assembly3_AddOrigin/ru|Add Origin]]: добавить Начало координат
:* Переместить выбранный элемент дерева вверх
:* [[Image:Assembly_TreeItemUp.svg‎‎|32px]] [[Assembly3_MoveItemUp/ru|Move item up]]: MПереместить выбранный элемент дерева вверх
:* Переместите выбранный элемент дерева вниз
:* [[Image:Assembly_TreeItemDown.svg‎‎|32px]] [[Assembly3_MoveItemDown/ru|Move item down]]: Переместите выбранный элемент дерева вниз
:*: Позволяет сортировать Детали, Элементы или Ограничения в дереве. Элемент сворачивается (сверху вниз и наоборот). Работает только при единичном выборе.
:*: Позволяет сортировать Детали, Элементы или Ограничения в древе. Сворачивает элемент (сверху вниз и наоборот). Работает лишь при единичном выборе.
:* Множественное Ограничение. Это может быть выбрано, если присутствует несколько частей и подходящих Элементов. Используется, например, для назначения нескольких креплений одного типа в несколько отверстий с одним ограничением.
:* [[Image:Assembly_ConstraintMultiply.svg‎‎|32px]] [[Assembly3_MultiplyConstraint/ru|Multiply constraint]]: Множественное Ограничение. Это может быть выбрано, если присутствует несколько частей и подходящих Элементов.
:*: Используется, например, для назначения нескольких креплений одного типа в несколько отверстий с одним ограничением.

</div> <!-- Конец сворачиваемого элемента для раздела содержимого. Не удаляйте! -->
</div> <!-- Конец сворачиваемого элемента для ... раздела. Не удаляйте! -->

<span id="Main_Constraints_Toolbar"></span>
==== Панель Основных Ограничений ====

: [[Image:Assembly_ConstraintLock.svg‎‎|28px]] [[Image:Assembly_ConstraintAlignment.svg‎‎|28px]] [[Image:Assembly_ConstraintCoincidence.svg‎‎|28px]] [[Image:Assembly_ConstraintAttachment.svg‎‎|28px]][[Image:AngleDown.svg‎‎|14px]][[Image:Assembly_ConstraintAxial.svg‎‎|28px]] [[Image:Assembly_ConstraintSameOrientation.svg‎‎|28px]] [[Image:Assembly_ConstraintMultiParallel.svg‎‎|28px]] [[Image:Assembly_ConstraintAngle.svg‎‎|28px]] [[Image:Assembly_ConstraintPerpendicular.svg‎‎|28px]] [[Image:Assembly_ConstraintPointCoincident.svg‎‎|28px]] [[Image:Assembly_ConstraintPointInPlane.svg‎‎|28px]] [[Image:Assembly_ConstraintPointOnLine.svg‎‎|28px]] [[Image:Assembly_ConstraintPointOnCircle.svg‎‎|28px]] [[Image:Assembly_ConstraintPointsDistance.svg‎‎|28px]] [[Image:Assembly_ConstraintPointPlaneDistance.svg‎‎|28px]] [[Image:Assembly_ConstraintPointLineDistance.svg‎‎|28px]] [[Image:Assembly_ConstraintSymmetric.svg‎‎|28px]] [[Image:Assembly_ConstraintMore.svg‎‎|28px]]

<div class="mw-collapsible mw-collapsed">
:Некоторые инструменты на деле представляют собой меню для дополнительных инструментов.
<div class="mw-collapsible-content toccolours">

:* [[Image:Assembly_ConstraintLock.svg‎‎|32px]] [[Assembly3_ConstraintLock/ru|Locked]]: Добавьте ограничение "Locked", чтобы зафиксировать одну или несколько частей.
:*: Вам нужно выбрать элемент геометрии детали.
:*: Если вы фиксируете вершину или ребро, деталь по-прежнему может свободно вращаться вокруг вершины или ребра.
:*: Фиксация грани полностью заблокирует деталь.
:* [[Image:Assembly_ConstraintAlignment.svg‎‎|32px]] [[Assembly3_ConstraintAlignment/ru|Plane Alignment]]: Добавьте ограничение "Plane alignment", чтобы выровнять плоские грани двух или более деталей.
:*: Грани становятся копланарными или параллельными с возможной дистанцией.
:* [[Image:Assembly_ConstraintCoincidence.svg‎‎|32px]] [[Assembly3_ConstraintCoincidence/ru|Plane Coincidence]]: Добавьте ограничение "Plane coincidence", чтобы совместить плоские грани двух или более деталей.
:*: Грани совпадут в своих центрах с возможной дистанцией.
:* Attachment имеет две настройки
:** [[Image:Assembly_ConstraintAttachment.svg‎‎|32px]] [[Assembly3_ConstraintAttachment/ru|Attachment]]: Добавьте ограничение "Attachment", чтобы прикрепить две детали с выбранными элементами геометрии.
:**: Это ограничение полностью фиксирует детали относительно друг друга.
:** [[Image:Assembly_ConstraintAttachmentOffset.svg‎‎|32px]] [[Assembly3_ConstraintAttachmentOffset/ru|AttachmentOffset]]: То же, что и ограничение "Attachment", но с сохранением текущего относительного размещения задействованных частей путем установки смещения элемента.
:**: Это ограничение полностью фиксирует детали относительно друг друга.
:* [[Image:Assembly_ConstraintAxial.svg‎‎|32px]] [[Assembly3_ConstraintAxial/ru|Axial Alignment]]: Добавьте ограничение "Axial alignment" для выравнивания ребер/граней двух или более деталей.
:*: ограничение принимает
:*:: линейные ребра, которые становятся коллинеарными,
:*:: плоские грани, которые выровнены по оси нормали к поверхности,
:*:: и цилиндрическая грань, которые выровнены по осевому направлению.
:*: Можно смешивать различные типы геометрических элементов.
:* [[Image:Assembly_ConstraintSameOrientation.svg‎‎|32px]] [[Assembly3_ConstraintSameOrientation/ru|Same orientation]]: Добавьте ограничение "Same orientation", чтобы выровнять грани двух или более деталей.
:*: Плоскости выровнены, чтобы иметь одинаковую ориентацию (т.е. вращение)
:* [[Image:Assembly_ConstraintMultiParallel.svg‎‎|32px]] [[Assembly3_ConstraintMultiParallel/ru|Multi parallel]]: Добавьте зависимость "Multi parallel", чтобы сделать плоские грани или линейные ребра двух или более деталей параллельными.
:* [[Image:Assembly_ConstraintAngle.svg‎‎|32px]] [[Assembly3_ConstraintAngle/ru|Angle]]: Добавьте ограничение "Angle", чтобы задать угол между плоскими гранями или линейными ребрами двух деталей.
:* [[Image:Assembly_ConstraintPerpendicular.svg‎‎|32px]] [[Assembly3_ConstraintPerpendicular/ru|Perpendicular]]: Добавьте ограничение "Perpendicular", чтобы сделать плоские грани или линейные ребра двух деталей перпендикулярными.
:* [[Image:Assembly_ConstraintPointCoincident.svg‎‎|32px]] [[Assembly3_ConstraintPointsCoincident/ru|Points coincident]]: Добавьте ограничение "Point coincident", чтобы совместить две точки в 2D или 3D.
:* [[Image:Assembly_ConstraintPointInPlane.svg‎‎|32px]] [[Assembly3_ConstraintPointInPlane/ru|Point on plane]]: Добавьте "Point on plane", чтобы ограничить одну или несколько точек плоскостью.
:* [[Image:Assembly_ConstraintPointOnLine.svg‎‎|32px]] [[Assembly3_ConstraintPointOnLine/ru|Point on line]]: Добавьте "Point on line", чтобы ограничить точку линией в 2D или 3D.
:* [[Image:Assembly_ConstraintPointOnCircle.svg‎‎|32px]] [[Assembly3_ConstraintPointOnCircle/ru|Point on circle]]: Добавьте "Point on circle", чтобы ограничить одну или несколько точек цилиндрической поверхностью, заданной окружностью.
:*: Обратите внимание, что вы должны выбрать точку (любой элемент геометрии может определить точку), а затем выбрать окружность (или цилиндрическую поверхность),
:*: после чего вы можете добавить дополнительные точки к вашему выбору, если надо.
:* [[Image:Assembly_ConstraintPointsDistance.svg‎‎|32px]] [[Assembly3_ConstraintPointsDistance/ru|Points distance]]: Добавьте "Points distance", чтобы ограничить расстояние между двумя или более точками.
:* [[Image:Assembly_ConstraintPointPlaneDistance.svg‎‎|32px]] [[Assembly3_ConstraintPointPlaneDistance/ru|Point plane distance]]: Добавьте "Point plane distance", чтобы ограничить расстояние между одной или несколькими точками и плоскостью.
:* [[Image:Assembly_ConstraintPointLineDistance.svg‎‎|32px]] [[Assembly3_ConstraintPointLineDistance/ru|Point line distance]]: Добавьте "Point line distance" чтобы ограничить расстояние между точкой и линейным ребром в 2D или 3D.
:* [[Image:Assembly_ConstraintSymmetric.svg‎‎|32px]] [[Assembly3_ConstraintSymmetric/ru|Symmetric]]: Добавьте зависимость "Symmetric", чтобы сделать элементы геометрии двух деталей симметричными относительно плоскости.
:*: Поддерживаемые элементы: линейная кромка и плоская грань.
:* [[Image:Assembly_ConstraintMore.svg‎‎|32px]] [[Assembly3_ConstraintMore/ru|More]]: Включение дополнительных панелей инструментов ограничений
:*: На деле не ограничение, а тумблер для отображения/скрытия '''Additional Constraints Toolbars'''.

</div> <!-- Конец сворачиваемого элемента для раздела содержимого. Не удаляйте! -->
</div> <!-- Конец сворачиваемого элемента для ... раздела. Не удаляйте! -->

<span id="Additional_Constraints_Toolbars"></span>
==== Панель Дополнительных Ограничений ====

: [[Image:Assembly_ConstraintPointDistance.svg‎‎|28px]] [[Image:Assembly_ConstraintEqualAngle.svg‎‎|28px]] [[Image:Assembly_ConstraintPointsSymmetric.svg‎‎|28px]] [[Image:Assembly_ConstraintGeneral.svg‎‎|28px]] [[Image:Assembly_ConstraintGeneral.svg‎‎|28px]] [[Image:Assembly_ConstraintSymmetricLine.svg‎‎|28px]] [[Image:Assembly_ConstraintPointsHorizontal.svg‎‎|28px]] [[Image:Assembly_ConstraintPointsVertical.svg‎‎|28px]] [[Image:Assembly_ConstraintLineHorizontal.svg‎‎|28px]] [[Image:Assembly_ConstraintLineVertical.svg‎‎|28px]] [[Image:Assembly_ConstraintArcLineTangent.svg‎‎|28px]] (Assembly3 Constraints2)

:[[Image:Assembly_ConstraintSketchPlane.svg‎‎|28px]] [[Image:Assembly_ConstraintLineLength.svg‎‎|28px]] [[Image:Assembly_ConstraintEqualLength.svg‎‎|28px]] [[Image:Assembly_ConstraintLengthRatio.svg‎‎|28px]] [[Image:Assembly_ConstraintLengthDifference.svg‎‎|28px]] [[Image:Assembly_ConstraintLengthEqualPointLineDistance.svg‎‎|28px]] [[Image:Assembly ConstraintEqualLineArcLength.svg‎‎|28px]] [[Image:Assembly_ConstraintMidPoint.svg‎‎|28px]] [[Image:Assembly_ConstraintDiameter.svg‎‎|28px]] [[Image:Assembly_ConstraintEqualRadius.svg‎‎|28px]] [[Image:Assembly_ConstraintPointsProjectDistance.svg‎‎|28px]] [[Image:Assembly_ConstraintEqualPointLineDistance.svg‎‎|28px]] [[Image:Assembly_ConstraintColinear.svg‎‎|28px]] (Assembly3 Sketch Constraints)

<div class="mw-collapsible mw-collapsed">
:Их можно включить, нажав кнопку {{Button|[[Image:Assembly_ConstraintMore.svg‎‎|16px]] [[Assembly3_ConstraintMore/ru|More]]}} на панели инструментов «Основные ограничения».
<div class="mw-collapsible-content toccolours">

:* [[Image:Assembly_ConstraintPointDistance.svg‎‎|32px]] [[Assembly3_ConstraintPointDistance/ru|Point distance]]: Добавьте "Point distance", чтобы ограничить расстояние между двумя точками в 2D или 3D.
:* [[Image:Assembly_ConstraintEqualAngle.svg‎‎|32px]] [[Assembly3_ConstraintEqualAngle/ru|Equal angle]]: Добавьте "Equal angle", чтобы приравнять углы между двумя линиями или нормалями.
:* [[Image:Assembly_ConstraintPointsSymmetric.svg‎‎|32px]] [[Assembly3_ConstraintPointsSymmetric/ru|Points symmetric]]: Добавьте ограничение "Points symmetric" чтобы сделать две точки симметричными относительно плоскости.
:* [[Image:Assembly_ConstraintGeneral.svg‎‎|32px]] () [[Assembly3_ConstraintSymmetricHorizontal/ru|Symmetric horizontal]]: Symmetric horizontal
:* [[Image:Assembly_ConstraintGeneral.svg‎‎|32px]] () [[Assembly3_ConstraintSymmetricVertical/ru|Symmetric vertical]]: Symmetric vertical
:* [[Image:Assembly_ConstraintSymmetricLine.svg‎‎|32px]] [[Assembly3_ConstraintSymmetricLine/ru|Symmetric line]]: Добавьте ограничение "Symmetric line" чтобы сделать две точки симметричными относительно линии.
:* [[Image:Assembly_ConstraintPointsHorizontal.svg‎‎|32px]] [[Assembly3_ConstraintPointsHorizontal/ru|Points horizontal]]: Add a "Points horizontal" constraint to make two points horizontal with each other when projected onto a plane.
:* [[Image:Assembly_ConstraintPointsVertical.svg‎‎|32px]] [[Assembly3_ConstraintPointsVertical/ru|Points vertical]]: Добавьте ограничение "Points vertical" чтобы сделать две точки горизонтальными относительно друг друга при проецировании на плоскость.
:* [[Image:Assembly_ConstraintLineHorizontal.svg‎‎|32px]] [[Assembly3_ConstraintLineHorizontal/ru|Line horizontal]]: Добавьте ограничение "Line horizontal" чтобы сделать сегмент линии горизонтальным в проекции на плоскость.
:* [[Image:Assembly_ConstraintLineVertical.svg‎‎|32px]] [[Assembly3_ConstraintLineVertical/ru|Line vertical]]: Добавьте ограничение "Line vertical" чтобы сделать сегмент линии вертикальным при проецировании на плоскость.
:* [[Image:Assembly_ConstraintArcLineTangent.svg‎‎|32px]] [[Assembly3_ConstraintArcLineTangent/ru|Arc line tangent]]: Добавьте зависимость "Arc line tangent" чтобы сделать линию касательной к дуге в начальной или конечной точке дуги.

:* [[Image:Assembly_ConstraintSketchPlane.svg‎‎|32px]] [[Assembly3_ConstraintSketchPlane/ru|Sketch plane]]: Добавьте "Sketch plane" (плоскость эскиза), чтобы определить рабочую плоскость любого элемента уклона внутри или после этого ограничения.
:*: Добавьте пустую "плоскость эскиза", чтобы отменить определение предыдущей рабочей плоскости.
:* [[Image:Assembly_ConstraintLineLength.svg‎‎|32px]] [[Assembly3_ConstraintLineLength/ru|Line length]]: Добавление ограничения "Line length", определяющего длину неразделенного объекта Draft.Wire.
:* [[Image:Assembly_ConstraintEqualLength.svg‎‎|32px]] [[Assembly3_ConstraintEqualLength/ru|Equal length]]: Добавьте ограничение "Equal length" (равная длина), чтобы сделать две линии одной длины.
:* [[Image:Assembly_ConstraintLengthRatio.svg‎‎|32px]] [[Assembly3_ConstraintLengthRatio/ru|Length ratio]]: Добавьте "Length ratio" чтобы ограничить соотношение длины двух линий.
:* [[Image:Assembly_ConstraintLengthDifference.svg‎‎|32px]] [[Assembly3_ConstraintLengthDifference/ru|Length difference]]: Добавьте "Length difference" чтобы ограничить по разности длины двух линий.
:* [[Image:Assembly_ConstraintLengthEqualPointLineDistance.svg‎‎|32px]] [[Assembly3_ConstraintLengthEqualPointLineDistance/ru|Length Equal Point Line Distance]]: Добавьте "Length Equal Point Line Distance" для ограничения дистанции
:*: между точкой и линией той же величиной, что длина другой линии.
:* [[Image:Assembly_ConstraintGeneral.svg‎‎|32px]] ( [[Image:Assembly ConstraintEqualLineArcLength.svg‎‎|32px]] )[[Assembly3_ConstraintEqualLineArcLength/ru|Equal Line Arc Length]]: Добавьте ограничение "Equal Line Arc Length", чтобы сделать длину линии равной длине дуги.
:* [[Image:Assembly_ConstraintMidPoint.svg‎‎|32px]] [[Assembly3_ConstraintMidPoint/ru|Mid point]]: Добавьте ограничение "Mid point" чтобы установить положение точки в середине линии.
:* [[Image:Assembly_ConstraintDiameter.svg‎‎|32px]] [[Assembly3_ConstraintDiameter/ru|Diameter]]: Добавьте "Diameter" чтобы ограничить диаметр окружности/дуги.
:* [[Image:Assembly_ConstraintEqualRadius.svg‎‎|32px]] [[Assembly3_ConstraintEqualRadius/ru|Equal radius]]: Добавьте ограничение "Equal radius" чтобы сделать равным радиусы двух окружностей/дуг.
:* [[Image:Assembly_ConstraintPointsProjectDistance.svg‎‎|32px]] [[Assembly3_ConstraintPointsProjectDistance/ru|Points project distance]]: Добавьте "Points project distance" чтобы ограничить спроецированное на линию расстояние между точками.
:* [[Image:Assembly_ConstraintEqualPointLineDistance.svg‎‎|32px]] [[Assembly3_ConstraintEqualPointLineDistance/ru|Equal point line distance]]: Добавьте "Equal point line distance" чтобы ограничить дистанцию
:*: между точкой и линией равной дистанции между другой точкой и линией.
:* [[Image:Assembly_ConstraintColinear.svg‎‎|32px]] [[Assembly3_ConstraintColinear/ru|Colinear]]: Добавьте ограничение "Colinear" чтобы сделать две линии коллинеарными.

</div> <!-- Конец сворачиваемого элемента для раздела содержимого. Не удаляйте! -->
</div> <!-- Конец сворачиваемого элемента для ... раздела. Не удаляйте! -->


:Панель '''Ограничений''' ('''Constraints tool bars''') будет основной панелью, используемой при сборке деталей.
:По умолчанию она неактивна, но активируются после выбора хотя бы одной грани, линии или точки детали.
:Обычно вы выбираете элементы, которые должны быть объединены, а затем выбираете тип ограничения.
:Различные цветные рамки отмечают различные характеристики ограничений:
::2D/3D при добавлении более 2 Элементов.
:Подробное описание можно найти в вики Gibhub.


<span id="Navigation_Toolbar"></span>
==== Панель Навигации ====


: [[Image:Assembly_GotoRelation.svg‎‎|28px]] [[Image:LinkSelect.svg‎‎|28px]] [[Image:LinkSelectFinal.svg‎‎|28px]]
:[[File:Assembly3_ToolbarConstraints_1.jpg|700px]]
:''Главная панель инструментов ограничения. Некоторые инструменты это просто меню для дополнительных инструментов''.


<div class="mw-collapsible mw-collapsed">
:[[File:Assembly3_ToolbarConstraints_2.jpg|700px]]
:Эти функции полезны при работе со сборкой с иерархией связанных внешних файлов.
:''Дополнительная панель инструментов ограничения. Вы можете включить их, выбрав значок '...' на основной панели инструментов ограничения''.
<div class="mw-collapsible-content toccolours">
:* [[Image:Assembly_GotoRelation.svg‎‎|32px]] [[Assembly3_GoToRelation/ru|Go to relation]]: Открывает группу отношений (по умолчанию скрыта) и выбирает объект отношения.
:* [[File:Std_LinkSelectLinked.svg|32px]] [[Std_LinkSelectLinked/ru|Select linked object]]: Выбирает связанный объект и переключается на его документ. {{Version|0.19}}
:* [[File:Std_LinkSelectLinkedFinal.svg|32px]] [[Std_LinkSelectLinkedFinal/ru|Select linked final]]: Выбирает объект с самыми глубокими ссылками и переключается на его документ. {{Version|0.19}}


</div> <!-- Конец сворачиваемого элемента для раздела содержимого. Не удаляйте! -->
:Панель '''Ограничений''' ('''Constraints tool bars''') будет основной панелью, используемой при сборке деталей. По умолчанию она неактивна, но активируются после выбора хотя бы одной грани, линии или точки детали. Обычно вы выбираете элементы, которые должны быть объединены, а затем выбираете тип ограничения. Различные цветные рамки отмечают различные характеристики ограничений: и не важно что это 2D/3D при добавлении более 2 Элементов. Подробное описание можно найти в вики Gibhub.
</div> <!-- Конец сворачиваемого элемента для ... раздела. Не удаляйте! -->


<span id="Measurement_Toolbar"></span>
:* '''Блокировка''' (''Lock'') Самое первое ограничение. В каждой сборке одна деталь должна быть заблокирована, чтобы выступать в качестве базовой. Блокировка означает не что иное, как ограничение этой части в 6DOF ее текущим положением и ориентацией. Она становится отправной точкой для
==== Панель Измерений ====


: [[Image:Assembly_MeasurePointDistance.svg‎‎|28px]] [[Image:Assembly_MeasurePointLineDistance.svg‎‎|28px]] [[Image:Assembly_MeasurePointPlaneDistance.svg‎‎|28px]] [[Image:Assembly_MeasureAngle.svg‎‎|28px]]


<div class="mw-collapsible mw-collapsed">
:[[File:Assembly3_ToolbarNavigation.jpg|100px]]
: '''Панель измерений''' добавляет функции для измерения расстояний между двумя объектами.
:''Navigation Toolbar''
<div class="mw-collapsible-content toccolours">
: Эти функции полезны при работе со сборкой с иерархией связанных внешних файлов.
: * Выберите соответствующий объект детали в группе отношений
: * Выберите связанный объект
: * Выберите объект с самыми глубокими ссылками


:* [[Image:Assembly_MeasurePointDistance.svg‎‎|32px]] [[Assembly3_MeasurePoints/ru|Measure points]]: Добавьте "Measure points" для измерения расстояния между двумя точками в 2D или 3D.
:* [[Image:Assembly_MeasurePointLineDistance.svg‎‎|32px]] [[Assembly3_MeasurePointLine/ru|Measure point to line]]: Добавьте "Measure point to line" для измерения расстояния между точкой и линейным ребром в 2D или 3D.
:* [[Image:Assembly_MeasurePointPlaneDistance.svg‎‎|32px]] [[Assembly3_MeasurePointPlane/ru|Measure point to plane]]: Добавьте "Measure point to plane" для измерения угла между точкой и плоскостью.
:* [[Image:Assembly_MeasureAngle.svg‎‎|32px]] [[Assembly3_MeasureAngle/ru|Measure angle]]: Добавьте "Measure angle" для измерения угла между плоскими гранями или линейными рёбрами двух разных деталей.


: Функции измерения радиуса или диаметра нет. .
:[[File:Assembly3_ToolbarMeasurement.jpg|100px]]
: Инструменты измерения выдерживают замену деталей, например расстояние между краями куба при изменении размера куба.
:''Measurement Toolbar''
: Поскольку вычисления ограничений выполняются в реальном времени и обновляются при любых изменениях. За кулисами функция очень похожа на [[#Ограничения/ru|ограничения]]. Расстояние или угол между [[#Элементы|элементами]] рассчитывается таким же образом, как и для [[#Ограничения|ограничений]]. Отображение в дереве работает аналогично.
: Панель '''Измерения''' ('''Measurement toolbar''') добавляет функции для измерения расстояний между двумя точками, точкой и линией или точкой и гранью. Инструмент 'Measure Angle' отслеживает угол между двумя гранями или линиями. Нет функции измерения радиуса или диаметра.
: Инструменты измерения выдерживают замену деталей, например расстояние между краями куба при изменении размера куба. Поскольку вычисления ограничений выполняются в реальном времени и обновляются при любых изменениях. За кулисами функция очень похожа на [[#Ограничения|ограничения]]. Расстояние или угол между [[#Элементы|элементами]] рассчитывается таким же образом, как и для [[#Ограничения|ограничений]]. Отображение в дереве работает аналогично.


</div> <!-- Конец сворачиваемого элемента для раздела содержимого. Не удаляйте! -->
</div> <!-- Конец сворачиваемого элемента для ... раздела. Не удаляйте! -->


Как обычно, вы можете изменять панели инструментов и добавлять или удалять отдельные инструменты. Обязательно проверьте меню Assembly3 на наличие функций, которые могут отсутствовать на панели инструментов.
Как обычно, вы можете изменять панели инструментов и добавлять или удалять отдельные инструменты. Обязательно проверьте меню Assembly3 на наличие функций, которые могут отсутствовать на панели инструментов.
Line 90: Line 212:
[[#top|наверх]]
[[#top|наверх]]


<span id="Constraints"></span>
=== Ограничения ===
=== Ограничения ===

Проектировщик использует ограничения для достижения желаемого результата для соотношения двух частей. Выбор правильных ограничений, которые лучше всего подходят для решения каждой проблемы - Искусство. Каждая удалённая степень свободы теоретически должна устраняться только один раз между двумя объектами, но на практике со многими инструментами САПР выбранные ограничения создают комбинации избыточных ограничений, порой компенсируемые сложными алгоритмами, а порой нет. Assembly3 действительно использует алгоритмы для выявления и компенсации избыточных ограничений, но очевидно, что они еще не очень развиты. Таким образом, на практике для ограничений Assembly3 можно избежать проблем, зная, сколько степеней свободы (DOF) было использовано, а какие ещё предстоит заблокировать. Никакая часть не должна иметь связи с ограничениями превышающими 6DOF.
Проектировщик использует ограничения для достижения желаемого результата для соотношения двух частей. Выбор правильных ограничений, которые лучше всего подходят для решения каждой проблемы - Искусство. Каждая удалённая степень свободы теоретически должна устраняться только один раз между двумя объектами, но на практике со многими инструментами САПР выбранные ограничения создают комбинации избыточных ограничений, порой компенсируемые сложными алгоритмами, а порой нет. Assembly3 действительно использует алгоритмы для выявления и компенсации избыточных ограничений, но очевидно, что они еще не очень развиты. Таким образом, на практике для ограничений Assembly3 можно избежать проблем, зная, сколько степеней свободы (DOF) было использовано, а какие ещё предстоит заблокировать. Никакая часть не должна иметь связи с ограничениями превышающими 6 степеней свободы.


: Примечание: Если решатель встречает комбинацию, которую невозможно разрешить, он выдаст ошибку. Решателю сложно выяснить, что вызвало проблему, поэтому, как правило, из данной ошибки не будет ясно, «где» проблема. В крупных сборках это может привести к сложному поиску проблем. К сожалению, нет простого способа избежать этого. Однако это подталкивает полностью осознавать как работает система (например, см. [[#Elements|Elements]] ниже), использовать чёткие имена для всех задействованных компонентов и добавлять новые ограничения лишь когда решатель может разрешить текущую сборку. Очень полезной для отслеживания проблемы является функция «ContexMenu/Deactivate» у каждого ограничения.
: Примечание: Если решатель встречает комбинацию, которую невозможно разрешить, он выдаст ошибку. Решателю сложно выяснить, что вызвало проблему, поэтому, как правило, из данной ошибки не будет ясно, «где» проблема. В крупных сборках это может привести к сложному поиску проблем. К сожалению, нет простого способа избежать этого. Однако это подталкивает полностью осознавать как работает система (например, см. [[#Elements|Elements]] ниже), использовать чёткие имена для всех задействованных компонентов и добавлять новые ограничения лишь когда решатель может разрешить текущую сборку. Очень полезной для отслеживания проблемы является функция «ContexMenu/Deactivate» у каждого ограничения.
Line 109: Line 233:
** '''Points Coincident''': фиксирует Tx, Ty, Tz. Все R остаются свободными.
** '''Points Coincident''': фиксирует Tx, Ty, Tz. Все R остаются свободными.
** '''PointOnPoint''' исключает 3 сдвига.
** '''PointOnPoint''' исключает 3 сдвига.
** '''Plane Alignment''': фиксирует Tz, Rx, Ry. Движение в плоскости и Rz. Это исключает смещение по нормали к базовой плоскости и два вращения вокруг осей этой плоскости.
** '''Plane Alignment''': фиксирует Tz, Rx, Ry (движение в плоскости). Это исключает смещение по нормали к базовой плоскости и два вращения вокруг осей этой плоскости.
* Фиксируют 2 степени свободы, оставляют 4:
* Фиксируют 2 степени свободы, оставляют 4:
** '''Multi Parallel''': фиксирует Rx, Ry, все T и R остаются. Это исключает два вращения вокруг осей базовой плоскости.
** '''Multi Parallel''': фиксирует Rx, Ry, все T и R остаются. Это исключает два вращения вокруг осей базовой плоскости.
Line 123: Line 247:
[[#top|наверх]]
[[#top|наверх]]


<span id="Elements"></span>
===Элементы===
=== Элементы ===

Элементы это особый термин, используемый в верстаке Assembly 3. Понимание Элементов важно для понимания того, как следует использовать Assembly 3.
Элементы это особый термин, используемый в верстаке Assembly 3. Понимание Элементов важно для понимания того, как следует использовать Assembly 3.


Line 129: Line 255:


Давайте рассмотрим пример
Давайте рассмотрим пример
: Создайте новый файл и добавьте куб и цилиндр с помощью верстака Part. Установите цилиндр на куб. Сначала зафиксируйте базовую деталь, в нашем случае куб. Выберите нижнюю сторону куба и установите ограничения "Locked" (первая иконка в Constraints [[#Toolbars|toolbar]]). Выберите верхнюю сторону цилиндра и верхнюю сторону куба. Затем выберите ограничение "Совпадение плоскостей" ("Plane Coincident"). Теперь цилиндр переместится в куб и в дереве в разделе 'Constraints' ("Ограничения") будет добавлен новый елемент с двумя дочерними узлами. Дополнительно те же самые два дочерних узла будут добавлены в разделе 'Elements' ("Элементы"). Если вы расположили цилиндр внутри куба, то давайте сначала это исправим: выберите дочерний узел в разделе 'Constraints' ("Ограничения"), который является гранью цилиндра, щелкните правой кнопкой мыши и в контекстном меню и выберите 'Flip Part' ("Перевернуть Деталь"). Теперь цилиндр будет установлен на куб.
: Создайте новый файл и добавьте куб и цилиндр с помощью верстака Part. Установите цилиндр над кубом. Сначала зафиксируйте базовую деталь, в нашем случае куб. Выберите нижнюю сторону куба и установите ограничения "Locked" (первая иконка в Constraints [[#Toolbars|toolbar]]). Выберите верхнюю сторону цилиндра и верхнюю сторону куба. Затем выберите ограничение "Совпадение плоскостей" ("Plane Coincident"). Теперь цилиндр переместится в куб и в дереве в разделе 'Constraints' ("Ограничения") будет добавлен новый елемент с двумя дочерними узлами. Дополнительно те же самые два дочерних узла будут добавлены в разделе 'Elements' ("Элементы"). Если Ваш цилиндр внутри куба а не сверху, исправим это сначала: выберите дочерний узел в разделе 'Constraints' ("Ограничения"), который является гранью цилиндра, щелкните правой кнопкой мыши и в контекстном меню и выберите 'Flip Part' ("Перевернуть Деталь"). Теперь цилиндр будет установлен на куб.


Главное, что нужно понять, - это то, что ограничение действует на ссылки на элементы в списке в папке дерева 'Elements'. Это позволяет сохранить структуру ограничений без изменений при замене деталей. Это очень сложно увидеть без примера.
Главное, что нужно понять, - это то, что ограничение действует на ссылки на элементы в списке в папке дерева 'Elements'. Это позволяет сохранять структуру ограничений без изменений при замене деталей. Это очень сложно увидеть без примера.


Вернемся к примеру выше
Вернемся к примеру выше
Line 147: Line 273:
[[#top|наверх]]
[[#top|наверх]]


<span id="Compatibility"></span>
== Совместимость ==
== Совместимость ==


На Assembly3 повлиял [[Assembly2_Workbench/ru|Assembly2]], но они не совместимы. Если у Вас есть старые модели, созданные в Assembly2, оставайтесь с FreeCAD 0.16 и используйте Assembly2 с ним.
На Assembly3 повлиял [[Assembly2_Workbench/ru|Assembly2]], но они не совместимы. Если у Вас есть старые модели, созданные в Assembly2, оставайтесь на FreeCAD 0.16 и используйте Assembly2 с ним.


Новые модели, разработанные с Assembly3, должны открываться и редактироваться с ним.
Новые модели, разработанные с помощью Assembly3, следует открывать и редактировать только с помощью этого верстака.


Несмотря на наличие похожих инструментов, Assembly3 не совместим ни с [[A2plus_Workbench|A2plus]], ни с [[Assembly4_Workbench|Assembly4]]. Модели, созданные в этих верстаках, должны открываться только своими верстаками.
Несмотря на наличие похожих инструментов, Assembly3 не совместим ни с [[A2plus_Workbench|A2plus]], ни с [[Assembly4_Workbench|Assembly4]]. Модели, созданные в этих верстаках, должны открываться только своими верстаками.
Line 157: Line 284:
[[#top|наверх]]
[[#top|наверх]]


<span id="Installation"></span>
== Тестирование ==
== Установка ==


[[Assembly3_Workbench/ru|Верстак Assembly3]] ещё в стадии проектирования и пока (апрель 2020) не доступен через [[Std_AddonMgr|Addon Manager]], но ожидается, что в какой-то момент это произойдёт.
[[Assembly3_Workbench/ru|Верстак Assembly3]] (по состоянию на март 2022) доступен через [[Std_AddonMgr/ru|Менеджер Дополнений]]. Любые сторонние зависимости Assembly3 должны разрешаться автоматически Менеджером Дополнений.


<span id="Alternate_installations"></span>
Вы можете попробовать его двумя способами:
==== Альтернативные установки ====
* Отдельная ветка FreeCAD, сделанная realthunder; смотри [https://github.com/realthunder/FreeCAD_assembly3/releases выпуски FreeCAD_assembly3]. Эта ветка базируется на конкретной точке главной ветки FreeCAD, но имеет дополнительные возможности, пока не присутствующие в главной ветке. Поскольку эта ветвь базируется на конкретном слепке с процесса разработки, в неё не попали позднейшие возможности, внедрённые позднее в главную ветку.
* [[AppImage|AppImage]] версии в разработке. Это базируется на текущей главной ветке, и включает зависимости, требуемые для работы с Assembly3, такие как вычислитель из SolveSpace.


Существует два альтернативных способа установки Assembly3:
Поскольку AppImage работает только для Linux, для Windows пользователи сейчас могут протестировать Assembly3 только по первому варианту (ветка realthunderа).
* Отдельная ветка FreeCAD, сделанная realthunder; смотри [https://github.com/realthunder/FreeCAD/releases здесь]. Эта ветка базируется на конкретной точке главной ветки FreeCAD, но имеет дополнительные возможности, пока не присутствующие в главной ветке. Поскольку эта ветвь базируется на конкретном слепке с процесса разработки, в неё не попали позднейшие возможности, внедрённые позднее в главную ветку.
* [[AppImage/ru|AppImage]] разрабатываемой версии; она базируется на текущей главной ветке, и включает зависимости, необходимые для работы с Assembly3, такие как решатель SolveSpace.

Поскольку AppImage работает только для Linux, выбором для пользователей Windows (кто хочет установить Assembly3 альтернативным путём) будет лишь первый вариант тестирования Assembly3 (ветка realthunderа).


[[#top|наверх]]
[[#top|наверх]]


== HowTo ==
<span id="HowTo"></span>
== Как... ==

<span id="Get_Started"></span>
=== Начать ===


===Начать===
Есть много способов создать сборку с помощью Assembly3. Вот самый простой из возможных вариантов.
Есть много способов создать сборку с помощью Assembly3. Вот самый простой из возможных вариантов.


Line 177: Line 311:
:''Окончательный результат примера «Начало работы». На изображении выбран верстак Assembly3, поэтому видно несколько его панелей инструментов. Обратите внимание, что вертикальная «TabBar» слева от древовидного представления - это верстак AddOn, который не содержится в стандартном FreeCAD (но может быть установлен с помощью Addon-Manager).''
:''Окончательный результат примера «Начало работы». На изображении выбран верстак Assembly3, поэтому видно несколько его панелей инструментов. Обратите внимание, что вертикальная «TabBar» слева от древовидного представления - это верстак AddOn, который не содержится в стандартном FreeCAD (но может быть установлен с помощью Addon-Manager).''


* Press {{Button|[[Image:Std_New.svg|16px]] [[Std_New/ru|New]]}} для создания нового файла FreeCAD
* Создайте новый файл FreeCAD
* Выберите верстак [[Image:Assembly3_workbench_icon.svg|16px]] [[Assembly3_Workbench/ru|Assembly3]].
* Выберите Assembly Workbench. Выберите ''CreateAssembly'' (первый значок)
* Выберите {{Button|[[Image:Assembly_New_Assembly.svg‎‎|16px]] [[Assembly3_CreateAssembly/ru|Create assembly]]}}
* Выберите Part Workbench и добавьте цилиндр и куб
* Перейдите на верстак [[Image:Workbench_Part.svg|16px]] [[Part_Workbench/ru|Part]] добавьте [[Image:Part_Cylinder.svg|16px]] [[Part_Cylinder/ru|Cylinder]] и [[Image:Part_Box.svg|16px]] [[Part_Box/ru|Cube]]
* Сохраните файл с любым именем, которое вам нравится. Закройте и откройте и файл.
* [[Image:Std_Save.svg|16px]] [[Std_Save/ru|Сохраните]] файл с любым именем, которое вам нравится. [[Image:Std_CloseActiveWindow.svg|16px]] [[Std_CloseActiveWindow/ru|Закройте]] and [[Image:Std_Open.svg|16px]] [[Std_Open/ru|откройте]] файл снова.
*: Древовидное представление должно выглядеть так
{{Code|code=
Assembly
Constraints
Elements
Parts
Cylinder
Cube
}}
* Теперь нарисуйте и перетащите мышью ''Cylinder'' и ''Cube'' в папку ''Parts''. Они перемещаются в эту папку.
*: Это самый быстрый способ. Обратите внимание, что ''лучший'' способ - открыть контекстное меню на обоих и выбрать ''LinkActions → MakeLink''. Это добавляет два файла ссылок. Затем перетащите файлы ссылок в папку ''Parts''. Для таких простых случаев это не имеет значения.
* Щелкните по обеим верхним поверхностям цилиндра и куба (удерживая Ctrl)
* Выберите верстак Assembly. Выберите "PlaceCoincident" из [[#Toolbar|инструментальной панели]] ограничений.
*: Теперь части должны быть соединены друг с другом, и ваше дерево должно выглядеть так
{{Code|code=
Assembly
Constraints
PlaneConicident
_Element
_Element001
Elements
_Element
_Element001
Parts
Cylinder
Cube
}}
* Щелкните правой кнопкой мыши «_Element» (любой из двух) и выберите "Flip Part".
*: Теперь цилиндр должен быть наверху коробки. Если перевёрнуто всё, вернитесь и выберите "Flip Part" на другом элементе.
Мы пропустили один важный шаг, который должен выполняться в больших сборках: блокировка базовой детали. Это означает, что определите одну деталь, которую нельзя перемещать из-за ограничений. В вашем случае для этого мы используем куб:
* Выберите нижнюю грань куба. Только нижняя грань, а не весь куб.
* выберите ограничение "Locked" на панели инструментов ограничения
*: Готовое дерево сборки должно выглядеть как на изображении выше
Готово. <br>
Если хотите, можете переместить ограничение "Locked" вверх по дереву. Для этого используйте кнопку "MoveItemUp" на главной [[#Toolbar|панели инструментов]].


Древовидное представление должно выглядеть так (0.20.pre и Link Branch):
Заметьте: все новые внешние файлы должны быть сохранены, закрыты и повторно открыты как минимум один раз, чтобы Assembly3 могла их найти. Без этого FreeCAD не сможет передать дескриптор файла верстаку Assembly3 и он не сможет найти новую часть. Когда все части находятся в одном файле, вы должны сохранить и снова открыть файл.

[[Image:Assembly3 Example-Tree-01.png|300px]] [[Image:Assembly3 Example-Tree-02.png|280px]]

* Теперь перетащите мышью '''Cylinder''' и '''Cube''' на папку '''Parts'''. Они переместятся внутрь.
*: Это самый быстрый способ, подходящий для простых случаев вроде этого. Лучше использовать объект link:
*: Выбрать '''Cube''' и '''Cylinder''' и затем {{Button|[[Image:Std LinkMake.svg|16px]] [[Std LinkMake/ru|Make link]]}} или через '''Context menu''' (-> LinkActions -> MakeLink) или через панель '''Structure'''.
*: Это добавляет два объекта ссылок. Затем перетащите объекты ссылок в папку ''Parts''.
* Щелкните по обеим верхним поверхностям цилиндра и куба (удерживая Ctrl, или Cmd на Mac)
* Выберите верстак [[Image:Assembly3_workbench_icon.svg|16px]] [[Assembly3_Workbench/ru|Assembly3]].
* Выберите {{Button|[[Image:Assembly_ConstraintCoincidence.svg‎‎|16px]] [[Assembly3_ConstraintCoincidence|Plane Coincidence]]}} из [[#Main Constraints Toolbar/ru|Main constraints toolbar]].

Теперь части должны быть соединены друг с другом, и ваше дерево должно выглядеть примерно так (0.20.pre и Link Branch):

[[Image:Assembly3 Example-Tree-03.png|300px]] [[Image:Assembly3 Example-Tree-04.png|280px]]

* Щелкните правой кнопкой мыши '''_Element''' (любой из двух) и выберите "Flip Part".


*: Теперь '''цилиндр''' должен быть наверху '''коробки'''. Если перевёрнуто всё, вернитесь и выберите "Flip Part" на другом элементе.
:Мы пропустили один важный шаг, который должен выполняться в больших сборках: блокировка базовой детали.
:Это означает, что нужно определить одну деталь, которую нельзя будет перемещать по ограничениям. В вашем случае для этого мы используем куб:
:* Выберите нижнюю грань куба. Только нижняя грань, а не весь куб.
:* выберите ограничение {{Button|[[Image:Assembly ConstraintLock.svg‎‎|16px]] [[Assembly3_ConstraintLock|Locked]]}} на [[#Main Constraints Toolbar|панели инструментов ограничения]]

Готово.

Готовое дерево сборки должно выглядеть примерно как (0.20.pre и Link Branch):

[[Image:Assembly3 Example-Tree-05.png|300px]] [[Image:Assembly3 Example-Tree-06.png|280px]]:

Если хотите, можете переместить ограничение '''Locked''' вверх по дереву. Для этого используйте кнопку {{Button|[[Image:Assembly_TreeItemUp.svg‎‎|16px]] [[Assembly3_MoveItemUp/ru|Move item up]]}} на главной [[#Main Toolbar|панели инструментов]].

'''Заметьте''': все новые внешние файлы должны быть '''сохранены''', '''закрыты''' и повторно открыты как минимум один раз, чтобы Assembly3 могла их найти.
:Без этого FreeCAD не сможет передать дескриптор файла верстаку Assembly3 и он не сможет найти новую деталь.
:Когда все части находятся в том же файле, вы тоже должны '''сохранить''', '''закрыть''' и снова открыть файл.


[[#top|наверх]]
[[#top|наверх]]


<span id="Add_an_Offset"></span>
=== Добавление смещения ===
=== Добавить смещение ===

Assembly3 не предлагает смещение с константами, как это делают [[A2plus_Workbench/ru|верстак A2plus]] или другие инструменты САПР. Вместо этого он предлагает более общую и гибкую систему для добавления сдвигов, а также углов.
Assembly3 не предлагает смещение с константами, как это делают [[A2plus_Workbench/ru|верстак A2plus]] или другие инструменты САПР. Вместо этого он предлагает более общую и гибкую систему для добавления сдвигов, а также углов.


Line 233: Line 370:
* выберите одно свойство элемента Offset/Position/Zz и установите значение 5 мм. Кубики будут находиться на расстоянии 5 мм друг от друга.
* выберите одно свойство элемента Offset/Position/Zz и установите значение 5 мм. Кубики будут находиться на расстоянии 5 мм друг от друга.
:* Проверьте с другими осями или полями углов/осей. Также убедитесь, что вы получаете тот же результат при использовании другого элемента.
:* Проверьте с другими осями или полями углов/осей. Также убедитесь, что вы получаете тот же результат при использовании другого элемента.
Для других Ограничений применяется аналогичный подход.
Это тот же подход для всех других ограничений.


[[#top|наверх]]
[[#top|наверх]]


<span id="Solve_a_Solver_Failure"></span>
=== Устранение сбоя решателя ===
=== Устранить сбой решателя ===

Это часто случается, когда детали чрезмерно ограничены, т.е. заблокировано более 6 степеней свободы.
Это часто случается, когда детали чрезмерно ограничены, т.е. заблокировано более 6 степеней свободы.


Line 246: Line 385:
[[#top|наверх]]
[[#top|наверх]]


<span id="Replace_a_part_or_rename_a_filename"></span>
=== Replace a part or rename a filename ===
=== Заменить деталь или переименовать файл ===
When a part is removed or when a filename changes, the assembly breaks, it can not longer be solved and the solver will issue the message "Inconsistent constraints". The solver marks invalid Elements and Constrains with a question mark in the tree.


Когда деталь удаляется или изменяется имя файла, сборка ломается, ее нельзя решить, и решатель выдаст сообщение "Inconsistent constraints" («Несогласованные ограничения»). Решатель помечает недопустимые элементы и ограничения в дереве знаком вопроса.
One way to solve this is to just delete all invalid constraints and elements, import the new part and redo everything. But there is a better way:


Один из способов решить эту проблему - просто удалить все недопустимые ограничения и элементы, импортировать новую часть и все повторить. Но есть способ лучше:
* Rename a file
*# Use a file manager and copy the file you want renamed. Then give the new name to the copy.
*# Open the copy in FreeCAD. The assembly and the old file should also be open
*# Select the old object in the tree and click to change the propery "Linked object" (it does contain the old filename)
*# A list dialog will open containing all open parts. It shows the filenames and objects of each part. The old part and object is selected. Locate the renamed part in the tree and select the same object in the new part. Then confim the selection.
*# Delete the old part in the tree. Also the file can be deleted now.
*# Constraints and elements of te old part became invalid. Open the constraint or Elements list in the tree. Then sequentially
*#* select each element surface on the new part. An item in the tree will be highliged.
*#* Take that item and drag&drop it over the old element (either in the element list or in one of the constraints where it was used). That element should become valid.
*#* Repeat the procedure for the remaining elements. Often a single element is enough to allow Assembly3 to identify the remaining elements of the part automatically.
*#* If an element was assigned to the wrong surface by accident, just repeat with the correct surface.
*# Change the object name in FreeCAD, if desired


* Переименуйте файл
*# Используя файловый менеджер скопируйте файл, который хотите переименовать. Затем дайте копии новое имя.
*# Откройте копию в FreeCAD. Сборка и старый файл тоже должны быть открыты
*# Выберите старый объект в дереве и нажмите на поле для изменения свойства "Linked object" («Связанный объект») (оно должно содержать старое имя файла)
*# Откроется диалоговое окно со списком всех открытых деталей. Он показывает имена файлов и объекты каждой детали. Выберите старую деталь и объект. Найдите переименованную деталь в дереве и выберите тот же объект в новой детали. Затем подтвердите выбор.
*# Удалить старую деталь в дереве. Также можно удалить и файл.
*# Ограничения и элементы старой детали стали недействительными. Откройте ограничения или список элементов в дереве. Затем последовательно
*#* выберите грани каждого элемента на новой детали. Элемент в дереве будет выделен.
*#* Возьмите этот элемент и перетащите его на старый элемент (либо в списке элементов, либо в одном из ограничений, где он использовался). Этот элемент должен стать действительным.
*#* Повторите процедуру для остальных элементов. Часто одного элемента достаточно, чтобы Assembly3 могла автоматически идентифицировать остальные элементы детали.
*#* Если элемент был случайно назначен не той поверхности, просто повторите с правильной гранью.
*#При желании измените имя объекта в FreeCAD


* Замена детали другой деталью
* Replace a part with another part
*: ''на достаточно похожую деталь, чтобы исходные ограничения, конечно, все еще имели смысл''
*: ''which is simular enough to the original part that the original constraints still make sense, of course''
*# Удалите старую деталь в дереве. Также можно удалить файл.
*# Delete the old part in the tree. Also the file can be deleted.
*# Ограничения и элементы старой детали стали недействительными. Откройте ограничение или список элементов в дереве.
*# Constraints and elements of te old part became invalid. Open the constraint or Elements list in the tree.
*#* Выберите грань элемента новой детали. Элемент в дереве будет выделен.
*#* Select an element surface on the new part. An item in the tree will be highliged.
*#* Возьмите этот элемент и перетащите его на старый элемент (либо в списке элементов, либо в одном из ограничений, где он использовался). Этот элемент должен стать действительным.
*#* Take that item and drag&drop it over the old element (either in the element list or in one of the constraints where it was used). That element should become valid.
*#* Повторите процедуру для остальных элементов.
*#* repeat the procedure for the remaining elements.
*#* Если элемент был случайно назначен не той поверхности, просто повторите с правильной гранью.
*#* If an element was assigned to the wrong surface by accident, just repeat with the correct surface.
*# При желании измените имя объекта в FreeCAD
*# Change the object name in FreeCAD, if desired


''Примечания<br>

* Эти способы не такие сложные, как могут показаться. Через 2–3 применения они станут гармоничнее и станут легче в применении.
''Notes<br>
* Это не только быстрее, чем удаление и повторное выполнение ограничений, но и безопаснее, потому что элемент может быть использован в родительской сборке. Удаление оригинала уничтожит эту ссылку, повторная установка сохранит ее.
* They are not as complicated as it may seem here. After 2-3 times they should become second nature and feel really easy to do.
* Также эта процедура становится действительно быстрой и простой, если ограничения и элементы имеют названия. Не нужно гадать, куда следует перетащить грани, потому что названия говорят сами за себя (см. [[#Советы_и_хитрости|Советы и хитрости]]).
* Its not only usually ways quicker than deleting and re-doing constraints, its also safer because an element could have been used in a parent assembly. Deleting the original would destroy that link, re-assingning would keep it.
* Also this procedure becomes really quick and easy to do if constraints and elements are named. There is no guessing where the surfaces should be dragged&dropped to because the names tell it (see [[#Tips & Tricks|Tips & Tricks]]).
''
''


[[#top|top]]
[[#top|наверх]]


<span id="Tips_&amp;_Tricks"></span>
=== Советы и хитрости ===
=== Советы и хитрости ===

* Использование иерархических сборок помогает избежать проблем с решателем и позволяет сохранить плавность моделирования. Вы можете заморозить подсистему одним щелчком мыши и сэкономите ресурсы процессора (используйте контекстное меню в дереве). При загрузке сборки Assembly3 не нужно открывать внешние файлы для замороженных подсистем, что сохраняет компактность дерева.
* Использование иерархических сборок помогает избежать проблем с решателем и позволяет сохранить плавность моделирования. Вы можете заморозить подсистему одним щелчком мыши и сэкономите ресурсы процессора (используйте контекстное меню в дереве). При загрузке сборки Assembly3 не нужно открывать внешние файлы для замороженных подсистем, что сохраняет компактность дерева.
* Очень полезно выработать привычку именовать элементы и ограничения. Используйте клавишу {{KEY|F2}}, чтобы это делать быстро в дереве. Инструменты сортировки дерева в основной панели инструментов будут очень полезными. Сборка с полностью именованными ограничениями и элементами очень проста в понимании для других людей или для самого себя, по сравнению с предыдущими файлами.
* Очень полезно выработать привычку именовать элементы и ограничения. Используйте клавишу {{KEY|F2}}, чтобы это делать быстро в дереве. Инструменты сортировки дерева в основной панели инструментов будут очень полезными. Сборка с полностью именованными ограничениями и элементами очень проста в понимании для других людей или для самого себя, по сравнению с предыдущими файлами.
Line 295: Line 436:


* Использование [https://github.com/triplus/TabBar верстак TabBar] ускоряет работу со сборкой. Это добавляет панель инструментов с одной кнопкой для каждого рабочего места. Вы можете отсортировать панель инструментов и разместить ее где угодно. Многие люди помещают его вертикально слева, рядом с деревом. Если у вас есть Assembly3, Part, PartDesign и другие часто используемые рабочие места, расположенные ближе к верху, переключение между ними становится чрезвычайно простым.
* Использование [https://github.com/triplus/TabBar верстак TabBar] ускоряет работу со сборкой. Это добавляет панель инструментов с одной кнопкой для каждого рабочего места. Вы можете отсортировать панель инструментов и разместить ее где угодно. Многие люди помещают его вертикально слева, рядом с деревом. Если у вас есть Assembly3, Part, PartDesign и другие часто используемые рабочие места, расположенные ближе к верху, переключение между ними становится чрезвычайно простым.



[[#top|наверх]]
[[#top|наверх]]


<span id="Links"></span>
==Ссылки==
==Ссылки==


<div class="mw-translate-fuzzy">
* [[App_Link/ru|Объект App Link]], который обеспечивает работу Assembly3.
* [[App_Link/ru|Объект App Link]], который обеспечивает работу Assembly3.
* [https://github.com/realthunder/FreeCAD_assembly3 FreeCAD_assembly3] репозиторий и документация.
* [https://github.com/realthunder/FreeCAD_assembly3 FreeCAD_assembly3] репозиторий и документация.
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=25712 Обзор Assembly3], большая ветка обсуждения.
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=25712 Обзор Assembly3], большая ветка обсуждения.
* [https://forum.freecadweb.org/viewtopic.php?f=36&t=29562 Пробный учебник для Assembly 3 WB] от jpg87.
* [http://help-freecad-jpg87.fr/02_ass_ind.php Пробный учебник для Assembly 3 WB] от jpg87.
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=34583 Текущий статус Assembly]
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=34583 Текущий статус Assembly]
* [[External_workbenches/ru|Внешние верстаки]]
* [[External_workbenches/ru|Внешние верстаки]]
</div>
* План разработки [[Assembly_project/ru|старого проекта Assembly]], для знакомства с историей вопроса.



{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 20:14, 29 March 2023

иконка верстака Assembly3

Введение

Assembly3 это внешний верстак, используемый для выполнения сборок различных тел, содержащихся в одном файле или нескольких документах. Верстак Assembly3 основан на нескольких изменениях основных функций, сделанных для версии FreeCAD 0.19 (например, App Link), поэтому его нельзя использовать с более ранними версиями.

Основные особенности Верстака Assembly3:

  • динамический/интерактивный решатель. Это означает, что вы можете перемещать детали с помощью мыши, в то время как решающая программа ограничивает движение. Это позволяет, например, подключить колесо к оси и вращать колесо интерактивно с помощью мыши.
  • ссылки. Это означает, что вы можете использовать одну единственную деталь, например винт несколько раз в сборке (в разных местах) без дублирования геометрии.
  • внешняя ссылка. Возможно иметь документ FreeCAD, который содержит только сборку без деталей. Все части могут быть в отдельных файлах. Файлы могут быть даже в библиотеке или где-нибудь еще в файловой системе. Единственное требование - файл должен быть загружен при создании ссылки. После создания ссылки файл должен быть открыт для обновления ссылок, связанных с файлом. Assembly3 решает эту проблему, открывая файлы в фоновом режиме по мере необходимости.
  • иерархические сборки. Как и в реальной жизни, механический узел может состоять из узлов. Они могут снова состоять из подузлов и так далее.
  • заморозка сборки. Поскольку ЦП может обрабатывать только определённое количество одновременных ограничений в реальном времени, замораживание сборки позволяет использовать ограничения даже для больших сборок. При замораживании готовых сборок или ограничений, которые не должны оставаться динамическими (например, сварные, болтовые или склеенные детали), они исключаются из расчётов обновления и считаются решателем Assembly3 фиксированной геометрией.
    Обратите внимание, что другие подходы предлагают другое решение этой проблемы, например Верстак Assembly4.

наверх

Панели инструментов

По состоянию на 2020 год верстак Assembly3 имеет следующие панели инструментов.

Главная Панель Инструментов

Главная Панель Инструментов содержит инструменты, охватывающие наиболее часто используемые функции верстака. Всплывающие подсказки выдадут сочетания клавиш.
  • Create assembly: Добавить папку сборки
  • Group objects: Группировать объекты
  • Create element: Создать элемент.
  • Импорт из STEP. Имеет две установки
  • Resolve constraints: Разрешить ограничения
  • Quick solve: Быстрое разрешение ограничений
  • Move part: Перемещение деталей в 3D, это специфично для Assembly3
  • Axial move: Axial move parts in 3D, это классический инструмент, доступный в любом месте FreeCAD.
  • Быстрое перемещение: При этом выделенная в дереве часть будет прикреплена к курсору мыши. Она изменит положение детали при щелчке мышью.
    Часто добавляемые части накладываются друг на друга в начале координат. Используйте эту функцию, чтобы захватить деталь, которую вы не видите.
  • Lock mover: Блокировка перемещения зафиксированных частей. Переключаемая кнопка. Когда эта кнопка не нажата, можно перемещать части, которые имеют ограничение "Locked".
  • Переключатель видимости: Переключает видимость выделенной части.
    Обратите внимание, что это отличается использование пробела. Использование пробела для выделенных элементов из подразделов в 3D-виде часто ведет себя не так, как ожидалось. Используйте эту функцию в этих случаях (или сочетание A-Space).
  • Trace part move: Отслеживание перемещения детали (TBD)
  • Auto recompute: Автопересчет. Обычно включено.
    Может быть не включено при ремонте ограничений или исправлении деталей, когда решатель выдает сообщение "не сходятся" (например, поворачивая деталь на 180 градусов).
  • Smart recompute: Умный пересчёт. Обычно включено.
  • Auto fix element: Автоматическое исправление элементов. Экспериментальная возможность в 0.19_pre
  • Стиль элемента. Имеет две настройки
  • Рабочая плоскость и начала координат. Добавляет рабочую плоскость, размещение или начало координат. Должна быть выбрана деталь. Имеет пять установок
  • Move item up: MПереместить выбранный элемент дерева вверх
  • Move item down: Переместите выбранный элемент дерева вниз
    Позволяет сортировать Детали, Элементы или Ограничения в древе. Сворачивает элемент (сверху вниз и наоборот). Работает лишь при единичном выборе.
  • Multiply constraint: Множественное Ограничение. Это может быть выбрано, если присутствует несколько частей и подходящих Элементов.
    Используется, например, для назначения нескольких креплений одного типа в несколько отверстий с одним ограничением.

Панель Основных Ограничений

Некоторые инструменты на деле представляют собой меню для дополнительных инструментов.
  • Locked: Добавьте ограничение "Locked", чтобы зафиксировать одну или несколько частей.
    Вам нужно выбрать элемент геометрии детали.
    Если вы фиксируете вершину или ребро, деталь по-прежнему может свободно вращаться вокруг вершины или ребра.
    Фиксация грани полностью заблокирует деталь.
  • Plane Alignment: Добавьте ограничение "Plane alignment", чтобы выровнять плоские грани двух или более деталей.
    Грани становятся копланарными или параллельными с возможной дистанцией.
  • Plane Coincidence: Добавьте ограничение "Plane coincidence", чтобы совместить плоские грани двух или более деталей.
    Грани совпадут в своих центрах с возможной дистанцией.
  • Attachment имеет две настройки
    • Attachment: Добавьте ограничение "Attachment", чтобы прикрепить две детали с выбранными элементами геометрии.
      Это ограничение полностью фиксирует детали относительно друг друга.
    • AttachmentOffset: То же, что и ограничение "Attachment", но с сохранением текущего относительного размещения задействованных частей путем установки смещения элемента.
      Это ограничение полностью фиксирует детали относительно друг друга.
  • Axial Alignment: Добавьте ограничение "Axial alignment" для выравнивания ребер/граней двух или более деталей.
    ограничение принимает
    линейные ребра, которые становятся коллинеарными,
    плоские грани, которые выровнены по оси нормали к поверхности,
    и цилиндрическая грань, которые выровнены по осевому направлению.
    Можно смешивать различные типы геометрических элементов.
  • Same orientation: Добавьте ограничение "Same orientation", чтобы выровнять грани двух или более деталей.
    Плоскости выровнены, чтобы иметь одинаковую ориентацию (т.е. вращение)
  • Multi parallel: Добавьте зависимость "Multi parallel", чтобы сделать плоские грани или линейные ребра двух или более деталей параллельными.
  • Angle: Добавьте ограничение "Angle", чтобы задать угол между плоскими гранями или линейными ребрами двух деталей.
  • Perpendicular: Добавьте ограничение "Perpendicular", чтобы сделать плоские грани или линейные ребра двух деталей перпендикулярными.
  • Points coincident: Добавьте ограничение "Point coincident", чтобы совместить две точки в 2D или 3D.
  • Point on plane: Добавьте "Point on plane", чтобы ограничить одну или несколько точек плоскостью.
  • Point on line: Добавьте "Point on line", чтобы ограничить точку линией в 2D или 3D.
  • Point on circle: Добавьте "Point on circle", чтобы ограничить одну или несколько точек цилиндрической поверхностью, заданной окружностью.
    Обратите внимание, что вы должны выбрать точку (любой элемент геометрии может определить точку), а затем выбрать окружность (или цилиндрическую поверхность),
    после чего вы можете добавить дополнительные точки к вашему выбору, если надо.
  • Points distance: Добавьте "Points distance", чтобы ограничить расстояние между двумя или более точками.
  • Point plane distance: Добавьте "Point plane distance", чтобы ограничить расстояние между одной или несколькими точками и плоскостью.
  • Point line distance: Добавьте "Point line distance" чтобы ограничить расстояние между точкой и линейным ребром в 2D или 3D.
  • Symmetric: Добавьте зависимость "Symmetric", чтобы сделать элементы геометрии двух деталей симметричными относительно плоскости.
    Поддерживаемые элементы: линейная кромка и плоская грань.
  • More: Включение дополнительных панелей инструментов ограничений
    На деле не ограничение, а тумблер для отображения/скрытия Additional Constraints Toolbars.

Панель Дополнительных Ограничений

(Assembly3 Constraints2)
(Assembly3 Sketch Constraints)
Их можно включить, нажав кнопку More на панели инструментов «Основные ограничения».
  • Point distance: Добавьте "Point distance", чтобы ограничить расстояние между двумя точками в 2D или 3D.
  • Equal angle: Добавьте "Equal angle", чтобы приравнять углы между двумя линиями или нормалями.
  • Points symmetric: Добавьте ограничение "Points symmetric" чтобы сделать две точки симметричными относительно плоскости.
  • () Symmetric horizontal: Symmetric horizontal
  • () Symmetric vertical: Symmetric vertical
  • Symmetric line: Добавьте ограничение "Symmetric line" чтобы сделать две точки симметричными относительно линии.
  • Points horizontal: Add a "Points horizontal" constraint to make two points horizontal with each other when projected onto a plane.
  • Points vertical: Добавьте ограничение "Points vertical" чтобы сделать две точки горизонтальными относительно друг друга при проецировании на плоскость.
  • Line horizontal: Добавьте ограничение "Line horizontal" чтобы сделать сегмент линии горизонтальным в проекции на плоскость.
  • Line vertical: Добавьте ограничение "Line vertical" чтобы сделать сегмент линии вертикальным при проецировании на плоскость.
  • Arc line tangent: Добавьте зависимость "Arc line tangent" чтобы сделать линию касательной к дуге в начальной или конечной точке дуги.
  • Sketch plane: Добавьте "Sketch plane" (плоскость эскиза), чтобы определить рабочую плоскость любого элемента уклона внутри или после этого ограничения.
    Добавьте пустую "плоскость эскиза", чтобы отменить определение предыдущей рабочей плоскости.
  • Line length: Добавление ограничения "Line length", определяющего длину неразделенного объекта Draft.Wire.
  • Equal length: Добавьте ограничение "Equal length" (равная длина), чтобы сделать две линии одной длины.
  • Length ratio: Добавьте "Length ratio" чтобы ограничить соотношение длины двух линий.
  • Length difference: Добавьте "Length difference" чтобы ограничить по разности длины двух линий.
  • Length Equal Point Line Distance: Добавьте "Length Equal Point Line Distance" для ограничения дистанции
    между точкой и линией той же величиной, что длина другой линии.
  • ( )Equal Line Arc Length: Добавьте ограничение "Equal Line Arc Length", чтобы сделать длину линии равной длине дуги.
  • Mid point: Добавьте ограничение "Mid point" чтобы установить положение точки в середине линии.
  • Diameter: Добавьте "Diameter" чтобы ограничить диаметр окружности/дуги.
  • Equal radius: Добавьте ограничение "Equal radius" чтобы сделать равным радиусы двух окружностей/дуг.
  • Points project distance: Добавьте "Points project distance" чтобы ограничить спроецированное на линию расстояние между точками.
  • Equal point line distance: Добавьте "Equal point line distance" чтобы ограничить дистанцию
    между точкой и линией равной дистанции между другой точкой и линией.
  • Colinear: Добавьте ограничение "Colinear" чтобы сделать две линии коллинеарными.
Панель Ограничений (Constraints tool bars) будет основной панелью, используемой при сборке деталей.
По умолчанию она неактивна, но активируются после выбора хотя бы одной грани, линии или точки детали.
Обычно вы выбираете элементы, которые должны быть объединены, а затем выбираете тип ограничения.
Различные цветные рамки отмечают различные характеристики ограничений:
2D/3D при добавлении более 2 Элементов.
Подробное описание можно найти в вики Gibhub.

Панель Навигации

Эти функции полезны при работе со сборкой с иерархией связанных внешних файлов.

Панель Измерений

Панель измерений добавляет функции для измерения расстояний между двумя объектами.
  • Measure points: Добавьте "Measure points" для измерения расстояния между двумя точками в 2D или 3D.
  • Measure point to line: Добавьте "Measure point to line" для измерения расстояния между точкой и линейным ребром в 2D или 3D.
  • Measure point to plane: Добавьте "Measure point to plane" для измерения угла между точкой и плоскостью.
  • Measure angle: Добавьте "Measure angle" для измерения угла между плоскими гранями или линейными рёбрами двух разных деталей.
Функции измерения радиуса или диаметра нет. .
Инструменты измерения выдерживают замену деталей, например расстояние между краями куба при изменении размера куба.
Поскольку вычисления ограничений выполняются в реальном времени и обновляются при любых изменениях. За кулисами функция очень похожа на ограничения. Расстояние или угол между элементами рассчитывается таким же образом, как и для ограничений. Отображение в дереве работает аналогично.

Как обычно, вы можете изменять панели инструментов и добавлять или удалять отдельные инструменты. Обязательно проверьте меню Assembly3 на наличие функций, которые могут отсутствовать на панели инструментов.

наверх

Ограничения

Проектировщик использует ограничения для достижения желаемого результата для соотношения двух частей. Выбор правильных ограничений, которые лучше всего подходят для решения каждой проблемы - Искусство. Каждая удалённая степень свободы теоретически должна устраняться только один раз между двумя объектами, но на практике со многими инструментами САПР выбранные ограничения создают комбинации избыточных ограничений, порой компенсируемые сложными алгоритмами, а порой нет. Assembly3 действительно использует алгоритмы для выявления и компенсации избыточных ограничений, но очевидно, что они еще не очень развиты. Таким образом, на практике для ограничений Assembly3 можно избежать проблем, зная, сколько степеней свободы (DOF) было использовано, а какие ещё предстоит заблокировать. Никакая часть не должна иметь связи с ограничениями превышающими 6 степеней свободы.

Примечание: Если решатель встречает комбинацию, которую невозможно разрешить, он выдаст ошибку. Решателю сложно выяснить, что вызвало проблему, поэтому, как правило, из данной ошибки не будет ясно, «где» проблема. В крупных сборках это может привести к сложному поиску проблем. К сожалению, нет простого способа избежать этого. Однако это подталкивает полностью осознавать как работает система (например, см. Elements ниже), использовать чёткие имена для всех задействованных компонентов и добавлять новые ограничения лишь когда решатель может разрешить текущую сборку. Очень полезной для отслеживания проблемы является функция «ContexMenu/Deactivate» у каждого ограничения.

Ограничения Assembly3 определяют ограничения в положении или ориентации между двумя элементами. Некоторые ограничения работают даже с более чем двумя Элементами. Элемент может быть гранью, линией, кромкой или точкой детали. Обычно ограничения определяются путем выбора желаемого элемента, а затем выбора ограничения на панели инструментов Constraints.

  • Фиксирует 6 степеней свободы, оставляют 0:
    • Lock: ограничение блокирует все степени свободы грани. Его следует использовать для одной базовой детали в каждой сборке. Вы также можете включить функцию MoveLock (на панели инструментов), чтобы деталь не могла быть перемещена случайно. Обычно не имеет значения, какую грань/линию/точку вы используете для фиксации детали. Также обратите внимание, что блокировка действительна только для прямой сборки, то есть в случае подсборки родительской сборке все равно потребуется заблокированная деталь сама по себе.
    • Attachment: Делает системы координат обоих элементов одинаковыми для всех осей. Это самая простая функция с точки зрения вычислений, и ее следует использовать везде, где это возможно. Обратите внимание, что вы можете использовать свойства элемента для компенсации смещений и углов, если два Элемента не идеально выровнены.
  • Фиксирует 5 степеней свободы, оставляет 1:
    • Plane Coincident: фиксирует Tx, Ty, Tz, Rx, Ry. Только Rz свободен. Остаётся вращение вокруг нормали, проходящей через «центр плоскости».
  • Фиксируют 4 степеней свободы, оставляют 2:
    • Axial Alignment: фиксирует Tx, Ty, Rx, Ry. Только Tz, Rz свободен. Остается вращение вокруг оси формы и перенос вдоль этой же оси. Два ограничения PointOnLine (при различных точках) дают тот же результат. Ограничение '‘Colinear'’ - тоже.
    • PointOnLine: Исключает сдвиг и вращение вдоль нормали к опорной линии. Допускаются только перемещение и вращение по оси линии.
  • Фиксируют 3 степени свободы, оставляют 3:
    • Same Orientation: фиксирует Rx, Rz, Rz. Все Т остаются свободными.
    • Points Coincident: фиксирует Tx, Ty, Tz. Все R остаются свободными.
    • PointOnPoint исключает 3 сдвига.
    • Plane Alignment: фиксирует Tz, Rx, Ry (движение в плоскости). Это исключает смещение по нормали к базовой плоскости и два вращения вокруг осей этой плоскости.
  • Фиксируют 2 степени свободы, оставляют 4:
    • Multi Parallel: фиксирует Rx, Ry, все T и R остаются. Это исключает два вращения вокруг осей базовой плоскости.
  • Фиксируют 1 степень свободы, оставляют 5:
    • Points in Plane: фиксирует Tz. Это исключает смещение по нормали к базовой плоскости.
    • Points Distance: фиксирует расстояние между исходными точками элемента.
      Это дает вам больше свободы, чем Points in Plane.

Другое

  • Points on Circle: фиксирует Tz и частично Tx, Ty. Замораживает перемещение точки (или нескольких точек) в области круга или диска. Вы должны выбрать круг вторым. Это оставляет все вращения свободными и даёт ограниченный сдвиг в базовой плоскости круга.

: Примечание: В следующем списке Tx, Ty, Tz и Rx, Ry, Rz используются для описания перемещений и поворотов относительно опорных систем координат задействованных Элементов. Это не всегда точно или полностью определено, например когда задействована линия, не определяется, проходит ли она по X, Y или под любым углом между ними. Система используется для простоты и легкости сравнения взамен правильного, но более сложного определения. Таким образом, Z обычно является нормальным направлением всех задействованных граней. Пожалуйста, не стесняйтесь изменять это, используя лучший подход с улучшенной читаемостью.

наверх

Элементы

Элементы это особый термин, используемый в верстаке Assembly 3. Понимание Элементов важно для понимания того, как следует использовать Assembly 3.

Полезно думать об элементе как об общем слове, обозначающем «выбираемый элемент» детали, то есть грань, ребро, круг, угол или другую точку. Элементы, которые вы выбираете для их ограничения, являются этими Элементами. В дереве папка Assembly имеет три подпапки. Рядом с 'Parts' и 'Constraints' есть папка 'Elements', которая пуста, пока не добавлены ограничения. При добавлении ограничения само ограничение получает два (или более) листа, это выбранные «Элементы». Также они добавляются в папку «Элементы», которая представляет собой просто список всех элементов, используемых в сборке. Рекомендуется изменить их имена (с помощью клавиши F2), особенно в больших сборках.

Давайте рассмотрим пример

Создайте новый файл и добавьте куб и цилиндр с помощью верстака Part. Установите цилиндр над кубом. Сначала зафиксируйте базовую деталь, в нашем случае куб. Выберите нижнюю сторону куба и установите ограничения "Locked" (первая иконка в Constraints toolbar). Выберите верхнюю сторону цилиндра и верхнюю сторону куба. Затем выберите ограничение "Совпадение плоскостей" ("Plane Coincident"). Теперь цилиндр переместится в куб и в дереве в разделе 'Constraints' ("Ограничения") будет добавлен новый елемент с двумя дочерними узлами. Дополнительно те же самые два дочерних узла будут добавлены в разделе 'Elements' ("Элементы"). Если Ваш цилиндр внутри куба а не сверху, исправим это сначала: выберите дочерний узел в разделе 'Constraints' ("Ограничения"), который является гранью цилиндра, щелкните правой кнопкой мыши и в контекстном меню и выберите 'Flip Part' ("Перевернуть Деталь"). Теперь цилиндр будет установлен на куб.

Главное, что нужно понять, - это то, что ограничение действует на ссылки на элементы в списке в папке дерева 'Elements'. Это позволяет сохранять структуру ограничений без изменений при замене деталей. Это очень сложно увидеть без примера.

Вернемся к примеру выше

Примечание: убедитесь, что вы добавили в куб ограничение "Locked", иначе это может сбивать с толку.
В окне САПР выберите другую грань куба. Теперь мы работаем только в древовидной структуре. Перейдите мышкой по дереву, в котором должен быть выбран куб. Перетащите кубик в папку 'Elements'. Перетащите его на имя 'Elements', а не где-нибудь еще в папке - причину мы увидим позже. Вы должны увидеть, что в список 'Elements' добавлен еще один элемент. Теперь выберите в папке 'Constraints' дочерний узел грани куба в ограничении "Plane Coincident" и удалите его. Ограничение покажет восклицательный знак, так как отсутствует один элемент. Обратите внимание, что, удалив элемент в ограничении, мы не удалили его в списке. Это потому, что в ограничении была только ссылка на элемент в списке. Теперь возьмите только что добавленный элемент в списке 'Elements' и перетащите его на ограничение "Plane Coincident". Теперь цилиндр переместится на другую выбранную грань. Нам может понадобиться снова выбрать в контекстном меню 'flip part', если цилиндр снова окажется внутри куба.

Пример показал, что, не удаляя ограничение, мы можем менять элементы, которые используются для ограничения. Таким же образом мы можем переместить цилиндр в совершенно другую часть. Поигравшись с этим примером еще немного, вы заметите некоторые дополнительные вещи, как

  • Если вы переименуете элемент в списке, имя будет изменено во всех ограничениях.
  • вы можете использовать один элемент в списке в нескольких ограничениях.
  • Вы можете использовать окно свойств элемента, чтобы добавить смещения. В примере это может перемещать цилиндр по грани куба.
  • вы можете использовать кнопку "Show Element Coordinate System" на главной панели инструментов, чтобы увидеть, что делают в контекстном меню 'Flip Part' и 'Flip Element'. Обязательно посмотрите, что происходит в окне свойств.
  • вы можете добавить ограничение в совершенно другом порядке: сначала добавьте несколько элементов в «Список элементов» (полезно наименование, например, «Верхняя грань куба» или «Лицевая грань куба»), затем добавьте ограничение, ничего не выбирая - это будет пустым ограничением. Затем перетащите элементы из списка «Элементы». Результат такой же, как и в первом примере. После выполнения этого упражнения должно быть ясно, как работают ограничения с элементами.
  • вы можете изменить существующее ограничение между существующими элементами, просто выбрав другой элемент в свойстве PropertyWindow/ConstraintType.

наверх

Совместимость

На Assembly3 повлиял Assembly2, но они не совместимы. Если у Вас есть старые модели, созданные в Assembly2, оставайтесь на FreeCAD 0.16 и используйте Assembly2 с ним.

Новые модели, разработанные с помощью Assembly3, следует открывать и редактировать только с помощью этого верстака.

Несмотря на наличие похожих инструментов, Assembly3 не совместим ни с A2plus, ни с Assembly4. Модели, созданные в этих верстаках, должны открываться только своими верстаками.

наверх

Установка

Верстак Assembly3 (по состоянию на март 2022) доступен через Менеджер Дополнений. Любые сторонние зависимости Assembly3 должны разрешаться автоматически Менеджером Дополнений.

Альтернативные установки

Существует два альтернативных способа установки Assembly3:

  • Отдельная ветка FreeCAD, сделанная realthunder; смотри здесь. Эта ветка базируется на конкретной точке главной ветки FreeCAD, но имеет дополнительные возможности, пока не присутствующие в главной ветке. Поскольку эта ветвь базируется на конкретном слепке с процесса разработки, в неё не попали позднейшие возможности, внедрённые позднее в главную ветку.
  • AppImage разрабатываемой версии; она базируется на текущей главной ветке, и включает зависимости, необходимые для работы с Assembly3, такие как решатель SolveSpace.

Поскольку AppImage работает только для Linux, выбором для пользователей Windows (кто хочет установить Assembly3 альтернативным путём) будет лишь первый вариант тестирования Assembly3 (ветка realthunderа).

наверх

Как...

Начать

Есть много способов создать сборку с помощью Assembly3. Вот самый простой из возможных вариантов.

Окончательный результат примера «Начало работы». На изображении выбран верстак Assembly3, поэтому видно несколько его панелей инструментов. Обратите внимание, что вертикальная «TabBar» слева от древовидного представления - это верстак AddOn, который не содержится в стандартном FreeCAD (но может быть установлен с помощью Addon-Manager).

Древовидное представление должно выглядеть так (0.20.pre и Link Branch):

  • Теперь перетащите мышью Cylinder и Cube на папку Parts. Они переместятся внутрь.
    Это самый быстрый способ, подходящий для простых случаев вроде этого. Лучше использовать объект link:
    Выбрать Cube и Cylinder и затем Make link или через Context menu (-> LinkActions -> MakeLink) или через панель Structure.
    Это добавляет два объекта ссылок. Затем перетащите объекты ссылок в папку Parts.
  • Щелкните по обеим верхним поверхностям цилиндра и куба (удерживая Ctrl, или Cmd на Mac)
  • Выберите верстак Assembly3.
  • Выберите Plane Coincidence из Main constraints toolbar.

Теперь части должны быть соединены друг с другом, и ваше дерево должно выглядеть примерно так (0.20.pre и Link Branch):

  • Щелкните правой кнопкой мыши _Element (любой из двух) и выберите "Flip Part".


  • Теперь цилиндр должен быть наверху коробки. Если перевёрнуто всё, вернитесь и выберите "Flip Part" на другом элементе.
Мы пропустили один важный шаг, который должен выполняться в больших сборках: блокировка базовой детали.
Это означает, что нужно определить одну деталь, которую нельзя будет перемещать по ограничениям. В вашем случае для этого мы используем куб:

Готово.

Готовое дерево сборки должно выглядеть примерно как (0.20.pre и Link Branch):

:

Если хотите, можете переместить ограничение Locked вверх по дереву. Для этого используйте кнопку Move item up на главной панели инструментов.

Заметьте: все новые внешние файлы должны быть сохранены, закрыты и повторно открыты как минимум один раз, чтобы Assembly3 могла их найти.

Без этого FreeCAD не сможет передать дескриптор файла верстаку Assembly3 и он не сможет найти новую деталь.
Когда все части находятся в том же файле, вы тоже должны сохранить, закрыть и снова открыть файл.

наверх

Добавить смещение

Assembly3 не предлагает смещение с константами, как это делают верстак A2plus или другие инструменты САПР. Вместо этого он предлагает более общую и гибкую систему для добавления сдвигов, а также углов.

  • Добавьте смещение в свойствах одного Elements из Constraint.
    вы можете выбрать любой из двух.

Пример:

  • Добавьте 2 куба в сборку и выберите их боковые грани.
  • выберите "PlaneCoincident". Кубики будут прикреплены друг к другу.
  • выберите один элемент и «Контекстное меню → Flip Part». Кубики будут прикреплены бок о бок.
  • выберите одно свойство элемента Offset/Position/Zz и установите значение 5 мм. Кубики будут находиться на расстоянии 5 мм друг от друга.
  • Проверьте с другими осями или полями углов/осей. Также убедитесь, что вы получаете тот же результат при использовании другого элемента.

Для других Ограничений применяется аналогичный подход.

наверх

Устранить сбой решателя

Это часто случается, когда детали чрезмерно ограничены, т.е. заблокировано более 6 степеней свободы.

Самый простой способ найти проблему - щелкнуть соответствующие ограничения в дереве и выбрать в контекстном меню Disable и произвести повторный расчёт. Полезно узнать последние добавленные ограничения перед отказом решателя и просто отменить их.

Примечание: поскольку Assembly3 пытается за кулисами скомпенсировать чрезмерно ограниченные части, иногда проблема просто запускается новым ограничением, но основная причина в другом. Прежде чем удалить все и начать заново, помните, что вы можете повторно использовать элементы. Если вы назвали их, вы можете определить необходимые элементы и заново построить ограничения, вообще не используя трехмерный вид. Смотрите раздел Элементы выше.

наверх

Заменить деталь или переименовать файл

Когда деталь удаляется или изменяется имя файла, сборка ломается, ее нельзя решить, и решатель выдаст сообщение "Inconsistent constraints" («Несогласованные ограничения»). Решатель помечает недопустимые элементы и ограничения в дереве знаком вопроса.

Один из способов решить эту проблему - просто удалить все недопустимые ограничения и элементы, импортировать новую часть и все повторить. Но есть способ лучше:

  • Переименуйте файл
    1. Используя файловый менеджер скопируйте файл, который хотите переименовать. Затем дайте копии новое имя.
    2. Откройте копию в FreeCAD. Сборка и старый файл тоже должны быть открыты
    3. Выберите старый объект в дереве и нажмите на поле для изменения свойства "Linked object" («Связанный объект») (оно должно содержать старое имя файла)
    4. Откроется диалоговое окно со списком всех открытых деталей. Он показывает имена файлов и объекты каждой детали. Выберите старую деталь и объект. Найдите переименованную деталь в дереве и выберите тот же объект в новой детали. Затем подтвердите выбор.
    5. Удалить старую деталь в дереве. Также можно удалить и файл.
    6. Ограничения и элементы старой детали стали недействительными. Откройте ограничения или список элементов в дереве. Затем последовательно
      • выберите грани каждого элемента на новой детали. Элемент в дереве будет выделен.
      • Возьмите этот элемент и перетащите его на старый элемент (либо в списке элементов, либо в одном из ограничений, где он использовался). Этот элемент должен стать действительным.
      • Повторите процедуру для остальных элементов. Часто одного элемента достаточно, чтобы Assembly3 могла автоматически идентифицировать остальные элементы детали.
      • Если элемент был случайно назначен не той поверхности, просто повторите с правильной гранью.
    7. При желании измените имя объекта в FreeCAD
  • Замена детали другой деталью
    на достаточно похожую деталь, чтобы исходные ограничения, конечно, все еще имели смысл
    1. Удалите старую деталь в дереве. Также можно удалить файл.
    2. Ограничения и элементы старой детали стали недействительными. Откройте ограничение или список элементов в дереве.
      • Выберите грань элемента новой детали. Элемент в дереве будет выделен.
      • Возьмите этот элемент и перетащите его на старый элемент (либо в списке элементов, либо в одном из ограничений, где он использовался). Этот элемент должен стать действительным.
      • Повторите процедуру для остальных элементов.
      • Если элемент был случайно назначен не той поверхности, просто повторите с правильной гранью.
    3. При желании измените имя объекта в FreeCAD

Примечания

  • Эти способы не такие сложные, как могут показаться. Через 2–3 применения они станут гармоничнее и станут легче в применении.
  • Это не только быстрее, чем удаление и повторное выполнение ограничений, но и безопаснее, потому что элемент может быть использован в родительской сборке. Удаление оригинала уничтожит эту ссылку, повторная установка сохранит ее.
  • Также эта процедура становится действительно быстрой и простой, если ограничения и элементы имеют названия. Не нужно гадать, куда следует перетащить грани, потому что названия говорят сами за себя (см. Советы и хитрости).

наверх

Советы и хитрости

  • Использование иерархических сборок помогает избежать проблем с решателем и позволяет сохранить плавность моделирования. Вы можете заморозить подсистему одним щелчком мыши и сэкономите ресурсы процессора (используйте контекстное меню в дереве). При загрузке сборки Assembly3 не нужно открывать внешние файлы для замороженных подсистем, что сохраняет компактность дерева.
  • Очень полезно выработать привычку именовать элементы и ограничения. Используйте клавишу F2, чтобы это делать быстро в дереве. Инструменты сортировки дерева в основной панели инструментов будут очень полезными. Сборка с полностью именованными ограничениями и элементами очень проста в понимании для других людей или для самого себя, по сравнению с предыдущими файлами.
    Примерами имен ограничений для стола могут быть "Align_FrontLegs", "Align_FrameBottom-LegTops", а именами элементов - "Leg1_Top" или "TableTop_Front", "TableTop_Left".
  • Пожалуйста, обратите внимание, что после того, как внешние файлы открыты сборкой, их нелегко закрыть снова, не закрыв сборку. Так как сборка сохраняет открытыми эти файлы в обратном порядке, вкладка может исчезнуть, но файл останется видимым в дереве. При наличии нескольких слоев подсистем закрытие отдельных файлов становится близким к невозможности. Такое поведение может измениться, но до тех пор возможным подходом может быть регулярное использование команд Файл/Сохранить все и Файл/Закрыть все для очистки дерева перед работой с другой подсистемой.
    Пример: рассмотрим, что у вас есть большой станок с ЧПУ с основной сборкой и подразделом для каждого модуля. После того, как у вас открыта основная сборка, она может открыть буквально сотни файлов вплоть до одного шарикоподшипника. Перед работой над подразделом корпуса электроники станка хорошо сохранить и закрыть все файлы, чтобы получить пустое дерево. Затем откройте только подраздел корпуса электроники. При этом откроются все нужные файлы, и только они.
  • Использование внешних файлов облегчает повторное использование частей или версионирование частей с такими системами, как git или Subversion. Рабочий процесс во FreeCAD с Assembly чувствуется точно так же, как и с файлами, в которых все части находятся в одном файле. Для частого обмена файлами с другими сторонами более удобным может оказаться использование отдельных файлов.
  • Детали с множественными связями. Если вы добавите ссылку в сборку, то она будет иметь значение свойства под названием "Element Count", по умолчанию 0. Если вы установите это значение в 3, то получите 3 экземпляра этой части. Они будут добавлены в подпапку и могут быть использованы как полностью разделяемые части. Используйте эту возможность, чтобы сохранить данные в файле на низком уровне, т.к. часть сохраняется только один раз. Каждый экземпляр содержит только различия.
  • Вставьте несколько деталей, например, Винты, одним кликом. Проверьте Assembly3 Wiki на сайте Github. Это не только потрясающая функция (даже немножко волшебная), но и действительно очень полезная.
  • Использование верстак TabBar ускоряет работу со сборкой. Это добавляет панель инструментов с одной кнопкой для каждого рабочего места. Вы можете отсортировать панель инструментов и разместить ее где угодно. Многие люди помещают его вертикально слева, рядом с деревом. Если у вас есть Assembly3, Part, PartDesign и другие часто используемые рабочие места, расположенные ближе к верху, переключение между ними становится чрезвычайно простым.

наверх

Ссылки