Creating a simple part with Part WB/ru

Введение
Это руководство является введением в 3D моделирование с использованием верстака Part в системе FreeCAD. После его прочтения вы сможете создавать простые 3D модели с использованием таких примитивов как кубы, цилиндры, и т.д. с применением техники Constructive Solid Geometry, сокращенно CSG моделирование. Другим способом создать 3D модели можно с использованием двумерных фигур путем вращения и движения этих фигур в 3D пространстве. Подробнее об этой технике читайте, пожалуйста, в руководстве Creating a simple part with PartDesign. В этих двух руководствах специально рассматривается одна и та же модель для того, чтобы начинающие на собственном опыте изучили две разные техники их создания и то, как они реализованы в системе FreeCAD. Эти техники различаются концептуально, но при создании моделей их можно использовать одновременно. Есть некоторые ограничения при одновременном использовании двух техник моделирования, но они касаются встроенного языка программирования FreeCAD. Существует руководство Creating a simple part with Draft and Part WB, которое является примером использования двух техник моделирования одновременно. Оно использует верстак Draft и 2D фигуры, с помощью которых затем в верстаке Part создаётся 3D модель такая же, как в этом руководстве.

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



Многие новички в CAD системах застревают на решении тех или иных проблем при их изучении. Если это произошло с вами, пожалуйста, ищите решение в wiki или на форуме – возможно другие уже сталкивались с такой проблемой ранее и уже нашли её решение. Или создайте на форуме сообщение с вашим вопросом или решением проблемы. Форум имеет множество тем, где пользователи могут помочь найти решение по всем проблемам, эти темы бывают похожи на руководства и часто имеют полезные фотографии.



Содержание руководства

 * Создаваемая модель
 * Применение верстака Part для создания модели с использованием примитивов
 * Изменение цвета и прозрачности
 * Другой способ размещения отверстий
 * Создание отверстия с фаской
 * Создание полой детали
 * Другой способ создания фаски
 * Редактирование размеров
 * Организация дерева немного по-другому
 * Подведение итогов



Создаваемая модель






Применение верстака Part для создания модели с использованием примитивов
Создайте новый документ и сразу же сохраните его под новым именем. Возьмите хорошую привычку регулярно сохранять документ, или сохраняйте его хотя бы перед большими изменениями. Затем включите верстак Part используя либо переключатель верстаков (помечен числом 10 на картинке по ссылке), либо через главное меню. FreeCAD запустится с панелями инструментов вверху, комбинированным видом слева и 3D видом справа.



Создание основного твердого тела
Кликните мышкой на иконке Создать твердотельный куб чтобы создать исходный куб. Он появится в окне 3D вид и в виде нового объекта в Дереве проекта на боковой панели.

Нажмите Установить изометрический вид чтобы видеть куб в 3D пространстве.



Выберите куб в Дереве проекта, в окне 3D вида он окрасится в зелёный цвет. Ниже в дереве проекта вы теперь сможете увидеть, что по умолчанию куб создан с размерами Длина x Ширина x Высота в 10 x 10 x 10 mm. Измените эти размеры на 100 x 30 x 50, это будут исходные размеры модели.



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

Кликните мышкой на иконке Уместить все содержимое на экране чтобы поместить модель в центр окна 3D вида.





Создание скругления
Для того, чтобы создать скругление ребра модели, на панели инструментов выберите иконку Скругление выбранного края формы, которая откроет панель задач для скруглений в Комбо панели. Указателем мыши выберите верхний правый угол модели и установите значение Радиус в 20 мм, и нажмите кнопку.



Панель задач закроется и на дереве проекта появится объект Fillet вместо прежнего куба.



Видимость дочерних объектов
Кликните мышкой на плюсике/стрелочке вниз в дереве проекта чтобы посмотреть дочерние объекты Fillet. Это в нашем случае будет объект Cube, который мы создали ранее. Но он сейчас стал не активным, серым. Выберите его и нажмите пробел – это переключит видимость объекта Cube и он сейчас снова станет видимым и его иконка уже не будет серой. Чтобы зафиксировать изменения кликните мышкой в пустом пространстве дерева проектов или окна 3D вида.





