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

From FreeCAD Documentation
(Created page with "Для демонстрации работы верстака PartDesign, смоделируем эту хорошо известную деталь [https://ru.wikipedia.org/...")
(Updating to match new version of source page)
 
(87 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<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>

{{VeryImportantMessage|This tutorial is obsolete. Try [[Basic_Part_Design_Tutorial_019|Basic Part Design Tutorial 019]] instead.}}


{{Manual:TOC}}


[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 10: Line 21:
[[Image:Exercise_lego_01.jpg]]
[[Image:Exercise_lego_01.jpg]]


В элементах Лего хорошо то, что их размеры, как минимум для стандартных, легко узнать в Интернет. Их достаточно легко моделировать и печатать в объёме, и при некотором терпении (объёмная печать требует много настройки) Вы сможете сделать элементы, которые полностью совместимы и идеально присоединяются к оригинальным блокам Лего. В показанном ниже примере мы делаем элемент в 1,5 раз больше оригинала.
The cool thing with Lego pieces is that the dimensions are easy to obtain on the internet, at least for the standard pieces. These are pretty easy to model and print on a 3D printer, and with a bit of patience (3D printing often requires much adjustment and fine-tuning) you can make pieces that are totally compatible and click perfectly into original Lego blocks. In the example below, we will make a piece that is 1.5 times bigger than the original.


Мы будем использовать только инструменты модулей [[Sketcher_Workbench/ru|Sketcher]] и [[PartDesign_Workbench/ru|PartDesign]]. Поскольку все инструменты верстака Sketcher включены в верстак PartDesign, мы можем оставаться в PartDesign и не нуждаться в переключении между верстаками.
We will now use exclusively the [[Sketcher_Module|Sketcher]] and [[PartDesign_Workbench|PartDesign]] tools. Since all the tools from the Sketcher Workbench are also included in the Part Design Workbench, we can stay in Part Design and we will not need to switch back and forth between the two.


Объекты PartDesign полностью базируются на '''Эскизах'''. Эскизы это двумерные объекты, составленные из линейных сегментов (линий, дуг или эллипсов) и геометрических ограничений. Эти ограничения могут быть применены либо к линейным сегментам или их конечным точкам или центральным точкам, и заставляют геометрию следовать некоторым правилам. Например, Вы можете поместить вертикальные ограничения к сегменту линии, чтобы заставить его быть вертикальным, или установить для конечных точек ограничения позиции, чтобы запретить перемещение. Когда эскиз содержит такой набор ограничений, что никакие точки эскиза не могут быть сдвинуты, говорят о полностью ограниченном эскизе. Когда есть излишние ограничения, которые могут быть убраны без позволения изменений геометрии, он называется переограниченным. Этого следует избегать, и FreeCAD в этом случае сделает предупреждение.
Part Design objects are fully based on '''Sketches'''. A Sketch is a 2D object, made of linear segments (lines, arcs of circle or ellipses) and constraints. These constraints can be applied either on linear segments or on their endpoints or center points, and will force the geometry to adopt certain rules. For example, you can place a vertical constraint on a line segment to force it to stay vertical, or a position (lock) constraint on an endpoint to prohibit it to move. When a sketch has an exact amount of constraints that prohibits any point of the sketch to be moved anymore, we talk about a fully constrained sketch. When there are redundant constraints, that could be removed without allowing the geometry to be moved, it is called over-constrained. This should be avoided, and FreeCAD will notify you if such case occurs.


Эскизы имеют режим редактирования, где их геометрия и ограничения могут быть изменены. Когда Вы завершили редактирование, эскизы ведут себя как остальные объекты FreeCAD, и могут использоваться как строительные блоки для всех инструментов PartDesign и для других верстаков, вроде [[Part_Workbench/ru|Part]] или [[Arch_Workbench/ru|Arch]]. [[Draft_Workbench/ru|Верстак Draft]] так же содержит инструменты, которые преобразуют объекты Draft в объекты Sketch и наоборот.
Sketches have an edit mode, where their geometry and constraints can be changed. When you are done with editing, and leave edit mode, sketches behaves like any other FreeCAD object, and can be used as building blocks for all the Part Design tools, but also in other workbenches, such as [[Part_Module|Part]] or [[Arch_Module|Arch]]. The [[Draft_Module|Draft workbench]] also has a tool that converts Draft objects to Sketches, and vice-versa.


* Начнём с моделирования палаллелепипеда, который станет базой для нашего кубика Lego. Далее мы вырежем внутренности, и добавим 8 точек сверху. Поэтому начнём с создания прямоугольного эскиза, который мы потом выдавим:
* Let's start by modeling a cubic shape that will be the base of our Lego brick. Later on we will carve the insides, and add the 8 dots on top of it. So let's start this by making a rectangular sketch that we will then extrude:
* Switch to the [[PartDesign Workbench]]
* Переключимся на [[PartDesign Workbench/ru|верстак PartDesign]]
* Кликнем на кнопке [[Image:Sketcher_NewSketch.svg|16px]] [[Sketcher_NewSketch/ru|Создать эскиз]]. Появится диалог, спрашивающий, как расположить эскиз, выберем плоскость '''XY''', плоскость "вида сверху". Эскиз будет создан и переключён в режим редактирования, а вид будет повёрнут так, чтобы видеть эскиз сверху.
* Click on the [[Image:Sketcher_NewSketch.png|16px]] [[Sketcher_NewSketch|New Sketch]] button. A dialog will appear asking where you want to lie the sketch, choose the '''XY''' plane, which is the "ground" plane. The sketch will be created and will immediately be switched to edit mode, and the view will be rotated to look at your sketch orthogonally.
* Теперь нарисуем прямоугольник, выбрав инструмент [[Image:Sketcher_CreateRectangle.svg|16px]] [[Sketcher_CreateRectangle/ru|Создать прямоугольник]] и кликнув две угловые точки. Можете поместить их где угодно, поскольку правильное положение будет установлено на следующем шаге.
* Now we can draw a rectangle, by selecting the [[Image:Sketcher_CreateRectangle.png|16px]] [[Sketcher_Rectangle|Rectangle]] tool and clicking 2 corner points. You can place the two points anywhere, since their correct location will be set in the next step.
* Вы увидите, что прямоугольнику сразу будет добавлено множество геометрических ограничений: вертикальные сегменты получат вертикальные ограничения, горизонтальные - горизонтальные ограничения, а каждый угол - ограничение коинцидентности, соединяющее сегменты вместе. Вы можете на пробу подвигать прямоугольник, перетаскивая его линии мышью, и вся геометрия останется соответствующей ограничениям.
* You will notice that a couple of constraints have automatically been added to our rectangle: the vertical segments have received a vertical constraint, the horizontal ones a horizontal constraint, and each corner a point-on-point constraint that glues the segments together. You can experiment moving the rectangle around by dragging its lines with the mouse, all the geometry will keep obeying the constraints.


[[Image:Exercise_lego_02.jpg]]
[[Image:Exercise_lego_02.jpg]]


* Теперь добавим ещё три ограничения:
* Now, let's add three more constraints:
** Select one of the vertical segments and add a [[Image:Constraint_VerticalDistance.png|16px]] [[Constraint_VerticalDistance|Vertical Distance Constraint]]. Give it a size of 23.7mm.
** Выберите один из вертикальных сегментов и добавьте [[Image:Constraint_VerticalDistance.svg|16px]] [[Sketcher ConstrainDistanceY/ru|Ограничение расстояния по вертикали]]. Установите размер 23,7 мм.
** Select one of the horizontal segments and add a [[Image:Constraint_HorizontalDistance.png|16px]] [[Constraint_HorizontalDistance|Horizontal Distance Constraint]]. Make it 47.7mm.
** Выберите один из горизонтальных сегментов и добавьте [[Image:Constraint_HorizontalDistance.svg|16px]] [[Sketcher ConstrainDistanceX/ru|Ограничение расстояния по горизонтали]]. Установите его в 47,7 мм.
** Затем выберите одну из угловых точек и начальную точку (это точка на пересечении красной и зелёной оси), и добавьте [[Image:Constraint_PointOnPoint.svg|16px]] [[Sketcher ConstrainCoincident/ru|Ограничение коинцидентности]]. Прямоугольник переместится к начальной точке привязки, и эскиз станет зелёным, означая, что он он полностью ограничен. Попробуйте перемещать линии или точки, ничего больше не сдвинется.
** Finally, select one of the corner points, then the origin point (which is the dot at the crossing of the red and green axes), then add a [[Image:Constraint_PointOnPoint.png|16px]] [[Constraint_PointOnPoint|Point on Point Constraint]]. The rectangle will then jump to the origin point, and your sketch will turn green, meaning it is now fully constrained. You can try moving its lines or points, nothing will move anymore.


[[Image:Exercise_lego_03.jpg]]
[[Image:Exercise_lego_03.jpg]]


Кстати, последнее ограничение коинцидентности (которое фиксирует положение прямоугольника) вовсе не обязательно. Вам не обязательно работать с полностью ограниченными эскизами. Однако, если мы собираемся печатать этот блок в объёме, может быть необходимо держать наши элементы близко к начальной точке (которая будет центром пространства, где может двигаться головка принтера). Добавив это ограничения, мы гарантируем, что наша деталь всегда останется "привязана" к этой начальной точке.
Note that the last point-on-point constraint was not absolutely necessary. You are never forced to work with fully constrained sketches. However, if we are going to print this block in 3D, it will be necessary to maintain our piece close to the origin point (which will be the center of the space where the printer head can move). By adding that constraint we are making sure that our piece will always stay "anchored" to that origin point.


* Наш базовый эскиз теперь готов, мы можем закончить редактирование нажатием кнопки '''Закрыть''' на панели задач, или просто нажатием кнопки '''Escape'''. Если нужно, в любое время можно вернуться в режим редактирования двойным кликом на эскизе в древе проекта.
* Our base sketch is now ready, we can leave edit mode by pressing the '''Close''' button on top of its task panel, or simply by pressing the '''Escape''' key. If needed later on, we can reenter edit mode anytime by double-clicking the sketch in the tree view.
* Let's extrude it by using the [[Image:PartDesign_Pad.png|16px]] [[PartDesign_Pad|Pad]] tool, and giving it a distance of 14.4mm. The other options can be left at their default values:
* Применим к эскизу инструмент [[Image:PartDesign_Pad.svg|16px]] [[PartDesign_Pad/ru|Выдавливание]], и зададим расстояние 14,4 мм. Прочие опции можно оставить по умолчанию:


[[Image:Exercise_lego_04.jpg]]
[[Image:Exercise_lego_04.jpg]]


'''Выдавливание''' в PartDesign действует похоже на инструмент [[Part Extrude/ru|Extrude]], который мы использовали в предыдущей главе, но есть много отличий. Главное из них, что это выдавливание не может быть передвинуто, оно навсегда привязано к эскизу. Если Вы хотите изменить положение выдавливания, Вам следует перемещать эскиз. В текущем контексте, где мы хотим гарантировать, что ничего не уйдет со своего места, это добавляет защиту.
The '''Pad''' behaves very much like the [[Part Extrude|Extrude]] tool that we used in the previous chapter. There are a couple of differences, though, the main one being that a pad cannot be moved. It is attached forever to its sketch. If you want to change the position of the pad, you must move the base sketch. In the current context, where we want to be sure nothing will move out of position, this is an additional security.


* We will now carve the inside of the block, using the [[Image:PartDesign_Pocket.png|16px]] [[PartDesign_Pocket|Pocket]] tool, which is the PartDesign version of [[Part Cut]]. To make a pocket, we will create a sketch on the bottom face of our block, which will be used to remove a part of the block.
* Мы будем теперь делать вырез внутри блока, используя инструмент [[Image:PartDesign_Pocket.svg|16px]] [[PartDesign_Pocket/ru|карман]], версия инструмента [[Part Cut/ru|Обрезать]]. Чтобы сделать выемку, мы сделаем эскиз внизу нашего блока, который будет использовать для удаления части блока.
* With the bottom face selected, press the [[Image:Sketcher_NewSketch.png|16px]] [[Sketcher_NewSketch|New sketch]] button.
* При выбранной нижней гранью нажмите кнопку [[Image:Sketcher_NewSketch.svg|16px]] [[Sketcher_NewSketch/ru|Создать эскиз]].
* Рисуем в этом эскизе прямоугольник
* Draw a rectangle on the face.


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


* We will now constrain the rectangle in relation to the bottom face. To do this, we need to "import" some edges of the face with the [[Image:Sketcher_External.png|16px]] [[Sketcher_External|External geometry]] tool. Use this tool on the two vertical lines of the bottom face:
* Теперь мы ограничим прямоугольник относительно нижней грани. Для этого нам нужно "импортировать" некоторые грани поверхности с помощью инструмента [[Image:Sketcher_External.svg|16px]] [[Sketcher_External/ru|External geometry]]. Примените этот инструмент к двум вертикальным линиям на нижней поверхности:


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


Вы заметите, что этим инструментом могут быть добавлены только рёбра с базовой поверхности. Когда Вы создаёте эскиз с выбранной поверхностью, создается связь между ними, которая важна для дальнейших операций. Вы всегда можете позднее пересоединить эскиз к другой поверхности инструментом [[Image:Sketcher_MapSketch.svg|16px]] [[Sketcher_MapSketch/ru|Разместить эскиз на грани]].
You will notice that only edges from the base face can be added by this tool. When you create a sketch with a face selected, a relation is created between that face and the sketch, which is important for further operations. You can always remap a sketch to another face later with the [[Image:Sketcher_MapSketch.png|16px]] [[Sketcher_MapSketch|Map sketch]] tool.


* Внешняя геометрия не "реальна", она пропадёт при выходе из режима редактирования. Но её можно использовать для наложения ограничений. Установите следующие 4 ограничения:
* The external geometry is not "real", it will be hidden when we leave edit mode. But we can use it to place constraints. Place the 4 following constraints:
** Выделите верхнюю левую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_HorizontalDistance.svg|16px]] [[Sketcher ConstrainDistanceX/ru|Ограничение расстояния по горизонтали]] равным 1,8 мм
** Select the top left point of the rectangle and the top point of the imported line and add a [[Image:Constraint_HorizontalDistance.png|16px]] [[Constraint_HorizontalDistance|Horizontal Distance Constraint]] of 1.8mm
** Снова выделите верхнюю левую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_VerticalDistance.svg|16px]] [[Sketcher ConstrainDistanceY/ru|Ограничение расстояния по вертикали]] равным 1,8 мм
** Select again the top left point of the rectangle and the top point of the imported line and add a [[Image:Constraint_VerticalDistance.png|16px]] [[Constraint_VerticalDistance|Vertical Distance Constraint]] of 1.8mm
** Выделите нижнюю правую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_HorizontalDistance.svg|16px]] [[Sketcher ConstrainDistanceX/ru|Ограничение расстояния по горизонтали]] равным 1,8 мм
** Select the bottom right point of the rectangle and the bottom point of the right imported line and add a [[Image:Constraint_HorizontalDistance.png|16px]] [[Constraint_HorizontalDistance|Horizontal Distance Constraint]] of 1.8mm
** Снова выделите нижнюю правую точку прямоугольника и верхнюю точку импортированной линии и добавьте [[Image:Constraint_VerticalDistance.svg|16px]] [[Sketcher ConstrainDistanceY/ru|Ограничение расстояния по вертикали]] равным 1,8 мм
** Select again the bottom right point of the rectangle and the bottom point of the right imported line and add a [[Image:Constraint_VerticalDistance.png|16px]] [[Constraint_VerticalDistance|Vertical Distance Constraint]] of 1.8mm


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


