Tutorial custom placing of windows and doors/de

Einleitung
Dieses Tutorial zeigt, wie man benutzerdefinierte Fenster und Türen in einem Gebäudemodell platziert. Es verwendet die Arbeitsbereiche Entwurf (Draft), Architektur (Arch) und Skizze (Sketcher).

Häufig benutzte Werkzeuge sind: Draft:Raster (Grid), Draft:Fang (Snap), Draft: Linienwerkzeug (Wire), Arch:Wand (Wall), Arch:Fenster (Window) und Sketcher:Neue Skizze (NewSketch). Der Anwender sollte mit der Einschränkung von Skizzen vertraut sein.

Dieses Tutorial wurde inspiriert von den Tutorials von jpg87, welche in folgenden FreeCAD-Foren gepostet wurden:
 * Arch Create a custom window
 * Arch : How to use your custom Window

Einrichtung
1. Öffne FreeCAD, erstelle ein neues, leeres Dokument und wechsel zum Architektur-Arbeitsbereich.

2. Stelle sicher, dass Deine Einheiten im Menü korrekt eingestellt sind. Zum Beispiel ist gut geeignet, um mit den Abständen in einem typischen Gebäude umzugehen; setze außerdem die Anzahl der Nachkommastellen auf, um auch die kleinsten Teile eines Meters zu berücksichtigen.

3. Benutze die Schaltfläche, um ein Raster mit ausreichender Auflösung einzublenden. Das Erscheinungsbild des Rasters kannst Du im Menü ändern. Setze "Hauptlinien alle" auf, "Rasterabstand" auf und "Rastergröße" auf  (das Raster wird damit eine Fläche von 50m x 50m abdecken).

4. Zoome im 3D-Ansichtsfenster heraus, wenn Du zu nahe am Raster bist.

Jetzt sind wir bereit, um eine einfache Wand zu erstellen, in welcher wir Fenster und Türen positionieren können.

Wände erstellen
5. Benutze das Draft: Linienwerkzeug, um einen Linienzug zu erstellen. Gehe gegen den Uhrzeigersinn vor.
 * 5.1. Erster Punkt bei (0, 4, 0); gib im Dialog ein: ,   ,.
 * 5.2. Zweiter Punkt bei (2, 0, 0); gib im Dialog ein: ,   ,.
 * 5.3. Ditter Punkt bei (4, 0, 0); gib im Dialog ein: ,   ,.
 * 5.4. Vierter Punkt bei (6, 2, 0); gib im Dialog ein: ,   ,.
 * 5.4. Fünfter Punkt bei (6, 5, 0); gib im Dialog ein: ,   ,.
 * 5.5. Drücke um den Linienzug zu beenden.
 * 5.6. Drücke auf dem Nummernblock um eine isometrische Projektion des Modells zu erhalten.
 * Stelle sicher, dass die -Checkbox deaktiviert ist, wenn Du Absolut-Koordinaten eingibst.
 * Die Punkte können auch mit dem Mauscursor durch Anklicken der Rasterschnittpunkte unter Zuhilfenahme der Draft:Fang-Werkzeugleiste und der Raster-Methode definiert werden.
 * Du kannst die Konturen auch programmatisch durch Scripting in Python erstellen. Bedenke, dass die meisten Funktionen ihre Eingaben in Millimetern erwarten:

6. Wähle im Modellbaum aus und klicke auf das Arch:Wand-Werkzeug; die Wände werden daraufhin mit einer voreingestellten Breite (Dicke) von 0.2 m und einer Höhe von 3 m erstellt.





vordefinierte Türen und Fenster erstellen
7. Klicke auf das Werkzeug Arch:Fenster, wähle die Voreinstellung (preset) aus und ändere die Höhe auf 2 m.
 * 7.1. Ändere die Fangmethode auf Mittelpunkt und versuche die untere Kante der vorderen Wand auszuwählen. Wenn nötig verdrehe die 3D-Ansicht, um die Kante und nicht die Wandoberfläche anklicken zu können; wenn der Mittelpunkt aktiv ist, klicke um die Tür zu platzieren.
 * 7.2. Klicke noch einmal auf das Werkzeug Arch:Fenster und platziere eine weitere Tür, aber diesmal am Mittelpunkt der am weitesten rechts befindlichen Wand; verdrehe dazu die 3D-Ansicht soweit wie nötig.




 * Die (Brüstungshöhe) ist der Abstand vom Fußboden bis zur unteren Fensterkante. Für Türen ist die  gewöhnlich 0 m weil Türen normalerweise bis zum Fußboden reichen; andererseits haben Fenster üblicherweise einen Abstand von 0,5 m bis 1,5 m zum Fußboden. Der Parameter  (Brüstungshöhe) kann nur während des ursprünglichen Erzeugens eines Fensters oder einer Tür mittels Voreinstellung (preset) eingegeben werden. Ist das Fenster oder die Tür erst einmal eingefügt, lässt sich seine Lage durch Editieren der Eigenschaft   der zugrundeliegenden Skizze modifizieren.