Создание фаски
Теперь создадим 30-ти градусную фаску, предварительно сделав видимым дочерний объект Куб объекта Скругление. В верстаке Part имеется специальный инструмент для создания фасок, но мы сейчас сделаем фаску с помощью другого примитива и булевой операции обрезания.

Создайте новый объект Твердотельный куб и дайте ему размеры 60 x 30 x 30. В свойстве Placement установите угол в -30 градусов.



Угол положения объекта использует  координатные оси как оси вращения. Осью вращения по умолчанию является ось Z, которая нам не подходит. Поэтому смените ось вращения на ось Y, установив значение z свойства объекта Ось в 0, а значение y в 1.



Того эффекта можно достичь, если угол вращения мы установим в +30 градусов, а значение у объекта Ось в -1.



Консоль Python
Если посмотреть на чертеж готовой детали, то положение тела, которое мы сейчас добавили, нужно скорректировать. Но нет точной величины, на которую мы должны поднять его вверх. Её мы должны вычислить. Давайте вычисления сделаем в Консоли Python, это основы тригонометрии. Если консоль Python системы FreeCAD у вас не отображается, то в пустом месте панели инструментов нажмите правую кнопку мыши, а затем поставьте галочку в строчке Консоль Python. Консоль появится в рабочем пространстве FreeCAD. То же самое сделайте с консолью Отчет. На ней обычно выводится полезная информация или сообщения о том, что нужно делать дальше для некоторых комманд.



В консоли Python прежде всего мы должны загрузить стандартную библиотеку math, после чего по формуле (50 - math.tan(math.radians(30)) * 50) мы можем вычислить величину, на которую нужно поднять тело в направлении оси Z. Скопируйте результат вычислений из консоли Python и вставьте его в значение z свойства Положение объекта Cube001. Инструмент для снятия фаски теперь правильно ориентирован и расположен.



Выражения
Для вычислений не обязательно использовать консоль Python, в большинстве случаев при работе с числовыми значениями можно обойтись встроенным калькулятором FreeCAD. Во FreeCAD это называется Выражения. В режим Выражения вы можете войти по первому нажатию левой кнопки мыши на значении z свойства Положение в дереве проекта, после которого справа появится маленький круглый голубой значок.



Если мы нажмем на этот значок, появится маленькое окно Редактор формул, где, как показано ниже, можно вводить формулы и выражения. Выражения - это мощный инструмент, т.к. они могут оперировать параметрами модели, используя их как переменные при вычислениях. Короче, в нашей формуле вместо числа 50 мы могли бы ввести Имя параметра, содержащего высоту основного тела. Тогда бы при изменении высоты основного тела автоматически изменялось бы положение фаски. 50 - это высота исходного куба, на которую можно ссылаться как Cube.Height, т.е. свойство Height объекта Cube. Более подробную информацию вы можете найти на wiki.



Чтобы снять фаску, нажмите и держите нажатой кнопку, затем левой кнопкой мыши кликните на объекте Fillet в дереве проекта, потом на объекте второго добавленного куба (называется Cube001) и, наконец, в панели инструментов кликните на иконке Обрезать две фигуры. На вашем дереве проекта теперь должен оказаться единственный объект под названием Cut.





Панели инструментов
Поговорим о панелях инструментов, т.к. они являются самым распространенным способом выполнения команд. Расположение панелей инструментов по умолчанию может быть далеким от идеала на мониторе вашего компьютера. Но, к счастью, их расположение легко настроить. Посмотрите на верхнюю часть картинки ниже. На ней два ряда панелей инструментов, но видно только ограниченное количество кнопок инструментов верстака Part. Простейший путь сделать видимым большее количество кнопок инструментов - это расширить окно FreeCAD, если это еще не сделано.

Обычно расположение панелей инструментов настраивается под свой вкус и возможности монитора. Для перемещения панели необходимо нажать левую кнопку на левом крае панели и не отпуская кнопку перенести панель в нужное место, затем кнопку отпустить. В нижней части картинки расположение панелей инструментов было скорректировано, для того, чтобы показать их полное содержание. Расположение панелей инструментов запоминается.





