Draft tutorial Outdated/ru

Это руководство научит вас использовать FreeCAD модуль 2D черчения (Также называемый чертежным модулем) для создания простых архитектурных чертежей. Для этого, мы нарисуем простую каменную сторожку. Давайте предположим, что мы получили цифровой чертеж с указанием местонахождения сторожки, и мы будем использовать его чтобы начертить наш проект поверх изначальных чертежей. Мы начертим ортогональную проекцию, сечение, а также передний и задний фасад.

Прежде чем начать
Имейте в виду, что FreeCAD все еще находится в ранней стадии развития, поэтому не может быть столь же продуктивным, как другие CAD приложениями, и вы непременно столкнетесь с ошибками и падениями. Теперь FreeCAD может сохранять файлы резервных копий. Количество резервных копий может быть указано в диалоге настроек(preferences). Не стесняйтесь держать 2-3 резервных файла, пока не научитесь работать с FreeCAD.

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

Настройка рабочей области в FreeCAD
FreeCAD это программа трехмерного моделирования, но в данном руководстве мы будем использовать его только для работы в 2D. Таким, образом мы будем операться при черчении на земную поверхность, и все что мы будем делать, будет с координатой Z равной нулю. Итак, сначала, давайте установим вид сверху нажав клавишу и убедимся что находимся в режиме ортогонального проецирования (клавиша ), в противном случае мы могли бы видеть какие нибудь эффекты перспективы.

Также, очень важно установить по горячие клавиши умолчанию для чертежных команд. Так вы сможете управлять всеми командами с клавиатуры, что кардинально увеличит вашу скорость. В общем вы можете все делать с клавиатуры, а мышь вам будет нужна только для рисования точек и выбора объектов. Отправляйтесь в меню Customize -> Keyboard -> Category Python и выберете горячие клавиши которые вам будут удобны, хорошо будет если эти комбинации можно будет легко запомнить. Например, я использую L для Линии, W для ломаной кривой(Wire), A для Арки, C для Окружности(Circle), M для Перемещения(Move), R для поворота, F для смещения(Offset) (O уже занята включением Ортографического вида), D для масштабирования, T для текста, и.т.д....

Теперь когда мы все настроили, мы можем начинать рисовать(чертить).

Импорт CAD чертежей
Если вы собираетесь импортировать двухмерные cad чертежи, существует большая вероятность что они будут обладать проприетарным форматом, таким как .dwg (из AutoCAD) или .mcd (из VectorWorks). Спецификация на данный формат файлов храниться в секрете у поставщиков, так что импортировать из этого очень трудно и практически невозможно что FreeCAD будут поддерживать их. Однако, один файловый формат, достаточно хорошо описан(задокументирован) это dxf , и Чертежный Модуль частично поддерживает его.

Большинство CAD приложений могут экспортировать в dxf формат, а также вы можете самостоятельно конвертировать в dxf формат через свободные(бесплатные) конверторы, такие как openDWG "Teigha file Converter" утилита. Например, Doublecad бесплатная, полностью функциональная CAD программа которая позволит вам экспортировать в DXF:



Просто откройте ваш dxf файл через File -> Open диалог. Несколько параметров импорта можно настроить в окне Настройках Чертежа. Например, вы можете если вы хотите чтобы DXF импортировался с оригинальными цветами и толщинами линий, или преобразовывался в текущие настройки палитры, которая находиться справа на Чертежной панели. Но в FreeCAD вам не надо по цвету ваших объектов определять их ширину. Объекты обладают независимыми атрибутами задающими цвет и толщину линии. Так что вы можете навсегда забыть о DXF цветах, или конвертировать ввсе в цвета на ваш выбор.

После импорта ваш чертеж в FreeCAD, выглядит примерно так:



Начнем с того что немножко здесь приберемся.

В FreeCAD, нет слоев как в Autocad. вместо этого мы работаем с группами. Группы это другой более гибкий путь организовать(структурировать) ваш чертеж. Вы можете создать новые группы щелкну правой клавишей на древе построений, менять их местами, перемещать в другие группы, или перемещать объекты из/в группы просто перетаскивая их в окне древа построений (tree view). Вы также можете назначить текущую толщину и цвет всем объектам группы, включить/выключить их отображение нажатием.

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

Using the drawing tools
The only thing we'll need at the moment is the area that is assigned to our cabin. It lies in a separate group named "projection". So we can basically turn off everything else with the key, and start drawing on top of it. We will draw a small cabin with a guard room and a WC, in very simple structural masonry, so there won't be any need for special concretework in the plan itself. But we'll put a layer of plaster inside, and a layer of ceramics outside.

So, let's begin with doing the general shape of our walls:



Our DXF drawing was drawn in meters, so unless we have any reason to change that, we'll continue with the same units. FreeCAD currently does not have a friendly system to work with real-world units, so we simply assume that "one" means "one meter".

