Assembly3 Workbench/ru: Difference between revisions

From FreeCAD Documentation
No edit summary
(Created page with "''Примечания<br> * Эти способы не такие сложные, как могут показаться. Через 2–3 применения они ста...")
(5 intermediate revisions by the same user not shown)
Line 233: Line 233:
* выберите одно свойство элемента Offset/Position/Zz и установите значение 5 мм. Кубики будут находиться на расстоянии 5 мм друг от друга.
* выберите одно свойство элемента Offset/Position/Zz и установите значение 5 мм. Кубики будут находиться на расстоянии 5 мм друг от друга.
:* Проверьте с другими осями или полями углов/осей. Также убедитесь, что вы получаете тот же результат при использовании другого элемента.
:* Проверьте с другими осями или полями углов/осей. Также убедитесь, что вы получаете тот же результат при использовании другого элемента.
Для других Ограничений применяется аналогичный подход.
Это тот же подход для всех других ограничений.


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


=== Замена детали или переименование имени файла ===
=== Replace a part or rename a filename ===
Когда деталь удаляется или изменяется имя файла, сборка ломается, ее нельзя решить, и решатель выдаст сообщение "Inconsistent constraints" («Несогласованные ограничения»). Решатель помечает недопустимые элементы и ограничения в дереве знаком вопроса.
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.


Один из способов решить эту проблему - просто удалить все недопустимые ограничения и элементы, импортировать новую часть и все повторить. Но есть способ лучше:
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.
* # Откройте копию в FreeCAD. Сборка и старый файл тоже должны быть открыты
*# Open the copy in FreeCAD. The assembly and the old file should also be open
* # Выберите старый объект в дереве и нажмите на поле для изменения свойства "Linked object" («Связанный объект») (оно должно содержать старое имя файла)
*# 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.
* # * Повторите процедуру для остальных элементов. Часто одного элемента достаточно, чтобы Assembly3 могла автоматически идентифицировать остальные элементы детали.
*#* 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.
* # При желании измените имя объекта в FreeCAD
*# Change the object name in FreeCAD, if desired




* Замена детали другой деталью
* 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




''Notes<br>
''Примечания<br>
* Эти способы не такие сложные, как могут показаться. Через 2–3 применения они станут гармоничнее и станут легче в применении.
* 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.
* Также эта процедура становится действительно быстрой и простой, если ограничения и элементы имеют названия. Не нужно гадать, куда следует перетащить грани, потому что названия говорят сами за себя (см. [[#Tips & Tricks|Tips & Tricks]]).
* 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]]).
''
''



Revision as of 05:00, 21 January 2021

Введение

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

Основные особенности Assembly3 Workbench:

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

наверх

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

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


Main Toolbar
Основная панель инструментов содержит инструменты, которые охватывают наиболее часто используемые функции верстака. С помощью подсказок можно узнать о клавиатурных сокращениях.
  • Добавить папку сборки
  • Группировать объекты
  • Создать ссылку. Это также доступно в контекстном меню
  • Импорт STEP-файлов
  • Устранить ограничения
  • Быстрое устранение ограничений
  • Инструмент1 для перемещения деталей в 3D, это специфично для Assembly3
  • Инструмент2 для перемещения деталей в 3D, это классический инструмент, доступный в другом месте FreeCAD.
  • Быстрое перемещение. При этом выделенная в дереве часть будет прикреплена к курсору мыши. Она изменит положение детали при щелчке мышью.
    Часто добавляемые части накладываются друг на друга в начале координат. Используйте эту функцию, чтобы захватить деталь, которую вы не видите.
  • Блокировка перемещения зафиксированных частей. Кнопка переключения. Когда эта кнопка не нажата, можно перемещать части, которые имеют ограничение "Locked".
  • Переключатель видимости. Переключает видимость вкл/выкл. выделенной части.
    Обратите внимание, что здесь отличается использование пробела. Использование пробела для выделенных элементов из подразделов в 3D-виде часто ведет себя не так, как ожидалось. Используйте эту функцию в этих случаях (или сочетание A-Space).
  • Отслеживание перемещения части (TBD)
  • Автоматический пересчет. Обычно включено.
    Может быть не включено при ремонте ограничений или исправлении деталей, когда решатель выдает сообщение "не сходятся" (например, поворачивая деталь на 180 градусов).
  • Умный-Пересчёт. Обычно включено.
  • Автоматическое исправление элементов. Экспериментальная возможность в 0.19_pre
  • Стиль элемента. Имеет две настройки
    • Автоматическая видимость элемента.
    • Показать систему координат элемента.
  • Команды рабочей плоскости. Добавляет рабочую плоскость, размещение или начало координат. Деталь должна быть выбрана.
    • добавить рабочую область
    • добавить XZ область
    • Добавить YZ область
    • добавить Размещение
    • добавить Начало координат
  • Переместить выбранный элемент дерева вверх
  • Переместите выбранный элемент дерева вниз
    Позволяет сортировать Детали, Элементы или Ограничения в дереве. Элемент сворачивается (сверху вниз и наоборот). Работает только при единичном выборе.
  • Множественное Ограничение. Это может быть выбрано, если присутствует несколько частей и подходящих Элементов. Используется, например, для назначения нескольких креплений одного типа в несколько отверстий с одним ограничением.


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