Измерительный инструмент
Для проверки наших вычислений и верности расположения фаски можно использовать Измерительный инструмент верстака Part. Для этого нажмите на иконку Рулетка, откроется панель задач. Затем мышкой на модели выберите два конца ребра фаски.



Убедившись, что размеры соответствуют вычисленным, можно нажать на кнопку Clear all dimensions и закрыть диалог.



Создание отверстия
Чтобы создать отверстие нажмите на иконку Cylinder, установите радиус в 5 мм и высоту в 50 мм.



Далее нам нужно разместить отверстие согласно размерам на чертеже. Установите  Вид сверху,  нажатием правой кнопкой мыши на объекте Цилиндр в дереве проекта откройте меню и выберите в нем строку  Преобразовать.



Установите Приращение перемещения в 5 мм. Используя красную и зеленую стрелки переместите цилиндр на 15мм по оси y и на 65мм по оси x. Для этого нужно на стрелке нажать на левую кнопку мыши и не отпуская ее вести цилиндр к нужной позиции, затем кнопку отпустить. Нажмите кнопку и закройте диалог Приращения. Чтобы сделать отверстие, нажмите кнопку, левой кнопкой мыши на дереве проекта выберите объекты Cut и Цилиндр, затем нажмите на иконку Обрезать две фигуры в панели инструментов. Теперь на вашем дереве проекта будет один объект Cut001.

Поздравляем, модель готова.



Теперь, когда модель готова, давайте изучим возможности по изменению самой модели, ее внешнего вида, некоторые дополнительные возможности и разные варианты изменений.



Изменение цвета и прозрачности
Внешний вид объекта можно изменить различными способами, например, с помощью вкладки Вид таблицы свойств на комбо панели. Просто выберите объект на дереве проекта и изменяйте свойства объекта - цвет линий, цвет формы или её прозрачность.



К сожалению, когда объект активен, т.е. выделен, не видно, каким будет его внешний вид после изменений. Чтобы увидеть изменения нужно сделать его не активным. Установите изометрический вид, так отверстие в модели будет видно лучше. Другим способом изменить внешний вид можно через меню.





Другой способ размещения отверстия
В меню сохраните проект под новым именем. Удалите объект Cut001 и переместите цилиндр в исходную позицию. Ваша модель должна выглядеть как на картинке ниже. Рассмотрим различные варианты создания отверстия в центре верхней поверхности модели. Заметьте, что цвет модели опять стал серым и все изменения, которые мы сделали, исчезли.



Сейчас мы будем использовать верстак Чертеж will be used to locate the hole. The hole is as before to be located at the center of the upper face, which is the same as the midpoint of the diagonal of the upper face.

Start by switching the workbench to Draft, it might be that a grid appears in the 3D view, the grid visibility can be toggled with Toggle Grid in the toolbar. When making use of the snap functionality in the Draft Workbench it helps to only have the snap types of interest enabled. This time it is sufficient to leave endpoint, midpoint and circle center enabled, so the settings for snapping should look something like below.



Finding the point to place the center of the cylinder could be done by making a diagonal as helpline and use the center of the cylinder and midpoint of the diagonal to identify the points to move between, however it turns out that we do not even need to make any helplines, we can snap on already existing solid geometry.

Select the Cylinder in the Tree view (it turns green in the 3D view) and press the Move button in the toolbar. A task panel opens for moving objects, make sure that Copy is unchecked.



Then move the mouse to the upper face of the cylinder so that you see a white dot in the center of the circle as per the left picture below, this together with the center symbol next to the mouse pointer means that a left button mouse click will snap to the white point.



When you have the white dot on the upper face, click the left mouse button, and repeat for the upper square face of the main solid, like the right picture above, and confirm the choice with a left mouse button click. The snap function makes use of mass-center for any type of face, and in this case the mass center is the same as the geometrical center that is sought after. You will by now have noticed that the move of the cylinder is animated, so you always see what is about to happen.

