Draft tutorial Outdated/it

This tutorial will teach you how to use FreeCAD's 2D drafting module (also called Draft module) to create a simple architecture drawing. For this purpose, we will be drawing a simple masonry cabin. Let's assume that we received a CAD drawing showing the location of the cabin, and we'll use it to draw our project on top of it. We'll draw a plan, a section and two elevations.

Prima di iniziare
Ricordate che FreeCAD è ancora in una fase iniziale di sviluppo, quindi potrebbe non essere così produttivo come altre applicazioni CAD, e incontrerete certamente dei bug o dei crash. Ora FreeCAD ha la possibilità di salvare i file di backup. Il numero di questi file di backup può essere specificato nella finestra di dialogo delle preferenze. Non esitate a consentire 2 o 3 file di backup finché non sapete bene come comportarvi con FreeCAD.

Save your work often, from time to time save your work under a different name, so you have a "safe" copy to fall back to, and be prepared to the possibilty that some commands might not give you the expected results.

Setting up your FreeCAD workspace
FreeCAD is a 3D modeler, but in this tutorial we will use it only for working in 2D. So, we will be drawing on the ground plane, and everything we do will have a Z coordinate of zero. So first, let's put ourselves in top view by pressing the and be sure we are in orthographic projection (key ) otherwise we might get fooled by some perspective effects.

Un'altra cosa molto importante da fare, è quello di personalizzare i tasti scorciatoia dei vostri comandi di Draft. Così potrete eseguire tutti i comandi da tastiera e incrementare drasticamente la velocità. Fondamentalmente si può fare tutto dalla tastiera, il mouse serve solo per disegnare i punti e per selezionare gli oggetti. Andate nel menu Personalizza -> Tastiera -> Category Python e selezionate le scorciatoie come preferite, una buona idea è quella di renderli facili da ricordare. Ad esempio, io uso L per la linea, W per Polilinea (chiamata anche Wire in FreeCAD), A per Arco, C per Cerchio, M per il movimento, R per ruotare, F per Offset (O è già usato per ortografico), D per Dimensione, T per il testo, ecc ..

Finita la configurazione, possiamo cominciare a disegnare.

Importare i disegni CAD
Se avete intenzione di importare un disegno CAD 2D, ci sono molte probabilità che esso sia in un formato proprietario come .dwg (da AutoCAD) o .mcd (da VectorWorks). Le specifiche di tali formati di file vengono tenuti segreti dai loro creatori, per cui è estremamente difficile o del tutto impossibile supportarli in FreeCAD. Tuttavia, un formato di file che è abbastanza ben documentato è il formato DXF, e il modulo Draft lo supporta parzialmente.

Almost all CAD applications can export to the DXF format, and you also have several free converters such as openDWG's "Teigha file Converter" utility, that will allow you to convert your file to the DXF format. For example, Doublecad is a free, fully functional CAD program that allows you to export DXF files:



Open your DXF file simply with the File -> Open dialog. Several import settings can be configured in the Draft Preferences screen. For example, you can configure if you want the DXF file to be imported with original colors and linewidths, or converted to current Draft color, that you see at the right side of the Draft command bar. But in FreeCAD you won't need to attribute ugly colors to your objects to determine their linewidth. Objects all have independent color and linewidth attributes. So, you can very well forget about DXF colors, or convert everything to the colors of your choice.

Dopo averlo importato in FreeCAD, il disegno sarà simile a questo:



Continuiamo facendo qualche pulizia.

In FreeCAD, non ci sono i layer (livelli o strati) come in AutoCAD. Noi lavoriamo invece con i gruppi. I gruppi sono un modo più flessibile per organizzare il disegno. È possibile creare dei nuovi gruppi con il tasto destro del mouse sulla vista ad albero, riorganizzarli, spostarli in altri gruppi, o spostare oggetti da o per gruppi semplicemente trascinando e rilasciando le cose nella vista ad albero. Inoltre, è possibile assegnare similtaneamente la larghezza di linea e i colori correnti a tutti gli oggetti in un gruppo, oppure attivarli o disattivarli premendo la barra.

Let's put all our objects into one new group, and turn off everything we won't use, like vegetation and dimensions, to speed up our work.

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:



Il nostro disegno DXF è stato redatto in metri, quindi a meno che non abbiamo qualche motivo per cambiare, continueremo con le stesse unità. FreeCAD al momento non ha ancora un sistema amichevole per lavorare con le unità reali, quindi supponiamo che "uno" significhi "un metro".

Un'altra buona cosa che è bene ricordare è quella di costruire la geometria temporanea quando serve. Volete avere un punto che si trovi a 2 metri di distanza orizzontale? Disegnate una linea verticale, spostatela alla distanza di 2m, e incrociatela con una linea orizzontale ed ecco costruito il punto.


 * 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.

Un'altra cosa da tenere a mente è che quando si sottrae una forma da un'altra, ci si può trovare con un oggetto che contiene diverse facce. Questo potrebbe rendere difficile il lavoro successivo (offset non realizzati correttamente, ecc), quindi una buona cosa in questo caso è quello di separarle sempre con lo strumento downgrade.

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.

Ora torniamo al lavoro:


 * 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):



