Manual:Modeling for product design/ru: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
(30 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Manual:TOC/ru}}


<div class="mw-translate-fuzzy">
{{Docnav/ru
|[[Manual:Traditional 2D drafting/ru|Traditional 2D drafting]]
|[[Manual:Preparing models for 3D printing/ru|Preparing models for 3D printing]]
|[[Manual:Introduction/ru|Manual start]]
|IconC=Crystal Clear manual.png}}
</div>

{{Manual:TOC/ru}}


[https://en.wikipedia.org/wiki/Product_design Проектирование продукта] изначально было коммерческим термином, но в мире 3D это обычно означает моделирование чего-то, что будет напечатано с помощью [https://ru.wikipedia.org/wiki/3D_принтер 3D-принтера], или, в более общем случае, произведено с помощью машины, будь это объёмный принтера или [https://ru.wikipedia.org/wiki/Числовое_программное_управление станок с ЧПУ].
[https://en.wikipedia.org/wiki/Product_design Проектирование продукта] изначально было коммерческим термином, но в мире 3D это обычно означает моделирование чего-то, что будет напечатано с помощью [https://ru.wikipedia.org/wiki/3D_принтер 3D-принтера], или, в более общем случае, произведено с помощью машины, будь это объёмный принтера или [https://ru.wikipedia.org/wiki/Числовое_программное_управление станок с ЧПУ].
Line 13: Line 21:
В элементах Лего хорошо то, что их размеры, как минимум для стандартных, легко узнать в Интернет. Их достаточно легко моделировать и печатать в объёме, и при некотором терпении (объёмная печать требует много настройки) Вы сможете сделать элементы, которые полностью совместимы и идеально присоединяются к оригинальным блокам Лего. В показанном ниже примере мы делаем элемент в 1,5 раз больше оригинала.
В элементах Лего хорошо то, что их размеры, как минимум для стандартных, легко узнать в Интернет. Их достаточно легко моделировать и печатать в объёме, и при некотором терпении (объёмная печать требует много настройки) Вы сможете сделать элементы, которые полностью совместимы и идеально присоединяются к оригинальным блокам Лего. В показанном ниже примере мы делаем элемент в 1,5 раз больше оригинала.


Мы будем использовать только инструменты модулей [[Sketcher_Module/ru|Sketcher]] и [[PartDesign_Workbench/ru|PartDesign]]. Поскольку все инструменты верстака Sketcher включены в верстак PartDesign, мы можем оставаться в PartDesign и не нуждаться в переключении между верстаками.
Мы будем использовать только инструменты модулей [[Sketcher_Workbench/ru|Sketcher]] и [[PartDesign_Workbench/ru|PartDesign]]. Поскольку все инструменты верстака Sketcher включены в верстак PartDesign, мы можем оставаться в PartDesign и не нуждаться в переключении между верстаками.


Объекты PartDesign полностью базируются на '''Эскизах'''. Эскизы это двумерные объекты, составленные из линейных сегментов (линий, дуг или эллипсов) и геометрических ограничений. Эти ограничения могут быть применены либо к линейным сегментам или их конечным точкам или центральным точкам, и заставляют геометрию следовать некоторым правилам. Например, Вы можете поместить вертикальные ограничения к сегменту линии, чтобы заставить его быть вертикальным, или установить для конечных точек ограничения позиции, чтобы запретить перемещение. Когда эскиз содержит такой набор ограничений, что никакие точки эскиза не могут быть сдвинуты, говорят о полностью ограниченном эскизе. Когда есть излишние ограничения, которые могут быть убраны без позволения изменений геометрии, он называется переограниченным. Этого следует избегать, и FreeCAD в этом случае сделает предупреждение.
Объекты PartDesign полностью базируются на '''Эскизах'''. Эскизы это двумерные объекты, составленные из линейных сегментов (линий, дуг или эллипсов) и геометрических ограничений. Эти ограничения могут быть применены либо к линейным сегментам или их конечным точкам или центральным точкам, и заставляют геометрию следовать некоторым правилам. Например, Вы можете поместить вертикальные ограничения к сегменту линии, чтобы заставить его быть вертикальным, или установить для конечных точек ограничения позиции, чтобы запретить перемещение. Когда эскиз содержит такой набор ограничений, что никакие точки эскиза не могут быть сдвинуты, говорят о полностью ограниченном эскизе. Когда есть излишние ограничения, которые могут быть убраны без позволения изменений геометрии, он называется переограниченным. Этого следует избегать, и FreeCAD в этом случае сделает предупреждение.


Эскизы имеют режим редактирования, где их геометрия и ограничения могут быть изменены. Когда Вы завершили редактирование, эскизы ведут себя как остальные объекты FreeCAD, и могут использоваться как строительные блоки для всех инструментов PartDesign и для других верстаков, вроде [[Part_Module/ru|Part]] или [[Arch_Module/ru|Arch]]. [[Draft_Module/ru|Верстак Draft]] так же содержит инструменты, которые преобразуют объекты Draft в объекты Sketch и наоборот.
Эскизы имеют режим редактирования, где их геометрия и ограничения могут быть изменены. Когда Вы завершили редактирование, эскизы ведут себя как остальные объекты FreeCAD, и могут использоваться как строительные блоки для всех инструментов PartDesign и для других верстаков, вроде [[Part_Workbench/ru|Part]] или [[Arch_Workbench/ru|Arch]]. [[Draft_Workbench/ru|Верстак Draft]] так же содержит инструменты, которые преобразуют объекты Draft в объекты Sketch и наоборот.


* Начнём с моделирования палаллелепипеда, который станет базой для нашего кубика Lego. Далее мы вырежем внутренности, и добавим 8 точек сверху. Поэтому начнём с создания прямоугольного эскиза, который мы потом выдавим:
* Начнём с моделирования палаллелепипеда, который станет базой для нашего кубика Lego. Далее мы вырежем внутренности, и добавим 8 точек сверху. Поэтому начнём с создания прямоугольного эскиза, который мы потом выдавим:
* Переключимся на [[PartDesign Workbench/ru|верстак PartDesign]]
* Переключимся на [[PartDesign Workbench/ru|верстак PartDesign]]
* Кликнем на кнопке [[Image:Sketcher_NewSketch.png|16px]] [[Sketcher_NewSketch/ru|Создать эскиз]]. Появится диалог, спрашивающий, как расположить эскиз, выберем плоскость '''XY''', плоскость "вида сверху". Эскиз будет создан и переключён в режим редактирования, а вид будет повёрнут так, чтобы видеть эскиз сверху.
* Кликнем на кнопке [[Image:Sketcher_NewSketch.svg|16px]] [[Sketcher_NewSketch/ru|Создать эскиз]]. Появится диалог, спрашивающий, как расположить эскиз, выберем плоскость '''XY''', плоскость "вида сверху". Эскиз будет создан и переключён в режим редактирования, а вид будет повёрнут так, чтобы видеть эскиз сверху.
* Теперь нарисуем прямоугольник, выбрав инструмент [[Image:Sketcher_CreateRectangle.png|16px]] [[Sketcher_Rectangle/ru|Создать прямоугольник]] и кликнув две угловые точки. Можете поместить их где угодно, поскольку правильное положение будет установлено на следующем шаге.
* Теперь нарисуем прямоугольник, выбрав инструмент [[Image:Sketcher_CreateRectangle.svg|16px]] [[Sketcher_CreateRectangle/ru|Создать прямоугольник]] и кликнув две угловые точки. Можете поместить их где угодно, поскольку правильное положение будет установлено на следующем шаге.
* Вы увидите, что прямоугольнику сразу будет добавлено множество геометрических ограничений: вертикальные сегменты получат вертикальные ограничения, горизонтальные - горизонтальные ограничения, а каждый угол - ограничение коинцидентности, соединяющее сегменты вместе. Вы можете на пробу подвигать прямоугольник, перетаскивая его линии мышью, и вся геометрия останется соответствующей ограничениям.
* Вы увидите, что прямоугольнику сразу будет добавлено множество геометрических ограничений: вертикальные сегменты получат вертикальные ограничения, горизонтальные - горизонтальные ограничения, а каждый угол - ограничение коинцидентности, соединяющее сегменты вместе. Вы можете на пробу подвигать прямоугольник, перетаскивая его линии мышью, и вся геометрия останется соответствующей ограничениям.


Line 28: Line 36:


* Теперь добавим ещё три ограничения:
* Теперь добавим ещё три ограничения:
** Выберите один из вертикальных сегментов и добавьте [[Image:Constraint_VerticalDistance.png|16px]] [[Sketcher ConstrainDistanceY/ru|Ограничение расстояния по вертикали]]. Установите размер 23,7 мм.
** Выберите один из вертикальных сегментов и добавьте [[Image:Constraint_VerticalDistance.svg|16px]] [[Sketcher ConstrainDistanceY/ru|Ограничение расстояния по вертикали]]. Установите размер 23,7 мм.
** Выберите один из горизонтальных сегментов и добавьте [[Image:Constraint_HorizontalDistance.png|16px]] [[Sketcher ConstrainDistanceX/ru|Ограничение расстояния по горизонтали]]. Установите его в 47,7 мм.
** Выберите один из горизонтальных сегментов и добавьте [[Image:Constraint_HorizontalDistance.svg|16px]] [[Sketcher ConstrainDistanceX/ru|Ограничение расстояния по горизонтали]]. Установите его в 47,7 мм.
** Затем выберите одну из угловых точек и начальную точку (это точка на пересечении красной и зелёной оси), и добавьте [[Image:Constraint_PointOnPoint.png|16px]] [[Sketcher ConstrainCoincident/ru|Ограничение коинцидентности]]. Прямоугольник переместится к начальной точке привязки, и эскиз станет зелёным, означая, что он он полностью ограничен. Попробуйте перемещать линии или точки, ничего больше не сдвинется.
** Затем выберите одну из угловых точек и начальную точку (это точка на пересечении красной и зелёной оси), и добавьте [[Image:Constraint_PointOnPoint.svg|16px]] [[Sketcher ConstrainCoincident/ru|Ограничение коинцидентности]]. Прямоугольник переместится к начальной точке привязки, и эскиз станет зелёным, означая, что он он полностью ограничен. Попробуйте перемещать линии или точки, ничего больше не сдвинется.


[[Image:Exercise_lego_03.jpg]]
[[Image:Exercise_lego_03.jpg]]
Line 37: Line 45:


* Наш базовый эскиз теперь готов, мы можем закончить редактирование нажатием кнопки '''Закрыть''' на панели задач, или просто нажатием кнопки '''Escape'''. Если нужно, в любое время можно вернуться в режим редактирования двойным кликом на эскизе в древе проекта.
* Наш базовый эскиз теперь готов, мы можем закончить редактирование нажатием кнопки '''Закрыть''' на панели задач, или просто нажатием кнопки '''Escape'''. Если нужно, в любое время можно вернуться в режим редактирования двойным кликом на эскизе в древе проекта.
* Применим к эскизу инструмент [[Image:PartDesign_Pad.png|16px]] [[PartDesign_Pad/ru|Выдавливание]], и зададим расстояние 14,4 мм. Прочие опции можно оставить по умолчанию:
* Применим к эскизу инструмент [[Image:PartDesign_Pad.svg|16px]] [[PartDesign_Pad/ru|Выдавливание]], и зададим расстояние 14,4 мм. Прочие опции можно оставить по умолчанию:


[[Image:Exercise_lego_04.jpg]]
[[Image:Exercise_lego_04.jpg]]
Line 43: Line 51:
'''Выдавливание''' в PartDesign действует похоже на инструмент [[Part Extrude/ru|Extrude]], который мы использовали в предыдущей главе, но есть много отличий. Главное из них, что это выдавливание не может быть передвинуто, оно навсегда привязано к эскизу. Если Вы хотите изменить положение выдавливания, Вам следует перемещать эскиз. В текущем контексте, где мы хотим гарантировать, что ничего не уйдет со своего места, это добавляет защиту.
'''Выдавливание''' в PartDesign действует похоже на инструмент [[Part Extrude/ru|Extrude]], который мы использовали в предыдущей главе, но есть много отличий. Главное из них, что это выдавливание не может быть передвинуто, оно навсегда привязано к эскизу. Если Вы хотите изменить положение выдавливания, Вам следует перемещать эскиз. В текущем контексте, где мы хотим гарантировать, что ничего не уйдет со своего места, это добавляет защиту.


* Мы будем теперь делать вырез внутри блока, используя инструмент [[Image:PartDesign_Pocket.png|16px]] [[PartDesign_Pocket/ru|карман]], версия инструмента [[Part Cut/ru|Обрезать]]. Чтобы сделать выемку, мы сделаем эскиз внизу нашего блока, который будет использовать для удаления части блока.
* Мы будем теперь делать вырез внутри блока, используя инструмент [[Image:PartDesign_Pocket.svg|16px]] [[PartDesign_Pocket/ru|карман]], версия инструмента [[Part Cut/ru|Обрезать]]. Чтобы сделать выемку, мы сделаем эскиз внизу нашего блока, который будет использовать для удаления части блока.
* При выбранной нижней гранью нажмите кнопку [[Image:Sketcher_NewSketch.png|16px]] [[Sketcher_NewSketch/ru|Создать эскиз]].
* При выбранной нижней гранью нажмите кнопку [[Image:Sketcher_NewSketch.svg|16px]] [[Sketcher_NewSketch/ru|Создать эскиз]].
* Рисуем в этом эскизе прямоугольник
* Рисуем в этом эскизе прямоугольник


[[Image:Exercise_lego_05.jpg]]
[[Image:Exercise_lego_05.jpg]]


* Теперь мы ограничим прямоугольник относительно нижней грани. Для этого нам нужно "импортировать" некоторые грани поверхности с помощью инструмента [[Image:Sketcher_External.png|16px]] [[Sketcher_External/ru|External geometry]]. Примените этот инструмент к двум вертикальным линиям на нижней поверхности:
* Теперь мы ограничим прямоугольник относительно нижней грани. Для этого нам нужно "импортировать" некоторые грани поверхности с помощью инструмента [[Image:Sketcher_External.svg|16px]] [[Sketcher_External/ru|External geometry]]. Примените этот инструмент к двум вертикальным линиям на нижней поверхности:


[[Image:Exercise_lego_06.jpg]]
[[Image:Exercise_lego_06.jpg]]


Вы заметите, что этим инструментом могут быть добавлены только рёбра с базовой поверхности. Когда Вы создаёте эскиз с выбранной поверхностью, создается связь между ними, которая важна для дальнейших операций. Вы всегда можете позднее пересоединить эскиз к другой поверхности инструментом [[Image:Sketcher_MapSketch.png|16px]] [[Sketcher_MapSketch/ru|Разместить эскиз на грани]].
Вы заметите, что этим инструментом могут быть добавлены только рёбра с базовой поверхности. Когда Вы создаёте эскиз с выбранной поверхностью, создается связь между ними, которая важна для дальнейших операций. Вы всегда можете позднее пересоединить эскиз к другой поверхности инструментом [[Image:Sketcher_MapSketch.svg|16px]] [[Sketcher_MapSketch/ru|Разместить эскиз на грани]].


* Внешняя геометрия не "реальна", она пропадёт при выходе из режима редактирования. Но её можно использовать для наложения ограничений. Установите следующие 4 ограничения:
* Внешняя геометрия не "реальна", она пропадёт при выходе из режима редактирования. Но её можно использовать для наложения ограничений. Установите следующие 4 ограничения:
** Выделите верхнюю левую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_HorizontalDistance.png|16px]] [[Sketcher ConstrainDistanceX/ru|Ограничение расстояния по горизонтали]] равным 1,8 мм
** Выделите верхнюю левую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_HorizontalDistance.svg|16px]] [[Sketcher ConstrainDistanceX/ru|Ограничение расстояния по горизонтали]] равным 1,8 мм
** Снова выделите верхнюю левую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_VerticalDistance.png|16px]] [[Sketcher ConstrainDistanceY/ru|Ограничение расстояния по вертикали]] равным 1,8 мм
** Снова выделите верхнюю левую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_VerticalDistance.svg|16px]] [[Sketcher ConstrainDistanceY/ru|Ограничение расстояния по вертикали]] равным 1,8 мм
** Выделите нижнюю правую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_HorizontalDistance.png|16px]] [[Sketcher ConstrainDistanceX/ru|Ограничение расстояния по горизонтали]] равным 1,8 мм
** Выделите нижнюю правую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_HorizontalDistance.svg|16px]] [[Sketcher ConstrainDistanceX/ru|Ограничение расстояния по горизонтали]] равным 1,8 мм
** Снова выделите нижнюю правую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_VerticalDistance.png|16px]] [[Sketcher ConstrainDistanceY/ru|Ограничение расстояния по вертикали]] равным 1,8 мм
** Снова выделите нижнюю правую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_VerticalDistance.svg|16px]] [[Sketcher ConstrainDistanceY/ru|Ограничение расстояния по вертикали]] равным 1,8 мм


