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 имеется специальный инструмент для создания фасок, но мы сейчас сделаем фаску с помощью другого примитива и булевой операции обрезания.

Create a new Box with dimensions 60 x 30 x 30. Change the placement angle to -30 degrees.



The placement angle is using the placement vector (Axis) as axis of rotation. The default is the z-axis, which is not matching our target direction, changing the placement vector to the y-axis produces the desired orientation of the cutting tool for the chamfer.



The same placement can be attained with other values as well, the simplest alternative example of a placement that is the same is an angle of +30 degrees and a y-axis of -1.

Python console
Furthermore the position needs to be adjusted, looking at the drawing of the finished part, there is no direct dimension to use for the intended translation upwards. Since the upward dimension is the one needed, we have to calculate it. Let’s make use of the built in Python console for those calculations, it is basic trigonometry. If the FreeCAD Python console is not visible for you, just right-click in an empty space in the toolbar area and check the Python console and it should appear in the workspace, when there you should as well add the report view if not already visible. The report view most of the times provides useful information or even hints of what to do next for different commands.



After importing the math module from the standard libraries in python we can use the formula (50 - math.tan(math.radians(30)) * 50) to find the distance in z-direction that the block should be moved. Copy the result of the formula from the Python console and paste it into the z position for Cube001. The tool to use for the chamfer cut is now properly oriented and positioned.



Expressions
One does not have to use the Python console to do the calculation, In most cases when dealing with numeric parametric values, FreeCAD has a short-cut to a built-in calculator. It is called Expressions in FreeCAD, you can enter the expression mode by first clicking in the spinbox for the z-position, a small blueish circular icon will appear at the right side.



Clicking that icon opens new window Formula editor where formulas and expressions can be entered as shown below. Using expressions is a powerful tool, since one can access parameters from the model, effectively making all parameters in the model available as variables to be used when creating an expression. In short, in our formula, instead of entering the number 50 when in the formula editor, we could enter a named parameter holding the value 50 from the cube, with the benefit that if we change the cube height, the position of the chamfer will automatically follow. The value of 50 in the current model is referred to as Cube.Length, i.e. the Length property of the Cube feature. Further information on this can be found on the wiki.



To make the cut, with the key pressed down first select the Fillet in the Tree view and then the latest created cube (named Cube001) and finally in the toolbar press the  Cut button. Your Tree view should now again be a single object in the root called Cut.



The toolbars
A sidenote on the toolbars, since they are the typical avenue to invoke commands. Although there is a basic setting for the layout of the toolbars, the actual layout on your computer could turn out to be less than ideal. In such cases it is easy to adjust. Consider the upper section of the below image. There are two rows of toolbars and only a limited number of the Part Workbench toolbar buttons are visible. The simplest way to see more toolbar buttons is to maximize the FreeCAD window, unless it already is maximized of course.

More common is to adjust the layout of the toolbars to suit your needs and your specific computer. The repositioning is done with the handle on the left of each toolbar. You can just click and drag the handle to a new location. In the lower section of the below image the toolbar positions have been adjusted, revealing their full content. Changes to toolbar positions are persistent through sessions.



The measurement tool
The measurement tool in the Part Workbench can be used to check that our calculation and placement of the chamfer is correct. Press the Measure Linear button and a task panel opens up, then select the 2 endpoints of one side of the chamfer.



It checks out with an x dimension of 50 mm, clear the measurement and close the dialogue.

Create the hole
To make the hole, press the Cylinder button, set the radius to 5 mm and height to 50 mm.



Next we need to position the hole according to the dimensions in the drawing. Change the view to Top view, then right-click the Cylinder in the Tree view and select Transform from the pop-up menu.



Change the Translation increment to 5 and use the red and green arrow to position the cylinder in the right position, moving it 15 mm in y and 65 in x by dragging the arrow ends with the mouse. Click to close the Transform dialogue. To make the hole press the key and select the Cut and Cylinder in the Tree view, then press the  Cut button in the toolbar. Your Tree view should once again have a single object in the root called Cut001.

Congratulations, the model is now ready.



With the basic model ready, let us explore different ways to alter this model, some examples are related to the appearance, additional features, or simply a different way to do the same.

Changing the color and transparency
There are several different ways one can change the appearance of objects, for this case, let's use the view tab in the property part of the combo view. First select the object in the Tree view and then edit any property like line color, shape color or transparency via the view tab (found at the bottom of the combo view).



Unfortunately when the object is selected it is a bit hard to see how it will look when tuning the new appearance. To see the final result one has to deselect the object. Here is the new look of the model, where one now can see the through hole also in the iso-view. Another way to edit the appearance is via the menu.



A different way to locate the hole
Do a save-as under a new name. Then delete the cut that added the hole and move the cylinder back to zero position. Your model should look like the below picture, which is the starting point for using a different technique to locate the hole at the center of the upper face. Note that the color is back to the default gray, the change in appearance we did was on the cut object which now is deleted.



This time the Draft Workbench 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.