Navigation Toolbar
Эти функции полезны при работе со сборкой с иерархией связанных внешних файлов.
* Выберите соответствующий объект детали в группе отношений
* Выберите связанный объект
* Выберите объект с самыми глубокими ссылками


Measurement Toolbar
Панель Измерения (Measurement toolbar) добавляет функции для измерения расстояний между двумя точками, точкой и линией или точкой и гранью. Инструмент 'Measure Angle' отслеживает угол между двумя гранями или линиями. Нет функции измерения радиуса или диаметра.
Инструменты измерения выдерживают замену деталей, например расстояние между краями куба при изменении размера куба. Поскольку вычисления ограничений выполняются в реальном времени и обновляются при любых изменениях. За кулисами функция очень похожа на ограничения. Расстояние или угол между элементами рассчитывается таким же образом, как и для ограничений. Отображение в дереве работает аналогично.


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

наверх

Ограничения

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

Примечание: Если решатель встречает комбинацию, которую невозможно разрешить, он выдаст ошибку. Решателю сложно выяснить, что вызвало проблему, поэтому, как правило, из данной ошибки не будет ясно, «где» проблема. В крупных сборках это может привести к сложному поиску проблем. К сожалению, нет простого способа избежать этого. Однако это подталкивает полностью осознавать как работает система (например, см. 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. Движение в плоскости и Rz. Это исключает смещение по нормали к базовой плоскости и два вращения вокруг осей этой плоскости.
  • Фиксируют 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 ещё в стадии проектирования и пока (апрель 2020) не доступен через Addon Manager, но ожидается, что в какой-то момент это произойдёт.

Вы можете попробовать его двумя способами:

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

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

наверх

HowTo

Начать

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

Окончательный результат примера «Начало работы». На изображении выбран верстак Assembly3, поэтому видно несколько его панелей инструментов. Обратите внимание, что вертикальная «TabBar» слева от древовидного представления - это верстак AddOn, который не содержится в стандартном FreeCAD (но может быть установлен с помощью Addon-Manager).
  • Создайте новый файл FreeCAD
  • Выберите Assembly Workbench. Выберите CreateAssembly (первый значок)
  • Выберите Part Workbench и добавьте цилиндр и куб
  • Сохраните файл с любым именем, которое вам нравится. Закройте и откройте файл.
    Древовидное представление должно выглядеть так
Assembly
   Constraints
   Elements
   Parts
 Cylinder
 Cube
  • Теперь перетащите мышью Cylinder и Cube на папку Parts. Они переместятся внутрь.
    Это самый быстрый способ. Обратите внимание, что лучший способ - открыть контекстное меню на обоих и выбрать LinkActions → MakeLink. Это добавляет два файла ссылок. Затем перетащите файлы ссылок в папку Parts. Для таких простых случаев это не имеет значения.
  • Щелкните по обеим верхним поверхностям цилиндра и куба (удерживая Ctrl)
  • Выберите верстак Assembly. Выберите "PlaceCoincident" из панели инструментов ограничений.
    Теперь части должны быть соединены друг с другом, и ваше дерево должно выглядеть так
Assembly
   Constraints
      PlaneConicident
        _Element
        _Element001
   Elements
        _Element
        _Element001
   Parts
      Cylinder
      Cube
  • Щелкните правой кнопкой мыши «_Element» (любой из двух) и выберите "Flip Part".
    Теперь цилиндр должен быть наверху коробки. Если перевёрнуто всё, вернитесь и выберите "Flip Part" на другом элементе.

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

  • Выберите нижнюю грань куба. Только нижняя грань, а не весь куб.
  • выберите ограничение "Locked" на панели инструментов ограничения
    Готовое дерево сборки должно выглядеть как на изображении выше

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

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

наверх

Добавление смещения

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

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

Пример:

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

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

наверх

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

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

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

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

наверх

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

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

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

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


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


Примечания

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

top

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

  • Использование иерархических сборок помогает избежать проблем с решателем и позволяет сохранить плавность моделирования. Вы можете заморозить подсистему одним щелчком мыши и сэкономите ресурсы процессора (используйте контекстное меню в дереве). При загрузке сборки 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 и другие часто используемые рабочие места, расположенные ближе к верху, переключение между ними становится чрезвычайно простым.


наверх

Ссылки