Importare e costruire oggetti composti
In FreeCAD, gli oggetti composti sono degli oggetti realizzati con la geometria di alcuni altri oggetti. In altri software, si parla di blocchi, simboli o componenti. È un modo molto pratico per raggruppare le geometrie sotto un unico oggetto. Tutti gli oggetti creati con il modulo Draft possono essere raggruppati in un composto. Il comando per creare un composto è Upgrade. Il suo utilizzo è semplice, selezionate tutto quello che volete trasformare in un composto e poi premete Upgrade. Se non è possibile creare nessuna altra forma più intelligente, gli oggetti saranno trasformati in un composto.

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.

Quindi, tornando al nostro disegno:
 * Importate un blocco sanitario se ne avete uno, oppure sceglietene uno in nel sito Cad Exchange e convertirlo in DXF con "Teigha file Converter"
 * Create la geometria per una porta, applicate upgrade per produrre un composto, copiate il composto nella posizione dell'altra porta, applicate downgrade, adeguate gli elementi alla nuova dimensione, e poi applicate di nuovo upgrade
 * Fate la stessa cosa per le finestre



Quote e annotazioni
Ora che il nostro piano è più o meno pronto, possiamo aggiungere le dimensioni e i testi. Di solito, questo è abbastanza semplice, quindi probabilmente non c'è bisogno di spiegare molto. Basta provare a quotare tutto, e come da convenzione, far partire sempre le linee di quota dalla linea della parete principale, non dallo strato di finitura. Una cosa è bene sapere, a volte si disegna un testo o una quota in una zona riempita e il riempimento dell'area copre la dimensione. C'è un modo semplice per risolvere questo, applicate un downgrade e poi di nuovo un upgrade all'area riempita. In questo modo il riempimento risulta visualizzato sotto agli altri elementi che diventano così visibili.

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
Infine, possiamo aggiungere un paio di cose per finire il piano, come mettere la vegetazione intorno alla cabina. Basta copiare alcuni alberi dal disegno DXF importato e scalarli con lo strumento scala, per esempio a (0.5,0.5). Possiamo anche modificare lo spessore di un paio di oggetti, per esempio, fare i muri più spessi e cambiare il colore di alcune cose. Possiamo organizzare tutti i nostri elementi in gruppi.

La capacità di organizzare il lavoro in gruppi nidificati è sicuramente uno dei grandi vantaggi dei gruppi rispetto al lavoro più tradizionale basato sui livelli. In questo tutorial, ho raggruppato i miei oggetti per tipo, all'interno del gruppo Piano. Ad esempio, invece di avere un grande livello con tutte le dimensioni del disegno, ogni parte del disegno contine il proprio gruppo dimensioni, rendendo estremamente facile organizzare il disegno.

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.

Ad esempio, tutta la nostra geometria di costruzione può andare in un gruppo separato, che disattiviamo. Forse più avanti avremo bisogno di apportare alcune modifiche, e sarà comodo avere quella geometria a disposizione.

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.

Iniziamo con il prospetto della parete posteriore perché, dato il modo in cui il nostro piano è orientato, può essere disegnato direttamente sotto di esso, senza la necessità di ruotare la vista. Disegnamo le linee di costruzione del piano, le linee orizzontali posizionate alle altezze desiderate. Io ho impostato il livello 0,00, il livello della soletta del pavimento a +0,15, le altezze delle finestre e il solaio di copertura a +2.50. Dopo, basandoci su queste linee, possiamo disegnare molto rapidamente la geometria.

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.

Le Macro, così come tutti gli script in FreeCAD, sono fatte nel linguaggio di programmazione python che è molto semplice. In python è possibile scrivere per FreeCAD programmi molto complessi, ma è anche possibile utilizzarlo per eseguire delle operazioni molto semplici per cui nella barra degli strumenti di FreeCAD non c'è ancora una icona corretta, come nel caso dello strumento per ruotare la vista. Quindi, per prima cosa, aprite la vista Report, se è chiusa, e selezionate la scheda python. Lì, digitate (o fate copia / incolla) il seguente codice: Questo piccolo script è sufficiente per ruotare la vista di 90° (a sinistra). Per ruotare di -90° (a destra), basta cambiare math.pi/2 in -math.pi/2. Se volete saperne di più sugli script python in FreeCAD, su questo wiki c'è una vasta sezione dedicata agli Script.

Ora, dobbiamo fare un altro passo, che consiste salvare il nostro pezzo di codice in una macro, in modo da poterlo riutilizzare in seguito. Invece di incollare il codice nell'interprete python, aprite il gestore delle macro (Strumenti -> Macro), create una nuova macro, premete il pulsante "Modifica" e incollate il codice. Chiudete la scheda dell'editor di macro e la macro verrà salvato.

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


Ora che siamo in grado di ruotare la vista a piacere, possiamo disegnare gli altri prospetti. Il modo più semplice è quello di disegnare l'elevazione al posto giusto sotto la vista in pianta, e utilizzare uno "specchio" (una linea orientata a 45°) per riflettere e prolungare le linee delle altezze derivandole da un'altra elevazione. In questo modo, il disegno procede abbastanza veloce.

Infine, disegnamo le altri due elevazioni, e poiché la quarta è uguale alla seconda (ma riflessa), la saltiamo. Possiamo quindi tracciare una sezione trasversale, e il nostro disegno è completo:



To be continued...