benutzerdefinierte Türen und Fenster erstellen
8. Wechsel zum Sketcher-Arbeitsbereich, wähle den Teil der Wand auf der rechten Seite aus, welcher keine Tür hat. Klicke auf NeueSkizze und wähle als Verknüpfungs-Methode. Wenn die vorhandene Geometrie Deine Sicht beeinträchtigt, klicke auf "Schnitt anzeigen", um diese auszublenden.

9. Zeichne eine ausgefallene Skizze, welche 3 geschlossene Linienzüge enthält. Stelle sicher, dass alle Linienzüge komplett beschränkt sind.
 * 9.1. Der äußere Linienzug ist der größte und wird die Hauptabmessungen des Fenster-Objektes sowie die Größe der Öffnung beim Einfügen in die Wand definieren. Stelle sicher, dass die Abmessungen passend bezeichnet werden, z.B. und . Eine Beschränkung definiert auch die Krümmung des äußeren Linienzuges. Gib ihm eine geeignete Bezeichnung, z.B..


 * 9.2. Der zweite Linienzug ist vom äußeren versetzt, zusammen definieren beide die Breite des (feststehenden) Fensterrahmens. Benenne den Versatz passend, z.B. . Er wird für den oberen und beide seitlichen Versätze verwendet. Wenn der untere Versatz auf Null gesetzt wird, wird der Rahmen den Boden der Öffnung berühren - dies kann verwendet werden, um anstelle eines Fensters eine Tür zu modellieren. Gib ihm eine passende Bezeichnung, z.B..
 * 9.3. Der dritte, ganz innerste Linienzug ist versetzt zum zweiten und ergibt mit diesem zusammen die Breite des Fensterflügel-Rahmens. The innermost wire also defines the size of the glass panel. Again, give meaningful names to these offsets, for example, and.
 * 9.4. In order to build succesfully the sketch, use horizontal (Sketcher ConstrainHorizontal) and vertical (Sketcher ConstrainVertical) constraints for the straight sides; use auxiliary construction geometry (Sketcher ToggleConstruction), and tangential constraints (Sketcher ConstrainTangent) to correctly place the circular arcs at the top. As in this case the window is symmetrical, consider equality (Sketcher ConstrainEqual), symmetrical (Sketcher ConstrainSymmetric), and point on object (Sketcher ConstrainPointOnObject) constraints where it makes sense.





10. Once the sketch is fully constrained, press to exit the sketch (Sketcher LeaveSketch).
 * 10.1. Since a face of the wall was selected during the initial step of creating the sketch, the sketch is co-planar with that face; however, it may be in the wrong position, away from the wall. If this is the case, adjust within . Set  to  so the sketch is centered in the wall, and it is one meter above the floor level.
 * 10.2. You can see the named constraints under . The values can be modified to see the sketch change dimensions immediately.





11. Change back to the Arch Workbench and, with the new selected, use Arch Window. A window will be created, and will make a hole in the wall. The window is made from a custom sketch, and not from a preset, so it needs to be edited in order to correctly display its components, that is, the fixed frame, the inner frame, and the glass panel.



Setting up the custom window
12. In the tree view select underlying, and press , or change the property  to.

13. Double click in the tree view to start editing it.
 * 13.1. Inside the dialog there are two panes,  and . There are three wires,, , and , and one component, . The wires refer to the closed loops that were drawn in the sketch; the components define the areas in the sketch that will be extruded to create frame or glass panels with real thicknesses; these areas are delimited by the wires. A window created from a preset already has two components,  and . The custom window needs to be edited to have a similar structure.




 * 13.2. Click on, and click the button to eliminate it.


 * 13.3. Click ; this shows the properties of a new component like, , , , , , and . Give a name, such as , choose for , and click on  and then ; they should highlight in the 3D viewport. Add a small value for , , and check the checkbox to add the default value. This default value is the length assigned to the  property; a similar default can be assigned to the  property. Click the  button to finish editing the component.


 * 13.4. Click ; give another name, such as, choose for , and click on  and then . Add a sensible , , and , . Then click the  button.


 * 13.5. Click ; give another name, such as, choose for , and click on . Add a sensible , , and , . Then click the  button. If any of the three components needs to be modified, select it and press ; modifications are only saved after pressing the  button.




 * 13.6. If everything is set, click to finish editing the window. The sketch may become hidden again, but the window will show distinct solid elements for the, the , and the . Give a value of  to  to assign a default thickness, which will be added to the value specified in the  component.