* Покинув режим редактирования, мы теперь можем выполнить операцию создания кармана. С выделенным эскизом нажимаем кнопку [[Image:PartDesign_Pocket.svg|16px]] [[PartDesign_Pocket/ru|Карман]]. Задаём длину 12,6 мм, что оставит толщину верхней поверхности нашей детали в 1,8 мм (вспоминаем, что общая высота нашей детали 14,4 мм).
* Leave edit mode and we can now perform the pocket operation: With the sketch selected, press the [[Image:PartDesign_Pocket.png|16px]] [[PartDesign_Pocket|Pocket]] buttton. Give it a length of 12.6mm, which will leave the upper face of our pad with a thickness of 1.8mm (remember, the total height of our pad was 14.4mm).


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


<div class="mw-translate-fuzzy">
* We will now attack the 8 dots on the top face. To do this, since they are a repetition of a same feature, we will use the handy [[Image:PartDesign_LinearPattern.png|16px]] [[PartDesign_LinearPattern|Linear pattern]] tool of the Part Design Workbench, which allows to model once and repeat the shape.
* Теперь мы займёмся 8 точками на верхней поверхности. Для этого, поскольку они имеют одну форму, мы используем удобный инструмент [[Image:PartDesign_LinearPattern.svg|16px]] [[PartDesign_LinearPattern/ru|Linear pattern]] верстака PartDesign, который позволяет делать повторы один раз смоделированной формы.
* Start by selecting the top face of our block
* Начните с выделения верхней поверхности нашего блока
* Create a [[Image:Sketcher_NewSketch.png|16px]] [[Sketcher_NewSketch|New sketch]].
* Create two [[Image:Sketcher_Circle.png|16px]] [[Sketcher_Circle|circles]].
* Нажмите [[Image:Sketcher_NewSketch.svg|16px]] [[Sketcher_NewSketch/ru|Создать эскиз]].
* Создайте две [[Image:Sketcher_Circle.svg|16px]] [[Sketcher_CreateCircle/ru|окружности]].
* For each circle, select it and add a [[Image:Constraint_Radius.png|16px]] [[Constraint_Radius|Radius Constraint]] of 3.6mm to each of them
* Для каждой окружности выделите её и задайте им [[Image:Constraint_Radius.svg|16px]] [[Sketcher ConstrainRadius/ru|Ограничение радиуса]] в 3,6 мм каждой
* Import the left edge of the base face with the [[Image:Sketcher_External.png|16px]] [[Sketcher_External|External geometry]] tool.
* Импортируйте левое ребро базовой плоскости инструментом [[Image:Sketcher_External.svg|16px]] [[Sketcher_External|Геометрия извне]].
* Place two vertical constraints and two horizontal constraints of 6mm between the center point of each circle and the corner points of the imported edge, so each circle has its center at 6mm from the border of the face:
* Поместите два вертикальных и два горизонтальных ограничения в 6 мм между центральными точками каждой окружности и угловых точек импортированного ребра, так чтобы центр каждой из окружности был в 6 мм от края верхней грани:
</div>


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