Repeating the step of the boolean cut from earlier once again will make the through hole that completes the model. Using the linear measurement tool in the Part Workbench, a check that the hole is correctly placed is done. The measurement can only be done between points, so the measurement is done from main body zero to the seam point of the cylinder, meaning that the correct distance is 70 mm instead of the 65 that is on the drawing to account for the extra radius that is included in the distance.



Making the hole a countersunk hole
Switch back to the Part Workbench and create a cone by pressing the Cone button in the toolbar. Change radius1 to 0 mm and radius2 to 7 mm – this will give a 2 mm countersink on the radius. Making the height of the cone 7 mm results in a 90 degree top angle of the cone, or 45 degree countersink angle. Worth to note is that again one could as well use the Chamfer operation.

When working with FreeCAD you will continuously be faced with several different ways to achieve seemingly the same result. There is hardly any absolute truth in what is the right way to achieve a particular end result – however when looking in a specific context one specific workflow can be more flexible, allow for later features to actually be used etc. How you build 3D models will evolve over time as you along the way learn more and more about the features and capabilities of FreeCAD.



Translate the cone so that it is concentric with the hole and coplanar with the main solid upper surface. Use any method described earlier in this tutorial to accomplish that.

In the picture below the move is made with Transform and an increment setting of 1 mm, since the cone has a characteristic dimension of 7 mm, meaning that the earlier increment setting of 5 mm will not allow for correct positioning. The Wireframe rendering is used to easier see that the cone is in the right position.



To complete the model, let's make use of the Boolean command instead of first selecting objects and apply a specific boolean operation. Press the toolbar button and a task panel opens as per the below picture to the left.



Three items needs to be specified, the operation type, the first shape and the second shape. The cone is supposed to be cut, this is called Difference in this command, instead of Cut. The first shape is our Cut001, it is listed under compounds, since it is build from several solids. The second shape is the Cone. Once the correct settings are made for the command, click the button to execute the operation. This has all been done in the picture to the right, and there one can also see that a compound Cut002 is now listed, this is our final model shape. After having changed the appearance the final model looks like this.



Making a hollow piece
Do a save-as under a new name. FreeCAD has all of the typical operations of a 3D modeller, one of them is Thickness, which is used to hollow out parts.

Rotate the view so that the bottom face of the model is visible.



Select the bottom face of the model, then in the Part Workbench select Thickness and the screen should look like below.



Click, as you can see there is now a radius on the hollowed out part.



Moreover, when taking a measurement of the width of the part, it is now 32 mm, so the thickness has been applied outwards. Let’s edit that, double-click the model in the Tree view and modify the join-type settings to intersection and the thickness setting to -1.



Now the outer width of the part is 30 mm, same as before and the corners are all sharp corners.



A different way to position the chamfer
Do a save-as under a new name. Then delete features so that the model looks like below.



Make a Cube with dimensions 30x30x60, ending up like below.



Change the placement by first rotating -120 degrees around the Y-axis.



Finally, change the position to X=50 and Z=50 and make the cut to produce the same result as earlier.



This once again highlights that there are always several ways to produce the same outcome, which is a recurring theme when it comes to 3D modeling. When it comes to basic geometries or solids, one can use different workbenches in FreeCAD as well as different commands and still have the same outer shape of a solid. You simply need to find your own way to a set of preferred tools and workflow that you are comfortable in using. Modeling in parametric 3D is a process of constant learning, and takes practice to master.

Editing dimensions, face colors and TNP
FreeCAD is a parametric 3D modeler, this allows you to change any placement or dimension and the model will update accordingly. In general this works, but it is possible to break a model when edited – for example when a fillet is based on an edge that no longer exists due to editing. When a model breaks during editing, it is referred to as TNP, Topological Naming Problem.

Go ahead and experiment with changing dimensions and placements to see if you can break the model, do not forget to recalculate the model after changes if required. This can be done with the Refresh button in the toolbar, if the icon is grayed out it is not needed to refresh the object.

Reposition the cylinder
Here is an example of the cylinder moved from the center to one side of the main body by using Transform on the cylinder. As can be seen in the picture, the cone is still in the original position, not affected by the move of the cylinder.