Duplicating the custom window
14. In the tree view, select and its underlying. Then go to, and answer if asked to duplicate unselected dependencies. A new and  will appear in the same position as the original elements.

15. Select the new. Go to the property, and click on the ellipsis next to the  value. In the 3D viewport select the left side of the wall which doesn't have any element; rotate the standard view as necessary. Change the to [-1 m, 0 m, 0 m] to center the window, and click. The sketch and the window should appear in a new position.
 * the attachment operation can also be performed by changing to the Part Workbench, and then using the menu.



16. You may adjust the dimensions of the new window by changing the named parameters in under, for example, set  to , and  to. Then press + to recompute the model. If the wall doesn't show a bigger hole for the new window, select the wall in the tree view, right click and choose, then press + again.

17. These operations have changed the position of the new window, but the opening in the wall doesn't look correct. It is slanted, that is, the hole is not perpendicular to the face of the wall, and it may even cut other parts of the wall. The problem is that has retained the  information of the original.



Normals of doors and windows
18. Each Arch Window object controls the extrusion of its body and the opening that is created in its host wall by means of the.

The normal is a vector that indicates a direction perpedicular to a wall. When a window or door preset is created with the Arch Window tool directly over an Arch Wall, the normal is automatically calculated, and the resulting window or door is correctly aligned; the first two objects, and, were created in this way.

In similar way, when a sketch is created by selecting a planar surface, it is oriented on this plane. Then when the Arch Window tool is used, the window will use as normal the perpendicular direction to the sketch. This was the case with the third object, the custom.

If the window already exists and needs to be moved, as was the case with the duplicated object, the sketch needs to be remapped to another plane; doing this moves both the sketch and the window, but the latter doesn't automatically update its normal, so it has incorrect extrusion information. The normal needs to be calculated manually and written to.

The three values of the normal vector are calculated as following.

Where is the angle of the local Z axis of the sketch with respect to the global Y axis.

When a sketch is created, it always has two axes, a local X (red) and a local Y (green). If the sketch is mapped to the global XY working plane, then these axes are aligned; but if the sketch is mapped on the global XZ or global YZ planes, as is common with windows and doors (the sketches are "standing up"), then the local Z (blue) forms an angle with the global Y axis; this angle varies from -180 to 180 degrees. The angle is considered positive if it opens counterclockwise, and it is negative if it opens clockwise, starting from the global Y axis.





If we look at the geometry created so far, we see the following normals.


 * The local Z is aligned with the global Y, therefore, the is zero. The normal vector is
 * The local Z is aligned with the global Y, therefore, the is zero. The normal vector is

or is.


 * The local Z is rotated 90 degrees from the global Y, therefore, the is 90 (positive, because it opens counterclockwise). The normal vector is
 * The local Z is rotated 90 degrees from the global Y, therefore, the is 90 (positive, because it opens counterclockwise). The normal vector is

or is.


 * The local Z is rotated 45 degrees from the global Y, therefore, the is 45 (positive, because it opens counterclockwise). The normal vector is
 * The local Z is rotated 45 degrees from the global Y, therefore, the is 45 (positive, because it opens counterclockwise). The normal vector is

or is.


 * The local Z direction is found by using the Draft Dimension tool and measuring the angle that the wall trace makes with the global Y axis, or any line aligned to it. This angle is ; the desired angle is the complement to this, so.
 * The local Z direction is found by using the Draft Dimension tool and measuring the angle that the wall trace makes with the global Y axis, or any line aligned to it. This angle is ; the desired angle is the complement to this, so.

This means the local Z axis is rotated 63.43 degrees from the global Y, therefore, the is -63.46 (negative, because it opens clockwise). The normal vector is

Therefore should be changed to.

After doing these changes, recompute the model with +. If the wall doesn't update the hole, select it in the tree view, right click and choose, then press + again.

19. The orientation of the extrusion of the window is resolved, together with the opening in the wall.



Final remarks
20. As demonstrated, the initial placement of the Arch Window is very important. The user should either
 * use the Arch Window tool to insert and automatically align a preset to a wall, or
 * map a sketch to the desired wall, and build the window after that.

If a window already exists, and it needs to be moved, the supporting sketch should be remapped to a new plane, and the of the window needs to be recalculated.

The new normal direction can be obtained by measuring the of the new wall with respect to the global Y axis, considering whether this angle is positive (counterclockwise) or negative (clockwise), and using a simple formula.

To confirm that the operations are correct, the absolute magnitude of the normal vector should be one. That is,