Tutoriel de placement personnalisé de fenêtres et de portes
Tutoriel |
Thème |
---|
Architecture |
Niveau |
Intermédiaire |
Temps d'exécution estimé |
60 minutes |
Auteurs |
vocx |
Version de FreeCAD |
0.18 ou ultérieure |
Fichiers exemples |
aucun |
Voir aussi |
None |
Introduction
Ce didacticiel montre comment placer des fenêtres Arch et des portes Arch personnalisées dans un modèle de bâtiment. Il utilise l'atelier Draft, l'atelier Arch et l'atelier Sketcher.
Les outils couramment utilisés sont: Draft Grille, Draft Accrochage, Draft Fil, Arch Mur, Arch Fenêtre et Sketcher Esquisse. L'utilisateur doit être familiarisé avec les esquisses contraignantes.
Ce tutoriel est inspiré des tutoriels de jpg87 publiés dans les forums FreeCAD.
Voir également le fil suivant pour plus d'informations sur la position des fenêtres et des portes.
Voir également la page suivante pour quelques vidéos sur la façon d'aligner les fenêtres.
Installation
1. Ouvrez FreeCAD, créez un nouveau document vide et passez à l'atelier Arch
2. Assurez-vous que vos unités sont correctement définies dans le menu Edition → Préférences → Général → Unités. Par exemple, MKS (m/kg/s/degré)
est bon pour gérer les distances dans un bâtiment typique; de plus, définissez le nombre de décimales sur 4
pour considérer même les plus petites fractions du mètre.
3. Utilisez le bouton Draft Visibilité de la grille pour afficher une grille avec une résolution suffisante. Vous pouvez modifier l'apparence de la grille dans le menu Edition → Préférences → Draft → Grille et ancrage → Grille. Définissez des lignes tous les 50 mm
, avec des lignes principales toutes les 20
lignes (tous les mètres) et 1000 lignes
au total (la grille couvre une superficie de 50 mx 50 m).
4. Zoom arrière de la vue 3D si vous êtes trop près de la grille.
Nous sommes maintenant prêts à créer un mur simple sur lequel nous pouvons positionner les fenêtres et les portes.
Placement d'un mur
5. Utilisez l'outil Draft Fil pour créer un fil. Allez dans le sens antihoraire.
- 5.1. Premier point dans (0, 4, 0); dans la boîte de dialogue, saisissez 0 m Enter, 4 m Enter, 0 m Enter.
- 5.2. Deuxième point dans (2, 0, 0); dans la boîte de dialogue, saisissez 2 m Enter, 0 m Enter, 0 m Enter.
- 5.3. Troisième point dans (4, 0, 0); dans la boîte de dialogue, saisissez 4 m Enter, 0 m Enter, 0 m Enter.
- 5.4. Quatrième point dans (6, 2, 0); dans la boîte de dialogue, entrez 6 m Enter, 2 m Enter, 0 m Enter.
- 5.4. Cinquième point dans (6, 5, 0); dans la boîte de dialogue, saisissez 6 m Enter, 5 m Enter, 0 m Enter.
- 5.5. Sur le pavé numérique, appuyez sur A pour terminer le fil.
- 5.6. Dans le pavé numérique, appuyez sur 0 pour obtenir une vue axonométrique du modèle.
- Note: assurez-vous que la case Relative est désactivée si vous donnez des coordonnées absolues.
- Note 2: les points peuvent également être définis avec le pointeur de la souris en choisissant les intersections sur la grille, à l'aide de la barre d'outils Draft Snap et de la méthode Draft Grille .
- Note 3: vous pouvez également créer des formes par programmation en créant des scripts dans Python. Attention, la plupart des fonctions attendent leur saisie en millimètres.
import FreeCAD
import Draft
p = [FreeCAD.Vector(0.0, 4000.0, 0),
FreeCAD.Vector(2000.0, 0.0, 0.0),
FreeCAD.Vector(4000.0, 0.0, 0.0),
FreeCAD.Vector(6000.0, 2000.0, 0.0),
FreeCAD.Vector(6000.0, 5000.0, 0.0)]
w = Draft.makeWire(p, closed=False)
6. Select the DWire
and click the Arch Wall tool; the wall is immediately created with a default width (thickness) of 0.2 m, and height of 3 m.
Base wire for the wall
Wall constructed from the wire
Placement de portes et fenêtres prédéfinies
7. Click the Arch Window tool; as preset select Simple door
, and change the height to 2 m.
- 7.1. Change the snapping to Draft Midpoint, and try selecting the bottom edge of the frontal wall; rotate the standard view as necessary to help you pick the edge and not the wall face; when the midpoint is active, click to place the door.
- 7.2. Click the Arch Window tool again, and place another door, but this time in the midpoint of the rightmost wall; rotate the standard view as necessary.
Snapping to the midpoint of the bottom edge of the wall to place the door
- Note: the
Sill height
is the distance from the floor to the lower edge of the element. For doors theSill height
is usually 0 m as doors are normally touching the floor; on the other hand, windows have a usual separation of 0.5 m to 1.5 m from the floor. TheSill height
can only be set when initially creating the window or door from a preset. Once the window or door is inserted, modify its placement by editing the DonnéesPosition vector[x, y, z]
of the underlying Sketcher Sketch.
Création de portes et fenêtres personnalisées
8. Switch to the Sketcher Workbench; select the part of the wall to the right that has no door; click on the Sketcher NewSketch; select FlatFace as attachment method. If the existing geometry obstructs your view, click on Sketcher ViewSection to remove it.
9. Draw a fancy sketch containing three closed wires. Make sure to provide constraints to all wires.
- 9.1. The outside wire is the biggest one, and will define the main dimensions of the window object, and the size of the hole created when it's embedded in an Arch Wall. Make sure the dimensions are named appropriately, for example,
Width
andHeight
. A constraint also defines the curvature of the outer wire; give it an appropriate name, likeHeightCurve
. - 9.2. The second wire is offset from the outer wire, and together with it, they define the width of the fixed frame of the window. Name the offset appropriately, for example,
FrameFixedOffset
. It will be used for both the top vertical and horizontal offsets. The bottom offset, if set to zero, will result in the fixed frame touching the bottom of the window; this can be used to model a door instead of a window. Give it an appropriate name, likeFrameFixedBottom
. - 9.3. The third, innermost wire is offset from the second wire, and together with it, they define the frame of the window that can open. The innermost wire also defines the size of the glass panel. Again, give meaningful names to these offsets, for example,
FrameInnerOffset
andFrameInnerBottom
. - 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.
Constraints for the outer wires of the sketch that form the window
Constraints for the inner wires of the sketch that form the window
10. Once the sketch is fully constrained, press Close 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 DonnéesPosition within DonnéesAttachment Offset. Set DonnéesPosition to
[4 m, 1 m, 0 m]
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 DonnéesConstraints. The values can be modified to see the sketch change dimensions immediately.
Window sketch moved to the desired position on the wall
Named constraints of the sketch, which can be modified without going inside the sketch
11. Change back to the Arch Workbench and, with the new Sketch002
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.
Custom window created from the sketch; it still doesn't have a proper frame, nor glass
Configuration de la fenêtre personnalisée
12. In the tree view select Sketch002
underlying Window
, and press Space, or change the property VueVisibility to true
.
13. Double click Window
in the tree view to start editing it.
- 13.1. Inside the
Window elements
dialog there are two panes,Wires
andComponents
. There are three wires,Wire0
,Wire1
, andWire2
, and one component,Default
. 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,OuterFrame
andGlass
. The custom window needs to be edited to have a similar structure.
Dialog to edit a window or a door
- 13.2. Click on
Default
, and click the Remove button to eliminate it.
- 13.3. Click Add; this shows the properties of a new component like
Name
,Type
,Wires
,Thickness
,Offset
,Hinge
, andOpening mode
. Give a name, such asOuterFrame
, chooseFrame
forType
, and click onWire0
and thenWire1
; they should highlight in the 3D viewport. Add a small value forThickness
,15 mm
, and check the checkbox to add the default value. This default value is the length assigned to the DonnéesFrame property; a similar default can be assigned to the DonnéesOffset property. Click the +Create/update component button to finish editing the component.
- 13.4. Click Add; give another name, such as
InnerFrame
, chooseFrame
forType
, and click onWire1
and thenWire2
. Add a sensibleThickness
,60 mm
, andOffset
,15 mm
. Then click the +Create/update component button.
- 13.5. Click Add; give another name, such as
Glass
, chooseGlass panel
forType
, and click onWire2
. Add a sensibleThickness
,10 mm
, andOffset
,40 mm
. Then click the +Create/update component button. If any of the three components needs to be modified, select it and press Edit; modifications are only saved after pressing the +Create/update component button.
Editing a previously defined component of a window or a door
- 13.6. If everything is set, click Close to finish editing the window. The sketch may become hidden again, but the window will show distinct solid elements for the
OuterFrame
, theInnerFrame
, and theGlass
. Give a value of100 mm
to DonnéesFrame to assign a default thickness, which will be added to the value specified in theOuterFrame
component.
Property view of the window to add default Frame length, Offset length, and other options
Finished window with appropriate components embedded in the wall
Duplication de la fenêtre personnalisée
14. In the tree view, select Window
and its underlying Sketch002
. Then go to Edit → Duplicate selection, and answer No if asked to duplicate unselected dependencies. A new Window001
and Sketch003
will appear in the same position as the original elements.
15. Select the new Sketch003
. Go to the DonnéesMap Mode property, and click on the ellipsis next to the FlatFace
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 Attachment offset
to [-1 m, 0 m, 0 m] to center the window, and click OK. The sketch and the window should appear in a new position.
- Note: the attachment operation can also be performed by changing to the Part Workbench, and then using the menu Part → Attachment.
Dialog to edit the attachment plane of the sketch
16. You may adjust the dimensions of the new window by changing the named parameters in Sketch003
under DonnéesConstraints, for example, set Height
to 2 m
, and Frame Fixed Bottom
to 0 m
. Then press Ctrl+R 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 Mark to recompute
, then press Ctrl+R 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 Window001
has retained the DonnéesNormal information of the original Window
.
Incorrect opening in the wall due to bad Normal of the window
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 DonnéesNormal.
The normal is a vector [x, y, z]
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, Door
and Door001
, 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 Window
.
If the window already exists and needs to be moved, as was the case with the duplicated Window001
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 DonnéesNormal.
The three values of the normal vector are calculated as following.
x = -sin(angle)
y = cos(angle)
z = 0
Where angle
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.
Local coordinates of a sketch that is "standing up", that is, mapped to the global XZ plane
Intended directions of the normals for each door and window
If we look at the geometry created so far, we see the following normals.
Door
- The local Z is aligned with the global Y, therefore, the
angle
is zero. The normal vector is
x = -sin(0) = 0
y = cos(0) = 1
z = 0
or DonnéesNormal is [0, 1, 0]
.
Door001
- The local Z is rotated 90 degrees from the global Y, therefore, the
angle
is 90 (positive, because it opens counterclockwise). The normal vector is
x = -sin(90) = -1
y = cos(90) = 0
z = 0
or DonnéesNormal is [-1, 0, 0]
.
Window
- The local Z is rotated 45 degrees from the global Y, therefore, the
angle
is 45 (positive, because it opens counterclockwise). The normal vector is
x = -sin(45) = -0.7071
y = cos(45) = 0.7071
z = 0
or DonnéesNormal is [-0.7071, 0.7071, 0]
.
Window001
- The local Z direction is found by using the Draft Dimension tool and measuring the angle that the wall trace (
Wire
) makes with the global Y axis, or any line aligned to it. This angle is26.57
; the desired angle is the complement to this, so90 - 26.57 = 63.43
.
This means the local Z axis is rotated 63.43 degrees from the global Y, therefore, the angle
is -63.46 (negative, because it opens clockwise). The normal vector is
x = -sin(-63.43) = 0.8943
y = cos(-63.43) = 0.4472
z = 0
Therefore DonnéesNormal should be changed to [0.8943, 0.4472, 0]
.
After doing these changes, recompute the model with Ctrl+R. If the wall doesn't update the hole, select it in the tree view, right click and choose Mark to recompute
, then press Ctrl+R again.
19. The orientation of the extrusion of the window is resolved, together with the opening in the wall.
Correct opening in the wall due to proper Normal of the window
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 DonnéesNormal of the window needs to be recalculated.
The new normal direction can be obtained by measuring the angle
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.
x = -sin(angle)
y = cos(angle)
z = 0
To confirm that the operations are correct, the absolute magnitude of the normal vector should be one. That is,
abs(N) = 1 = sqrt(x^2 + y^2 + z^2)
abs(N) = 1 = sqrt(sin^2(angle) + cos^2(angle) + z^2)
- Éléments : Mur, Structure, Mur-rideau, Fenêtre, Toiture, Espace, Escalier, Équipement, Ossature, Clôture, Treillis, Profilé, Conduite, Raccord
- Renforcements : Armature droite, Armature en U, Armature en L, Armature en étrier, Armature cintrée, Armature hélicoïdale, Rebar Armature en colonne, Rebar Poutre, Rebar Renfort de dalle, Rebar Renfort de semelle, Armature personnalisée
- Panneaux : Panneau, Découpe de panneau, Feuille de panneaux, Calepinage
- Matériaux : Matériau, Matériaux multiples
- Organisations : Partie de bâtiment, Projet, Site, Bâtiment, Étage, Référence externe, Plan de coupe, Nomenclature
- Axes : Axes, Système d'axes, Grille
- Modifications : Couper suivant un Plan, Ajouter un composant, Enlever un composant, Prendre des cotes
- Utilitaires : Composant, Cloner un composant, Diviser un maillage, Maillage vers une forme, Sélection de maillages non-manifold, Supprimer la forme, Fermer les trous, Fusionner des murs, Vérification, Bascule marqueur Brep IFC, Explorateur IFC, 3 vues depuis un maillage, Tableur IFC, Bascule des sous composants
- Additionnels : Préférences, Préférences Import-Export (IFC, DAE, OBJ, JSON, 3DS, SHP), IfcOpenShell, IfcPlusPlus, Arch API
- Drafting : Ligne, Polyligne, Congé, Arc, Arc par 3 points, Cercle, Ellipse, Rectangle, Polygone, B-spline, Courbe de Bézier cubique, Courbe de Bézier, Point, Surfaces liées, Formes à partir de texte, Hachure
- Annotation : Texte, Dimension, Étiquette, Éditeur de styles d'annotations, Widget d'échelle d'annotation.
- Modification : Déplacer,Pivoter,Échelle,Miroir, Décalage, Ajuster ou prolonger, Étirer, Cloner, Réseau orthogonal, Réseau polaire, Réseau circulaire, Réseau selon une courbe, Réseau lié selon une courbe, Réseau de points, Réseau lié selon des points, Éditer, Surligner les sous éléments, Joindre, Scinder, Agréger, Désagréger, Polyligne vers B-spline, Draft vers esquisse, Pente, Inverser le texte de la dimension, Vue 2D d'une forme
- Barre Draft : Plan de travail, Définir le style, Basculer en mode construction, Groupement automatique
- Aimantation : Verrouillage de l'aimantation, Aimantation terminaison, Aimantation milieu, Aimantation centre, Aimantation angle, Aimantation intersection, Aimantation perpendiculaire, Aimantation extension, Aimantation parallèle, Aimantation spéciale, Aimantation au plus proche, Aimantation orthogonal, Aimantation grille, Aimantation plan de travail, Aimantation dimensions, Basculer la grille
- Utilitaires : Appliquer le style, Calque, Gestionnaire de calques, Nommer un groupe, Déplacer vers un groupe, Sélection groupée, Ajouter au groupe de construction, Mode d'affichage, Proxy de plan de travail, Réparer, Barre d'aimantation
- Additionnels : Contrainte, Motif, Préférences, Préférences d'Import Export, DXF/DWG, SVG, OCA, DAT
- Menu contextuel :
- Conteneur du calque : Fusionner les calques en double, Ajouter un nouveau calque
- Calque : Groupement automatique, Sélection groupée
- Texte : Ouvir les hyperliens
- Filaire : Aplatir
- Proxy de plan de travail : Enregistrer la position de la caméra, Enregistrer l'état des objets
- Général : Créer une esquisse, Modifier l'esquisse, Esquisse sur une face, Réorienter l'esquisse, Valider l'esquisse, Fusionner les esquisses, Esquisse miroir, Quitter l'esquisse, Vue de l'esquisse, Vue de section, Grille, Aimantation, Ordre de rendu, Arrêt de l'opération
- Géométries : Point, Ligne, Arc, Arc par 3 points, Cercle, Cercle par 3 points, Ellipse par son centre, Ellipse par 3 points, Arc d'ellipse, Arc d'hyperbole, Arc de parabole, B-spline simple, B-spline périodique, B-spline par des nœuds, B-spline périodique par des nœuds, Polyligne, Rectangle, Rectangle centré, Rectangle arrondi, Triangle, Carré, Pentagone, Hexagone, Heptagone, Octogone, Polygone régulier, Contour oblong, Congé, Congé avec contrainte, Ajuster, Prolonger, Diviser, Géométrie externe, Copie carbone, Géométrie de construction
- Contraintes :
- Contraintes geometriques : Coïncidence, Point sur objet, Vertical, Horizontal, Parallèle, Perpendiculaire, Tangente, Égalité, Symétrie, Blocage
- Contraintes de dimension : Fixe, Distance horizontale, Distance verticale, Dimensionnelle, Rayon ou poids, Diamètre, Rayon automatique, Angle, Contrainte de réfraction
- Outils de contraintes : Contraintes pilotantes, Activation des contraintes
- Outils : Degrés de liberté non contraints, Contraintes associées, Éléments associés aux contraintes, Contraintes redondantes, Contraintes conflictuelles, Géométrie interne, Origine, Axe horizontal, Axe vertical, Symétrie, Clone, Copie, Déplacer, Réseau rectangulaire, Supprimer l'alignement des axes, Supprimer tous les éléments de géométrie, Supprimer toutes les contraintes
- Outils B-spline : Degré de la B-spline, Polygone de contrôle de la B-spline, Peigne de courbure, Multiplicité des nœuds, Poids des points de contrôle, Convertir une géométrie en B-spline, Augmenter le degré, Diminuer le degré, Augmenter la multiplicité des nœuds, Diminuer la multiplicité des nœuds, Insérer un nœud, Joindre des courbes
- Espace virtuel : Espace virtuel
- Démarrer avec FreeCAD
- Installation : Téléchargements, Windows, Linux, Mac, Logiciels supplémentaires, Docker, AppImage, Ubuntu Snap
- Bases : À propos de FreeCAD, Interface, Navigation par la souris, Méthodes de sélection, Objet name, Préférences, Ateliers, Structure du document, Propriétés, Contribuer à FreeCAD, Faire un don
- Aide : Tutoriels, Tutoriels vidéo
- Ateliers : Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test