Another good thing to remember is to construct temporary geometry whenever you need. You want a point that lies 2 meters away horizontally? Draw a vertical line, move it 2m away, pass a horizontal line through it, there is your point.


 * Create a rectangle: Snap its cornerpoints with to the corners of the assigned area
 * Offset the rectangle: With the rectangle selected, press Offset, press to turn on copy mode, move your mouse inside the first rectangle so offset knows in which direction to go, and type 0.20, Enter
 * Turn them into a face: Upgrade the first rectangle, upgrade the second rectangle, then select the outer rectangle, CTRL-select the inner rectangle and press Downgrade
 * Create the door opening: Make a 1.00 x 0.50 rectangle, move it to the upper corner of our main wall (press to turn copy mode off).
 * Move the door opening to the right position: Move it 0.10 to the left. We won't put our opening directly on the corner, because it would make the door difficult to open.
 * Subtract the door opening: Select the wall, CTRL-select the door opening, and press downgrade.

A note about upgrade & downgrade
Now, you must be aware that the openCasCade kernel that FreeCAD is built upon, is a 3D kernel. It is made primarily for 3D operations. When it has to cut or unite planar faces, like we are doing now with upgrade/downgrade operations, it sometimes does strange things, and subsequent operations (like other upgrades/downgrades) sometimes don't give the expected results. Of course with time those behaviours will end up being corrected by the FreeCAD developers, but it is wise to know alternative ways to solve immediate problems.

The best way to solve a face that isn't upgrading/downgrading/offsetting correctly, is simply to downgrade it until it is all exploded to single edges, then upgrade those edges together again up to a new face. In case that doesn't work either, simply redraw a new wire (polyline) on top of the problematic face, snapping to its endpoints, then delete the old face and upgrade the new wire. Usually a face that you draw yourself is in much better shape than a face that you obtained by upgrade/downgrade.