[[Image:Exercise_lego_07.jpg]]
[[Image:Exercise_lego_07.jpg]]


* Покинув режим редактирования, мы теперь можем выполнить операцию создания кармана. С выделенным эскизом нажимаем кнопку [[Image:PartDesign_Pocket.png|16px]] [[PartDesign_Pocket/ru|Карман]]. Задаём длину 12,6 мм, что оставит толщину верхней поверхности нашей детали в 1,8 мм (вспоминаем, что общая высота нашей детали 14,4 мм).
* Покинув режим редактирования, мы теперь можем выполнить операцию создания кармана. С выделенным эскизом нажимаем кнопку [[Image:PartDesign_Pocket.svg|16px]] [[PartDesign_Pocket/ru|Карман]]. Задаём длину 12,6 мм, что оставит толщину верхней поверхности нашей детали в 1,8 мм (вспоминаем, что общая высота нашей детали 14,4 мм).


[[Image:Exercise_lego_08.jpg]]
[[Image:Exercise_lego_08.jpg]]


<div class="mw-translate-fuzzy">
* Теперь мы займёмся 8 точками на верхней поверхности. Для этого, поскольку они имеют одну форму, мы используем удобный инструмент [[Image:PartDesign_LinearPattern.png|16px]] [[PartDesign_LinearPattern/ru|Linear pattern]] верстака PartDesign, который позволяет делать повторы один раз смоделированной формы.
* Теперь мы займёмся 8 точками на верхней поверхности. Для этого, поскольку они имеют одну форму, мы используем удобный инструмент [[Image:PartDesign_LinearPattern.svg|16px]] [[PartDesign_LinearPattern/ru|Linear pattern]] верстака PartDesign, который позволяет делать повторы один раз смоделированной формы.
* Начните с выделения верхней поверхности нашего блока
* Начните с выделения верхней поверхности нашего блока
* Нажмите [[Image:Sketcher_NewSketch.png|16px]] [[Sketcher_NewSketch/ru|Создать эскиз]].
* Нажмите [[Image:Sketcher_NewSketch.svg|16px]] [[Sketcher_NewSketch/ru|Создать эскиз]].
* Создайте две [[Image:Sketcher_Circle.png|16px]] [[Sketcher_Circle/ru|окружности]].
* Создайте две [[Image:Sketcher_Circle.svg|16px]] [[Sketcher_CreateCircle/ru|окружности]].
* Для каждой окружности выделите её и задайте им [[Image:Constraint_Radius.png|16px]] [[Sketcher ConstrainRadius/ru|Ограничение радиуса]] в 3,6 мм каждой
* Для каждой окружности выделите её и задайте им [[Image:Constraint_Radius.svg|16px]] [[Sketcher ConstrainRadius/ru|Ограничение радиуса]] в 3,6 мм каждой
* Импортируйте левое ребро базовой плоскости инструментом [[Image:Sketcher_External.png|16px]] [[Sketcher_External|Геометрия извне]].
* Импортируйте левое ребро базовой плоскости инструментом [[Image:Sketcher_External.svg|16px]] [[Sketcher_External|Геометрия извне]].
* Поместите два вертикальных и два горизонтальных ограничения в 6 мм между центральными точками каждой окружности и угловых точек импортированного ребра, так чтобы центр каждой из окружности был в 6 мм от края верхней грани:
* Поместите два вертикальных и два горизонтальных ограничения в 6 мм между центральными точками каждой окружности и угловых точек импортированного ребра, так чтобы центр каждой из окружности был в 6 мм от края верхней грани:
</div>