When you move the cylinder and break through the outer surface, in version 0.19 you are loosing part of the color settings on your model. FreeCAD reverts to the user default settings for shape colors and transparency in the 3D view, however the Cut002 shape still shows the colors and transparency that it had before as seen in below picture.

Fixing the colors


Here is one way to get it back. First change transparency one tick up or down and then back, that brings back the transparency. You can do the same trick on shape color. Another way to get the color back is to right-click Cut002 in the Tree view and select Set Colors in the context menu. In the task panel that displays, click, that brings back the color to the one set in the view-properties.



The Set Colors command allows you to select individual faces of a shape and set a unique color on the selected faces.

Multiple solids
Another example where the cube that is making the chamfer has been translated and rotated.



As can be seen when repositioning the chamfer in this way, the end result is 3 disjoint solids. Part Workbench allows this, PartDesign Workbench does not, either you will get an multiple solids error or it will simply not render all solids.

TNP
Going back to the original completed model, let’s explore how the faces are named.

Here the selection view has been made active, just to show clearly what is selected and not, also coloring is adjusted so that the selection is easier to see.



Selecting one side face and the cylinder inner face gives that they are internally called face 2 and 9, where face 2 is the side face. Face numbering can be different for you.

Moving the cylinder so that the cavity ends up on the side face, and doing the selection of faces now gives a different number for the cylindrical face.



Face 2 is the right side of the original face 2, the left side of former face 2 is now face 8. The cylindrical part was face 9, but is now face 7. FreeCAD reassigns the numbering and the order is not necessarily preserved. The total face count in the first model is 10, in the version with the cylindrical face piercing the side face, the total face count is 11. So obviously face numbering has to change when the so called topology changes. This probably feels like a minute detail, but turns out to be quite important in parametric 3D CAD. Imagine that you have used the cylindrical face as reference for another feature, it used to be called face 9, but is now called face 8. The reference to the intended cylindrical surface is lost. Since FreeCAD, at least in currently released versions does not keep track of the intended face, it only keeps track of the numbered face, a model breaks when a reference is made to a face that later is renumbered. This is called TNP, Topological Naming Problem.

You are encouraged to learn how to avoid broken models due to TNP, further reading can be done elsewhere on the wiki, which largely focuses on a sketch driven workflow, the underlying mechanism is the same though. The renumbering described here for faces goes for all geometrical entities, faces, edges and vertexes.

Organizing the tree a bit differently
Do a save-as under a new name. Then delete all the cuts ending up with a model looking like below.



When using the Part Workbench and modelling feature rich solids, the tree structure of a solid can become hard to decipher. So far we have created one primitive / feature and applied a boolean operation. In the Part Workbench one can bundle primitives into one boolean operation. In our case we have the cylinder, cone and cube that are all a cut boolean operation.

Instead of making a cut for each primitive, we can first apply a boolean union, Fuse the primitives intended for the boolean cut, and then make the cut between the Fillet and the Fusion.

Using this approach, the Tree view ends up looking like below, which is just a different way of building the same model. Compare this with the original Tree view, none is better than the other, however when making more complex models, one approach over the other can have benefits in ease of modifying/reorganizing the model if needed.



Wrapping up
Having gone through the tutorial you are now briefly acquainted with the user interface of FreeCAD and you have learned the basics in using the Part Workbench. You should now be able to build simple models after your own liking. The Part Workbench is one of the workbenches that can be used to create solids, the PartDesign Workbench is another. The different workbenches have different capabilities and workflows. Learning FreeCAD in full, especially considering all add-ons and macros takes years, so keep on exploring new and different ways of making models – take different tutorials on the wiki, the learning never stops when working with FreeCAD. It is suggested that you learn sketches and the PartDesign Workbench next if your focus is on creating solids. If your focus is modelling buildings your next learning should be the Draft and Arch workbenches.

At last, FreeCAD is made by volunteers in their spare time. If you want to further advance FreeCAD’s capabilities, consider contributing to FreeCAD, for example by improving the documentation.