Another thing to keep in mind is that when you subtract a shape from another, you can find yourself with one object containing several faces. This might difficult your further work (they don't offset correctly, etc), so a good thing in that case is always to separate them with the downgrade tool.

Another note about snapping
There are two forms of snapping in the Draft module: passive snap, which occurs when you simply pass your mouse cursor over an object (an open circle symbol appears), and active snap, which is when you press. Active snapping allows you to snap to specific points on an object, like its endpoints, midpoints, centers, or intersections with other objects. If you press, which is the key for constraining horizontally and vertically, you gain even more snapping points. But this has a cost, because FreeCAD must do many calculations in real time. If you have many objects, you'll begin to feel the difference. So a good trick to speedup your work is to take the habit of working as much as possible with and passive snapping only. You will see quickly that you'll obtain accurate results and work much faster.

So let's go back to work:


 * Create a 10cm-wide wall between the main room and the WC. Upgrade it, then upgrade it together with the main wall to unite them
 * Create other rectangles for your other openings. I put a 60cm-wide window in what will become the WC, a 80cm door between the main room and the WC, and for the big window in the main room I simply left 40cm wall at the left and right side.
 * Offset all the walls of 1cm, to make a cement/plaster layer, then downgrade the offsetted copies to turn them into simple wires
 * Create a layer of ceramics on the exterior side, by offsetting our plaster line 2cm, then drawing a 2cm-thick shape between the two lines
 * Delete the 2cm offset. that we don't need anymore, as well as all construction geometry. If you feel you might need them later, simply put them in a separate group and turn that group off with.

This is where we are now (I kept construction geometry there, in blue, for you to see):



Importing and building compound objects
In FreeCAD, compound objects are objects made with the geometry of several other objects. In other softwares, it is called blocks, symbols or components. It is a very handy way to group geometry under one single object. Any of the objects created with the draft module can be grouped into a compound. The command to create a compound is the Upgrade command. The use is simple, select everything you want to turn into a compound, and press Upgrade. If no other more intelligent shape can be created, they will be turned into a compound.

Using compound geometry is specially useful to build a symbol library on your disk, so you can reuse them later. One cool use of this, coupled to the DXF import function, is that you can very easily use symbol libraries in DXF format (if your symbols are in dwg format, the free "Teigha file Converter" application can batch-convert all your library at once).

Once you have a library of DXF symbols, just drag one of them and drop it on top of your open FreeCAD window and it will be imported in the current document. It won't be imported as a compound, but all of the symbol geometry will be placed in a separate group, so it is easy to select it all and simply press "Upgrade". Beware that AutoCAD users have the bad habit of drawing things very far from the origin point (0,0,0), your inserted symbol can then lie very far from your drawing zone.

So, back to our drawing:
 * Import a sanitary block if you have one, or pick one on the Cad Exchange site, and convert it to DXF with the "Teigha file Converter"
 * Create the geometry for a door, upgrade it to a compound, copy it to the other door location, downgrade it, adjust the elements to the new size, and upgrade it again
 * Do the same for the windows



Dimensions and annotations
Now that our plan is more or less ready, we can add dimensions and texts. This is usually pretty straightforward, so there is probably no need to explain much. Just try to dimension everything, and as a convention, always start the dimension lines from the main wall line, not the finishing layer. One thing is good to know, sometimes you draw a text or a dimension over a filled area, and the filled area will cover your dimension. There is a simple way to fix that, it is by downgrading and upgrading again the filled area. It will then be displayed under the other elements.

The dimension and text will by default have the same text height, which can be changed in the Draft Preferences page. You can then edit individually each text height.

Unfortunately certain non-geometry objects like texts and dimension are still not selectable in the FreeCAD 3D view, you must therefore select them in the tree, and you won't be able to snap to them, but this will probably be solved in a near future. It is also not possible at the moment to choose a font style. To align dimensions, at the moment, you need to draw a line first, then snap your dimensions to that line.



Organizing
Finally, we can add a few things to finish our plan, like putting vegetation around the cabin. We can simply copy a few trees from our imported DXF drawing and scale them down with the scale tool, to for example (0.5,0.5). We can also change the line thickness of a couple of objects, for example make the walls thicker, and change the color of some things. And we can organize all our elements in groups.

The ability to organize your work in nested groups is surely one of the big advantages of groups over traditional work with layers. In this tutorial, I grouped my objects by type, inside the Plan group. For example, instead of having one big layer with all dimensions of your drawing, each part of the drawing will contain their own dimensions group, making it extremely easy to organize your drawing.

You might feel a loss at first if you come from a traditional drawing program like AutoCAD, but you'll quickly see the power that this method brings.

For example, all our construction geometry can go in a separate group, that we'll turn off. Maybe later we'll need to make some changes, and it will be handy to have that geometry available.

So, now we are ready to draw other parts...

Drawing the elevations
Since in this exercise we are going to stay in pure 2D, we will draw our elevations and sections directly. In more advanced architecture environments (what FreeCAD will hopefully become in some future), we wouldn't need to draw the elevations. We would model the building in 3D and then generate the different views automatically. But for the sake of this exercise (and also because all the needed tools are still not implemented in FreeCAD), we'll do it by hand, like in the old times.

We'll begin with the rear wall elevation, because the way our plan is oriented, it can be drawn directly below it, without the need to rotate the view. We will simply draw construction lines from the plan, set horizontal lines to the desired heights, I set the 0.00 level, the +0.15 level of the slab, then heights for the windows, and the roof slab at +2.50. We can then draw our geometry very quickly on top of it.

We can then place a couple of annotations, dimensions, and upgrade some of the objects so they appear filled with a color. Finally, we can make a bit of cleaning by creating a "South Elevation" group, then subgroups for our construction geometry and annotations, and place all of our new objects in them.

Rotating the view, and creating macros
Now, we need to draw other elevations of our little building. The simplest way would be to draw them directly under the plan view, as we did with the south elevation. For this, it would be handy to be able to rotate the view by 90°, so we can continue drawing our elevations "on foot". Unfortunately, FreeCAD has at the moment no "Rotate View" tool. But, fortunately, it has tools for us to easily create our own tools, called Macros. So, this is a good opportunity for us to try something easy.

Macros, as well as all scripting in FreeCAD, is done in a very simple programming language called python. You can write very complex programs in FreeCAD in python, but you can also use it to perform very simple operations where there still isn't a proper FreeCAD toolbar icon, such as our Rotate The View tool. So, first thing to do, open the Report view, if you closed it, and select the python tab. In there, type (or copy/paste) the following code:

This small script will simply rotate the view by 90° (left). For rotating by -90° (right), you would simply change math.pi/2 by -math.pi/2. If you would like to learn more about python scripting in FreeCAD, there is an extensive Scripting section on this wiki.

Now, we need to do one more step, which is save our piece of code in a macro, so we can reuse it later. So, instead of pasting our code in the python interpreter, let's open the macro manager (Tools -> Macros), create a new macro, press the "Edit" button and paste our code in it. Close the macro editor tab, and the macro will be saved.

The macros can behave like any other FreeCAD tool. With the Tools -> Customize menu, we can add an icon to our macro, a keyboard shortcut, and add it to a toolbar.

Drawing the rotated views


Now that we can rotate the view at will, we can draw our other elevations. The easiest way is to draw your elevation at the right place under the plan view, and use a "mirror" (a 45°-oriented line) to push the height lines from another elevation. This way, drawing goes pretty fast.

Finally, we draw 2 others elevations, and since the fourth one is the same as the second one (but mirrored), we will skip it. We can then draw a cross section, and our drawing is complete:



To be continued...