[[Image:Exercise_lego_09.jpg]]
[[Image:Exercise_lego_09.jpg]]


* Заметьте снова, что когда Вы зафиксировали все позиции и размеры на Вашем эскизе, он становится полностью ограниченным. Это даёт вам гарантии. Вы можете изменить сейчас первый эскиз, но всё, что мы сделали после этого остаётся привязанным.
* Заметьте снова, что когда Вы зафиксировали все позиции и размеры на Вашем эскизе, он становится полностью ограниченным. Это даёт вам гарантии. Вы можете изменить сейчас первый эскиз, но всё, что мы сделали после этого остаётся привязанным.
* Покиньте режим редактирования, выделите этот новый эскиз, и создайте [[Image:PartDesign_Pad.png|16px]] [[PartDesign_Pad/ru|Выдавливание]] в 2,7 мм:
* Покиньте режим редактирования, выделите этот новый эскиз, и создайте [[Image:PartDesign_Pad.svg|16px]] [[PartDesign_Pad/ru|Выдавливание]] в 2,7 мм:


[[Image:Exercise_lego_10.jpg]]
[[Image:Exercise_lego_10.jpg]]
Line 84: Line 94:
* Заметьте, что как и с карманом, поскольку мы используем верхнюю поверхность нашего блока как базу для дальнейших эскизов, любые наши операции PartDesign с этими эскизами будут строиться на поверхности базовой формы. Обе точки - не независимый объект, они выдавлены прямо из нашего кирпича. Это главное преимущество работы с верстаком Part Design, когда Вы следите чтобы делать следующий шаг поверх предыдущего, Вы создаёте единый твердотельный объект.
* Заметьте, что как и с карманом, поскольку мы используем верхнюю поверхность нашего блока как базу для дальнейших эскизов, любые наши операции PartDesign с этими эскизами будут строиться на поверхности базовой формы. Обе точки - не независимый объект, они выдавлены прямо из нашего кирпича. Это главное преимущество работы с верстаком Part Design, когда Вы следите чтобы делать следующий шаг поверх предыдущего, Вы создаёте единый твердотельный объект.
* Теперь мы можем сделать четыре дубликаты наших двух точек, чтобы их стало восемь. Выберем последнее выдавливание, которое мы сделали.
* Теперь мы можем сделать четыре дубликаты наших двух точек, чтобы их стало восемь. Выберем последнее выдавливание, которое мы сделали.
* Нажмём кнопку [[Image:PartDesign_LinearPattern.png|16px]] [[PartDesign_LinearPattern/ru|Линейный массив]].
* Нажмём кнопку [[Image:PartDesign_LinearPattern.svg|16px]] [[PartDesign_LinearPattern/ru|Линейный массив]].
* Задаём длину в 36 мм (во что должны уложиться все наши копии), в направлении "Горизонтальной оси эскиза", и зададим 4 события:
* Задаём длину в 36 мм (во что должны уложиться все наши копии), в направлении "Горизонтальной оси эскиза", и зададим 4 события:


Line 95: Line 105:


[[Image:Exercise_lego_12.jpg]]
[[Image:Exercise_lego_12.jpg]]

If you have trouble to select features hiding part of the model can help. To hide a feature select it from tree view and press Space-key to toggle visibility.


* Покинем режим редактирования, и выдавим эскиз на 12,6 мм
* Покинем режим редактирования, и выдавим эскиз на 12,6 мм
Line 102: Line 114:


* Теперь сделаем финальные отверстия. Выделим круглую грань первого из наших "выступов"
* Теперь сделаем финальные отверстия. Выделим круглую грань первого из наших "выступов"
* Создадим новый эскиз, импортируем круговую грань, создадим окружность с ограничением по радиусу 3,6 мм, и добавим [[Image:Constraint_PointOnPoint.png|16px]] [[Sketcher ConstrainCoincident/ru|Point on Point Constraint]] между центрами новой и импортированной окружности. Теперь у нас идеально отцентрованная окружность, и она опять полностью ограничена:
* Создадим новый эскиз, импортируем круговую грань, создадим окружность с ограничением по радиусу 3,6 мм, и добавим [[Image:Constraint_PointOnPoint.svg|16px]] [[Sketcher ConstrainCoincident/ru|Point on Point Constraint]] между центрами новой и импортированной окружности. Теперь у нас идеально отцентрованная окружность, и она опять полностью ограничена:


[[Image:Exercise_lego_14.jpg]]
[[Image:Exercise_lego_14.jpg]]
Line 115: Line 127:
Но нам может понадобиться вычистить нашу историю, например, если мы собираемся смоделировать их этих кирпичиков замок, и нам не хочется, чтобы эта история повторялась в нашем файле сотни раз.
Но нам может понадобиться вычистить нашу историю, например, если мы собираемся смоделировать их этих кирпичиков замок, и нам не хочется, чтобы эта история повторялась в нашем файле сотни раз.


<div class="mw-translate-fuzzy">
Есть два простых способа отбросить историю, один это использовать инструмент [[Part_CreateSimpleCopy/ru|Create simple copy]] из [[Part_Module/ru|верстака Part]], который создаст независимую от истории копию нашего элемента (потом можно будет её даже удалить), другой путь - это экспортировать элемент в файл STEP и снова импортировать его.
Есть два простых способа отбросить историю, один это использовать инструмент [[Part_SimpleCopy/ru|Create simple copy]] из [[Part_Workbench/ru|верстака Part]], который создаст независимую от истории копию нашего элемента (потом можно будет её даже удалить), другой путь - это экспортировать элемент в файл STEP и снова импортировать его.
</div>


'''Сборка'''
'''Сборка'''


Но существует и лучшее из двух миров, это [https://github.com/hamish2014/FreeCAD_assembly2 верстак Assembly2], расширение, которое может быть установлено из репозитория [https://github.com/FreeCAD/FreeCAD-addons FreeCAD-addons]. Этот верстак назван "2", поскольку существует так же официальный встроенный верстак Assembly на стадии проектирования, ещё не готовый. Тем не менее верстак Assembly2 работает достаточно хорошо для создания сборок, и предлагает множество межобъектных ограничений, которые Вы можете использовать для фиксации объектов между собой. В примере ниже, тем не менее, использование инструментов верстака Draft [[Image:Draft_Move.png|16px]] [[Draft Move/ru|Перемещение]] и [[Image:Draft_Rotate.png|16px]] [[Draft Rotate/ru|Повернуть]] для расположения деталей было бы быстрее, чем пользоваться ограничениями Assembly2.
Но существует и лучшее из двух миров, это [https://github.com/hamish2014/FreeCAD_assembly2 верстак Assembly2], расширение, которое может быть установлено из репозитория [https://github.com/FreeCAD/FreeCAD-addons FreeCAD-addons]. Этот верстак назван "2", поскольку существует так же официальный встроенный верстак Assembly на стадии проектирования, ещё не готовый. Тем не менее верстак Assembly2 работает достаточно хорошо для создания сборок, и предлагает множество межобъектных ограничений, которые Вы можете использовать для фиксации объектов между собой. В примере ниже, тем не менее, использование инструментов верстака Draft [[Image:Draft_Move.svg|16px]] [[Draft Move/ru|Перемещение]] и [[Image:Draft_Rotate.svg|16px]] [[Draft Rotate/ru|Повернуть]] для расположения деталей было бы быстрее, чем пользоваться ограничениями Assembly2.


* Сохранить созданный нами файл
* Сохранить созданный нами файл
Line 138: Line 152:
'''Читать далее'''
'''Читать далее'''


* [[Sketcher_Module|Эскизирование]]
* [[Sketcher_Workbench|Эскизирование]]
* [[PartDesign_Workbench|Верстак PartDesign]]
* [[PartDesign_Workbench|Верстак PartDesign]]
* [https://github.com/hamish2014/FreeCAD_assembly2 Верстак Assembly2]
* [https://github.com/hamish2014/FreeCAD_assembly2 Верстак Assembly2]



[[Category:Tutorials/ru]]
<div class="mw-translate-fuzzy">
{{Docnav/ru
|[[Manual:Traditional 2D drafting/ru|Traditional 2D drafting]]
|[[Manual:Preparing models for 3D printing/ru|Preparing models for 3D printing]]
|[[Manual:Introduction/ru|Manual start]]
|IconC=Crystal Clear manual.png}}
</div>

[[Category:Tutorials{{#translation:}}]]

Revision as of 10:58, 11 March 2022

Проектирование продукта изначально было коммерческим термином, но в мире 3D это обычно означает моделирование чего-то, что будет напечатано с помощью 3D-принтера, или, в более общем случае, произведено с помощью машины, будь это объёмный принтера или станок с ЧПУ.

Когда Вы печатаете объёмный объект, обязательно нужно, чтобы Ваш объект был твёрдым телом. Конечно, ничего не мешает ему быть пустым внутри. Но Вам всегда следует чётко знать, с какой стороны внутренний материал, а где внешняя сторона, поскольку принтер или ЧПУ должны чётко знать, что заполнено материалом, а что нет. Поэтому верстак PartDesign является лучшим инструментом в FreeCAD для построения таких частей, потому что он всегда следит за тем, чтобы объекты были твердотельны и изготовляемы.

Для демонстрации работы верстака PartDesign, смоделируем эту хорошо известную деталь Лего:

В элементах Лего хорошо то, что их размеры, как минимум для стандартных, легко узнать в Интернет. Их достаточно легко моделировать и печатать в объёме, и при некотором терпении (объёмная печать требует много настройки) Вы сможете сделать элементы, которые полностью совместимы и идеально присоединяются к оригинальным блокам Лего. В показанном ниже примере мы делаем элемент в 1,5 раз больше оригинала.

Мы будем использовать только инструменты модулей Sketcher и PartDesign. Поскольку все инструменты верстака Sketcher включены в верстак PartDesign, мы можем оставаться в PartDesign и не нуждаться в переключении между верстаками.

Объекты PartDesign полностью базируются на Эскизах. Эскизы это двумерные объекты, составленные из линейных сегментов (линий, дуг или эллипсов) и геометрических ограничений. Эти ограничения могут быть применены либо к линейным сегментам или их конечным точкам или центральным точкам, и заставляют геометрию следовать некоторым правилам. Например, Вы можете поместить вертикальные ограничения к сегменту линии, чтобы заставить его быть вертикальным, или установить для конечных точек ограничения позиции, чтобы запретить перемещение. Когда эскиз содержит такой набор ограничений, что никакие точки эскиза не могут быть сдвинуты, говорят о полностью ограниченном эскизе. Когда есть излишние ограничения, которые могут быть убраны без позволения изменений геометрии, он называется переограниченным. Этого следует избегать, и FreeCAD в этом случае сделает предупреждение.

Эскизы имеют режим редактирования, где их геометрия и ограничения могут быть изменены. Когда Вы завершили редактирование, эскизы ведут себя как остальные объекты FreeCAD, и могут использоваться как строительные блоки для всех инструментов PartDesign и для других верстаков, вроде Part или Arch. Верстак Draft так же содержит инструменты, которые преобразуют объекты Draft в объекты Sketch и наоборот.

  • Начнём с моделирования палаллелепипеда, который станет базой для нашего кубика Lego. Далее мы вырежем внутренности, и добавим 8 точек сверху. Поэтому начнём с создания прямоугольного эскиза, который мы потом выдавим:
  • Переключимся на верстак PartDesign
  • Кликнем на кнопке Создать эскиз. Появится диалог, спрашивающий, как расположить эскиз, выберем плоскость XY, плоскость "вида сверху". Эскиз будет создан и переключён в режим редактирования, а вид будет повёрнут так, чтобы видеть эскиз сверху.
  • Теперь нарисуем прямоугольник, выбрав инструмент Создать прямоугольник и кликнув две угловые точки. Можете поместить их где угодно, поскольку правильное положение будет установлено на следующем шаге.
  • Вы увидите, что прямоугольнику сразу будет добавлено множество геометрических ограничений: вертикальные сегменты получат вертикальные ограничения, горизонтальные - горизонтальные ограничения, а каждый угол - ограничение коинцидентности, соединяющее сегменты вместе. Вы можете на пробу подвигать прямоугольник, перетаскивая его линии мышью, и вся геометрия останется соответствующей ограничениям.

  • Теперь добавим ещё три ограничения:
    • Выберите один из вертикальных сегментов и добавьте Ограничение расстояния по вертикали. Установите размер 23,7 мм.
    • Выберите один из горизонтальных сегментов и добавьте Ограничение расстояния по горизонтали. Установите его в 47,7 мм.
    • Затем выберите одну из угловых точек и начальную точку (это точка на пересечении красной и зелёной оси), и добавьте Ограничение коинцидентности. Прямоугольник переместится к начальной точке привязки, и эскиз станет зелёным, означая, что он он полностью ограничен. Попробуйте перемещать линии или точки, ничего больше не сдвинется.

Кстати, последнее ограничение коинцидентности (которое фиксирует положение прямоугольника) вовсе не обязательно. Вам не обязательно работать с полностью ограниченными эскизами. Однако, если мы собираемся печатать этот блок в объёме, может быть необходимо держать наши элементы близко к начальной точке (которая будет центром пространства, где может двигаться головка принтера). Добавив это ограничения, мы гарантируем, что наша деталь всегда останется "привязана" к этой начальной точке.

  • Наш базовый эскиз теперь готов, мы можем закончить редактирование нажатием кнопки Закрыть на панели задач, или просто нажатием кнопки Escape. Если нужно, в любое время можно вернуться в режим редактирования двойным кликом на эскизе в древе проекта.
  • Применим к эскизу инструмент Выдавливание, и зададим расстояние 14,4 мм. Прочие опции можно оставить по умолчанию:

Выдавливание в PartDesign действует похоже на инструмент Extrude, который мы использовали в предыдущей главе, но есть много отличий. Главное из них, что это выдавливание не может быть передвинуто, оно навсегда привязано к эскизу. Если Вы хотите изменить положение выдавливания, Вам следует перемещать эскиз. В текущем контексте, где мы хотим гарантировать, что ничего не уйдет со своего места, это добавляет защиту.

  • Мы будем теперь делать вырез внутри блока, используя инструмент карман, версия инструмента Обрезать. Чтобы сделать выемку, мы сделаем эскиз внизу нашего блока, который будет использовать для удаления части блока.
  • При выбранной нижней гранью нажмите кнопку Создать эскиз.
  • Рисуем в этом эскизе прямоугольник

  • Теперь мы ограничим прямоугольник относительно нижней грани. Для этого нам нужно "импортировать" некоторые грани поверхности с помощью инструмента External geometry. Примените этот инструмент к двум вертикальным линиям на нижней поверхности:

Вы заметите, что этим инструментом могут быть добавлены только рёбра с базовой поверхности. Когда Вы создаёте эскиз с выбранной поверхностью, создается связь между ними, которая важна для дальнейших операций. Вы всегда можете позднее пересоединить эскиз к другой поверхности инструментом Разместить эскиз на грани.

  • Внешняя геометрия не "реальна", она пропадёт при выходе из режима редактирования. Но её можно использовать для наложения ограничений. Установите следующие 4 ограничения:

  • Покинув режим редактирования, мы теперь можем выполнить операцию создания кармана. С выделенным эскизом нажимаем кнопку Карман. Задаём длину 12,6 мм, что оставит толщину верхней поверхности нашей детали в 1,8 мм (вспоминаем, что общая высота нашей детали 14,4 мм).

  • Теперь мы займёмся 8 точками на верхней поверхности. Для этого, поскольку они имеют одну форму, мы используем удобный инструмент Linear pattern верстака PartDesign, который позволяет делать повторы один раз смоделированной формы.
  • Начните с выделения верхней поверхности нашего блока
  • Нажмите Создать эскиз.
  • Создайте две окружности.
  • Для каждой окружности выделите её и задайте им Ограничение радиуса в 3,6 мм каждой
  • Импортируйте левое ребро базовой плоскости инструментом Геометрия извне.
  • Поместите два вертикальных и два горизонтальных ограничения в 6 мм между центральными точками каждой окружности и угловых точек импортированного ребра, так чтобы центр каждой из окружности был в 6 мм от края верхней грани:

  • Заметьте снова, что когда Вы зафиксировали все позиции и размеры на Вашем эскизе, он становится полностью ограниченным. Это даёт вам гарантии. Вы можете изменить сейчас первый эскиз, но всё, что мы сделали после этого остаётся привязанным.
  • Покиньте режим редактирования, выделите этот новый эскиз, и создайте Выдавливание в 2,7 мм:

  • Заметьте, что как и с карманом, поскольку мы используем верхнюю поверхность нашего блока как базу для дальнейших эскизов, любые наши операции PartDesign с этими эскизами будут строиться на поверхности базовой формы. Обе точки - не независимый объект, они выдавлены прямо из нашего кирпича. Это главное преимущество работы с верстаком Part Design, когда Вы следите чтобы делать следующий шаг поверх предыдущего, Вы создаёте единый твердотельный объект.
  • Теперь мы можем сделать четыре дубликаты наших двух точек, чтобы их стало восемь. Выберем последнее выдавливание, которое мы сделали.
  • Нажмём кнопку Линейный массив.
  • Задаём длину в 36 мм (во что должны уложиться все наши копии), в направлении "Горизонтальной оси эскиза", и зададим 4 события:

  • Ещё раз, убедитесь, что это не просто дубликат объекта, это был сделан дубль *элемента* нашей формы, финальный объект это по-прежнему единое твёрдое тело.
  • Теперь поработаем над тремя "трубками" внутри пустоты, которую мы создали на нижней поверхности. У нас есть несколько вариантов: создать эскиз с тремя окружностями, выдавить их и сделать внутри них три кармана, или сделать базовый эскиз с одной окружностью внутри другой с созданием уже готовой трубы, или любые другие комбинации. Как всегда в FreeCAD, есть много путей для достижения тех же результатов. Иногда один путь работает не так, как надо, и потребуется попробовать другие. Здесь мы возьмём наиболее надёжное приближение, и сделаем всё пошагово.
  • Выберите поверхность внизу полого пространства, вырезанного нами внутри блока.
  • Создаём новый эскиз, добавляем окружность радиусом 4,8825 мм, импортируем левый край поверхности, и ограничим её горизонтально и вертикально на 10,2 мм от верхнего угла поверхности:

If you have trouble to select features hiding part of the model can help. To hide a feature select it from tree view and press Space-key to toggle visibility.

  • Покинем режим редактирования, и выдавим эскиз на 12,6 мм
  • Создадим из последней выдавки линейный массив, задав длину 24 мм и 3 события. Теперь у нас внутри выемки три заполненные трубы:

  • Теперь сделаем финальные отверстия. Выделим круглую грань первого из наших "выступов"
  • Создадим новый эскиз, импортируем круговую грань, создадим окружность с ограничением по радиусу 3,6 мм, и добавим Point on Point Constraint между центрами новой и импортированной окружности. Теперь у нас идеально отцентрованная окружность, и она опять полностью ограничена:

  • Выйдем из режима редактирования, и создадим из этого эскиза глубиной 12,6 мм
  • Создадим из этого кармана линейный массив длинной 24 мм с тремя событиями. Это последний шаг, наш элемент Lego готов, мы можем дать ему прекрасный цвет Победы!

Теперь мы видим, что наша история моделирования (которая видна в древе проекта) стала довольно длинной. Это прекрасно, поскольку каждый шаг нашей работы может быть потом изменён. Адаптация этой модели для другого вида кирпичиков, например, на 2x2 точки вместо 2x4, будет проще пареной репы, нам только надо будет изменить пару размеров и число шагов в линейных массивах. Мы сможем так же легко создать большие элементы, которых нет в оригинальной игре Lego.

Но нам может понадобиться вычистить нашу историю, например, если мы собираемся смоделировать их этих кирпичиков замок, и нам не хочется, чтобы эта история повторялась в нашем файле сотни раз.

Есть два простых способа отбросить историю, один это использовать инструмент Create simple copy из верстака Part, который создаст независимую от истории копию нашего элемента (потом можно будет её даже удалить), другой путь - это экспортировать элемент в файл STEP и снова импортировать его.

Сборка

Но существует и лучшее из двух миров, это верстак Assembly2, расширение, которое может быть установлено из репозитория FreeCAD-addons. Этот верстак назван "2", поскольку существует так же официальный встроенный верстак Assembly на стадии проектирования, ещё не готовый. Тем не менее верстак Assembly2 работает достаточно хорошо для создания сборок, и предлагает множество межобъектных ограничений, которые Вы можете использовать для фиксации объектов между собой. В примере ниже, тем не менее, использование инструментов верстака Draft Перемещение и Повернуть для расположения деталей было бы быстрее, чем пользоваться ограничениями Assembly2.

  • Сохранить созданный нами файл
  • Установить верстак Assembly2 и перезагрузить FreeCAD
  • Создать новый пустой документ
  • Переключиться на верстак Assembly2
  • Нажмите кнопку Import a part from another FreeCAD document
  • Выбрать сохранённый нами файл
  • Окончательный элемент будет импортирован в текущий документ. Верстак Assembly2 автоматически определит, что из нашего файла надо использовать в качестве конечного элемента, и новый объект останется связан с файлом. Если мы вернёмся и изменим содержимое первого файла, мы сможем нажать кнопку Update parts imported into the assembly для обновления деталей.
  • Используя кнопку Import a part from another FreeCAD document несколько раз, и перемещая и вращая детали (инструментом из Draft или изменяя параметр Placement), мы сможем быстро создать маленькую сборку:

Загрузки

Читать далее