* Заметьте снова, что когда Вы зафиксировали все позиции и размеры на Вашем эскизе, он становится полностью ограниченным. Это даёт вам гарантии. Вы можете изменить сейчас первый эскиз, но всё, что мы сделали после этого остаётся привязанным.
* Notice how, once again, when you lock the position and dimension of everything in your sketch, it becomes fully constrained. This always keeps you on the safe side. You could change the first sketch now, everything we did afterwards would keep tight.
* Leave edit mode, select this new sketch, and create a [[Image:PartDesign_Pad.png|16px]] [[PartDesign_Pad|Pad]] of 2.7mm:
* Покиньте режим редактирования, выделите этот новый эскиз, и создайте [[Image:PartDesign_Pad.svg|16px]] [[PartDesign_Pad/ru|Выдавливание]] в 2,7 мм:


[[Image:Exercise_lego_10.jpg]]
[[Image:Exercise_lego_10.jpg]]


* Заметьте, что как и с карманом, поскольку мы используем верхнюю поверхность нашего блока как базу для дальнейших эскизов, любые наши операции PartDesign с этими эскизами будут строиться на поверхности базовой формы. Обе точки - не независимый объект, они выдавлены прямо из нашего кирпича. Это главное преимущество работы с верстаком Part Design, когда Вы следите чтобы делать следующий шаг поверх предыдущего, Вы создаёте единый твердотельный объект.
* Notice that, as earlier with the pocket, since we used the top face of our base block as a base for this latest sketch, any PartDesign operation we do with this sketch will correctly be built on top of the base shape: The two dots are not independent objects, they have been extruded directly from our brick. This is the great advantage of working with the Part Design Workbench, as long as you take care of always building one step on top of the previous one, you are actually building one final solid object.
* Теперь мы можем сделать четыре дубликаты наших двух точек, чтобы их стало восемь. Выберем последнее выдавливание, которое мы сделали.
* We can now duplicate our two dots four times, so we get eight. Select the latest Pad we just created.
* Press the [[Image:PartDesign_LinearPattern.png|16px]] [[PartDesign_LinearPattern|Linear pattern]] button.
* Нажмём кнопку [[Image:PartDesign_LinearPattern.svg|16px]] [[PartDesign_LinearPattern/ru|Линейный массив]].
* Задаём длину в 36 мм (во что должны уложиться все наши копии), в направлении "Горизонтальной оси эскиза", и зададим 4 события:
* Give it a length of 36mm (which is the total "span" we want our copies to fit in), in the "horizontal sketch axis" direction, and make it 4 occurences:


[[Image:Exercise_lego_11.jpg]]
[[Image:Exercise_lego_11.jpg]]


* Ещё раз, убедитесь, что это не просто дубликат объекта, это был сделан дубль *элемента* нашей формы, финальный объект это по-прежнему единое твёрдое тело.
* Once again, see that this is not just a duplication of an object, it is a *feature* of our shape that has been duplicated, the final object is still only one solid object.
* Теперь поработаем над тремя "трубками" внутри пустоты, которую мы создали на нижней поверхности. У нас есть несколько вариантов: создать эскиз с тремя окружностями, выдавить их и сделать внутри них три кармана, или сделать базовый эскиз с одной окружностью внутри другой с созданием уже готовой трубы, или любые другие комбинации. Как всегда в FreeCAD, есть много путей для достижения тех же результатов. Иногда один путь работает не так, как надо, и потребуется попробовать другие. Здесь мы возьмём наиболее надёжное приближение, и сделаем всё пошагово.
* Now let's work on the three "tubes" that fill the void we created on the bottom face. We have several possibilities: create a sketch with three circles, pad it then pocket it three times, or create a base sketch with one circle inside the other and pad it to form the complete tube already, or even other combinations. Like always in FreeCAD, there are many ways to achieve a same result. Sometimes one way will not work the way we want, and we must try other ways. Here, we will take the safest approach, and do things one step at a time.
* Выберите поверхность внизу полого пространства, вырезанного нами внутри блока.
* Select the face that is at the bottom of the hollow space we carved earlier inside the block.
* Создаём новый эскиз, добавляем окружность радиусом 4,8825 мм, импортируем левый край поверхности, и ограничим её горизонтально и вертикально на 10,2 мм от верхнего угла поверхности:
* Create a new sketch, add a circle with a radius of 4.8825mm, import the left border of the face, and constrain it vertically and horizontally at 10.2mm from the upper corner of the face:


[[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.
* Leave edit mode, and pad this sketch with a distance of 12.6mm

* Create a linear pattern from this last pad, give it a length of 24mm and 3 occurences. We now have three filled tubes filling the hollow space:
* Покинем режим редактирования, и выдавим эскиз на 12,6 мм
* Создадим из последней выдавки линейный массив, задав длину 24 мм и 3 события. Теперь у нас внутри выемки три заполненные трубы:


[[Image:Exercise_lego_13.jpg]]
[[Image:Exercise_lego_13.jpg]]


* Теперь сделаем финальные отверстия. Выделим круглую грань первого из наших "выступов"
* Now let's make the final holes. Select the circular face of the first of our three "pins"
* Создадим новый эскиз, импортируем круговую грань, создадим окружность с ограничением по радиусу 3,6 мм, и добавим [[Image:Constraint_PointOnPoint.svg|16px]] [[Sketcher ConstrainCoincident/ru|Point on Point Constraint]] между центрами новой и импортированной окружности. Теперь у нас идеально отцентрованная окружность, и она опять полностью ограничена:
* Create a new sketch, import the circular border of our face, create a circle with a radius constraint of 3.6mm, and add a [[Image:Constraint_PointOnPoint.png|16px]] [[Constraint_PointOnPoint|Point on Point Constraint]] between the center of the imported circle and our new circle. We now have a perfectly centered circle,and once again fully constrained:


[[Image:Exercise_lego_14.jpg]]
[[Image:Exercise_lego_14.jpg]]


* Выйдем из режима редактирования, и создадим из этого эскиза глубиной 12,6 мм
* Leave edit mode, and create a pocket from this sketch, with a length of 12.6mm
* Создадим из этого кармана линейный массив длинной 24 мм с тремя событиями. Это последний шаг, наш элемент Lego готов, мы можем дать ему прекрасный цвет Победы!
* Create a linear pattern from this pocket, with a length of 24mm and 3 occurences. That's the last step, our piece of lego is now complete, we can give it a nice color of Victory!


[[Image:Exercise_lego_15.jpg]]
[[Image:Exercise_lego_15.jpg]]


Теперь мы видим, что наша история моделирования (которая видна в древе проекта) стала довольно длинной. Это прекрасно, поскольку каждый шаг нашей работы может быть потом изменён. Адаптация этой модели для другого вида кирпичиков, например, на 2x2 точки вместо 2x4, будет проще пареной репы, нам только надо будет изменить пару размеров и число шагов в линейных массивах. Мы сможем так же легко создать большие элементы, которых нет в оригинальной игре Lego.
You will notice that our modeling history (what appears in the tree view) has become quite long. This is precious because every single step of what we did can be changed later on. Adapting this model for another kind of brick, for example one with 2x2 dots, instead of 2x4, would be a piece of cake, we would just need to change a couple of dimensions and the number of occurences in linear patterns. We could as easily create bigger pieces that don't exist in the original Lego game.


Но нам может понадобиться вычистить нашу историю, например, если мы собираемся смоделировать их этих кирпичиков замок, и нам не хочется, чтобы эта история повторялась в нашем файле сотни раз.
But we could also need to get rid of the history, for example if we are going to model a castle with this brick, and we don't want to have this whole history repeated 500 times in our file.


<div class="mw-translate-fuzzy">
There are two simple ways to get rid of the history, one is using the [[Part_CreateSimpleCopy|Create simple copy]] tool from the [[Part_Module|Part Workbench]], which will create a copy of our piece that doesn't depend anymore on the history (you can delete the whole history afterwards), the other way is exporting the piece as a STEP file and reimporting it.
Есть два простых способа отбросить историю, один это использовать инструмент [[Part_SimpleCopy/ru|Create simple copy]] из [[Part_Workbench/ru|верстака Part]], который создаст независимую от истории копию нашего элемента (потом можно будет её даже удалить), другой путь - это экспортировать элемент в файл STEP и снова импортировать его.
</div>


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


But the best of both worlds also exists, which is the [https://github.com/hamish2014/FreeCAD_assembly2 Assembly2 Workbench], an addon that can be installed from the [https://github.com/FreeCAD/FreeCAD-addons FreeCAD-addons] repository. This Workbench is named "2" because there is also an official built-in Assembly Workbench in development, which is not ready yet. The Assembly2 Workbench, however, already works very well to construct assemblies, and also features a couple of object-to-object constraints which you can use to constrain the position of one object in relation to another. In the example below, however, it will be quicker and easier to position the pieces using [[Image:Draft_Move.png|16px]] [[Draft Move]] and [[Image:Draft_Rotate.png|16px]] [[Draft Rotate]] than using the Assembly2 constraints.
Но существует и лучшее из двух миров, это [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.


* Сохранить созданный нами файл
* Save the file we did until now
* Install the [https://github.com/hamish2014/FreeCAD_assembly2 Assembly2 Workbench] and restart FreeCAD
* Установить [https://github.com/hamish2014/FreeCAD_assembly2 верстак Assembly2] и перезагрузить FreeCAD
* Создать новый пустой документ
* Create a new empty document
* Switch to the Assembly2 workbench
* Переключиться на верстак Assembly2
* Press the '''Import a part from another FreeCAD document''' button
* Нажмите кнопку '''Import a part from another FreeCAD document'''
* Выбрать сохранённый нами файл
* Select the file we saved above
* Окончательный элемент будет импортирован в текущий документ. Верстак Assembly2 автоматически определит, что из нашего файла надо использовать в качестве конечного элемента, и новый объект останется связан с файлом. Если мы вернёмся и изменим содержимое первого файла, мы сможем нажать кнопку '''Update parts imported into the assembly''' для обновления деталей.
* The final piece will be imported in the current document. The Assembly2 workbench will determine automatically what is the final piece in our file that needs to be used, and the new object stays linked to the file. If we go back and modify the contents of the first file, we can press the '''Update parts imported into the assembly''' button to update the pieces here.
* By using the '''Import a part from another FreeCAD document''' button several times, and moving and rotating the pieces (with the Draft tools or by manipulating their Placement property), we can quickly create a small assembly:
* Используя кнопку '''Import a part from another FreeCAD document''' несколько раз, и перемещая и вращая детали (инструментом из Draft или изменяя параметр Placement), мы сможем быстро создать маленькую сборку:


[[Image:Exercise_lego_16.jpg]]
[[Image:Exercise_lego_16.jpg]]


'''Downloads'''
'''Загрузки'''


* The model produced during this exercise: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/lego.FCStd
* Созданная во время этого упражнения модель: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/lego.FCStd


'''Read more'''
'''Читать далее'''


* [[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">
<languages/>
{{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:}}]]

Latest revision as of 11:25, 7 March 2024

This tutorial is obsolete. Try Basic Part Design Tutorial 019 instead.

Проектирование продукта изначально было коммерческим термином, но в мире 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), мы сможем быстро создать маленькую сборку:

Загрузки

Читать далее