Tutorial custom placing of windows and doors/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "Les outils couramment utilisés sont: Draft Grille, Draft Accrochage, Draft Fil, Arch Mur, Arch_W...")
No edit summary
 
(80 intermediate revisions by 3 users not shown)
Line 9: Line 9:
}}
}}


<span id="Introduction"></span>
== Introduction ==
== Introduction ==


Ce didacticiel montre comment placer des [[Arch Window/fr|fenêtres Arch]] et des [[Arch Door/fr|portes Arch]] personnalisées dans un modèle de bâtiment. Il utilise l'[[Draft_Workbench/fr|atelier Draft]], l'[[Arch_Workbench/fr|atelier Arch]] et l'[[Sketcher_Workbench/fr|atelier Sketcher]].
Ce didacticiel montre comment placer des [[Arch Window/fr|fenêtres Arch]] et des [[Arch Door/fr|portes Arch]] personnalisées dans un modèle de bâtiment. Il utilise l'[[Draft_Workbench/fr|atelier Draft]], l'[[Arch_Workbench/fr|atelier Arch]] et l'[[Sketcher_Workbench/fr|atelier Sketcher]].


Les outils couramment utilisés sont: [[Draft_Snap_Grid/fr|Draft Grille]], [[Draft_Snap/fr|Draft Accrochage]], [[Draft_Wire/fr|Draft Fil]], [[Arch_Wall/fr|Arch Mur]], [[Arch_Window/fr|Arch Fenêtre]] et [[Sketcher_NewSketch/fr|Sketcher Esquisse]]. L'utilisateur doit être familiarisé avec les esquisses contraignantes.
Les outils couramment utilisés sont: [[Draft_Snap_Grid/fr|Draft Grille]], [[Draft_Snap/fr|Draft Aimantation]], [[Draft_Wire/fr|Draft Polyligne]], [[Arch_Wall/fr|Arch Mur]], [[Arch_Window/fr|Arch Fenêtre]] et [[Sketcher_NewSketch/fr|Sketcher Esquisse]]. L'utilisateur doit être familiarisé avec les esquisses contraignantes.


This tutorial was inspired by the tutorials by jpg87 posted in the [https://forum.freecadweb.org/viewforum.php?f=36 FreeCAD forums].
Ce tutoriel est inspiré des tutoriels de jpg87 publiés dans les [https://forum.freecadweb.org/viewforum.php?f=36 forums FreeCAD].
* [https://forum.freecadweb.org/viewtopic.php?f=36&t=32883 Arch Create a custom window]
* [https://forum.freecadweb.org/viewtopic.php?f=36&t=32883 Arch Créer une fenêtre personnalisée]
* [https://forum.freecadweb.org/viewtopic.php?f=36&t=32982 Arch : How to use your custom Window]
* [https://forum.freecadweb.org/viewtopic.php?f=36&t=32982 Arch: Comment utiliser votre fenêtre personnalisée]


See also the following thread for more information on the position of windows and doors.
Voir également le fil suivant pour plus d'informations sur la position des fenêtres et des portes.
* [https://forum.freecadweb.org/viewtopic.php?t=35368 Discussion: Orientation of Windows and Doors]
* [https://forum.freecadweb.org/viewtopic.php?t=35368 Discussion: Orientation des fenêtres et des portes]


Voir également la page suivante pour quelques vidéos sur la façon d'aligner les fenêtres.
See also the following page for some videos on how to align windows.
* [http://help-freecad-jpg87.fr/04_arch_ind.php The workbench used to create architectural projects is called Arch]
* [http://help-freecad-jpg87.fr/04_arch_ind.php L'atelier utilisé pour créer des projets architecturaux s'appelle Arch]


<span id="Setup"></span>
== Installation ==
== Installation ==


1. Open FreeCAD, create a new empty document, and switch to the [[Arch Workbench]].
1. Ouvrez FreeCAD, créez un nouveau document vide et passez à l'[[Arch_Workbench/fr|atelier Arch]]


2. Make sure your units are set correctly in the menu {{MenuCommand|EditPreferencesGeneralUnits}}. For example, {{incode|MKS (m/kg/s/degree)}} is good for dealing with distances in a typical building; moreover, set the number of decimals to {{incode|4}}, to consider even the smallest fractions of a meter.
2. Assurez-vous que vos unités sont correctement définies dans le menu {{MenuCommand|EditionPréférencesGénéralUnités}}. Par exemple, {{incode|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 {{incode|4}} pour considérer même les plus petites fractions du mètre.


3. Use the [[Draft ToggleGrid]] button to show a grid with enough resolution. You can change the grid appearance in the menu {{MenuCommand|EditPreferences → Draft → Grid and snappingGrid}}. Set lines at every {{incode|50 mm}}, with major lines every {{incode|20}} lines (every meter), and {{incode|1000 lines}} in total (the grid covers an area of 50 m x 50 m).
3. Utilisez le bouton [[Draft_ToggleGrid/fr|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 {{MenuCommand|EditionPréférences → Draft → Grille et ancrageGrille}}. Définissez des lignes tous les {{incode|50 mm}}, avec des lignes principales toutes les {{incode|20}} lignes (tous les mètres) et {{incode|1000 lignes}} au total (la grille couvre une superficie de 50 mx 50 m).


4. [[Zoom out]] of the 3D view if you are too close to the grid.
4. [[Std_ViewZoomOut/fr|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.
Now we are ready to create a simple wall on which we can position windows and doors.


<span id="Placing_a_wall"></span>
== Placement d'un mur ==
== Placement d'un mur ==




5. Use the [[Draft Wire]] tool to create a wire. Go counterclockwise.
5. Utilisez l'outil [[Draft_Wire/fr|Draft Fil]] pour créer un fil. Allez dans le sens antihoraire.
:5.1. First point in (0, 4, 0); in the dialog enter {{KEY|0}} {{KEY|m}} {{KEY|Enter}}, {{KEY|4}} {{KEY|m}} {{KEY|Enter}}, {{KEY|0}} {{KEY|m}} {{KEY|Enter}}.
:5.1. Premier point dans (0, 4, 0); dans la boîte de dialogue, saisissez {{KEY|0}} {{KEY|m}} {{KEY|Enter}}, {{KEY|4}} {{KEY|m}} {{KEY|Enter}}, {{ KEY|0}} {{KEY|m}} {{KEY|Enter}}.
:5.2. Second point in (2, 0, 0); in the dialog enter {{KEY|2}} {{KEY|m}} {{KEY|Enter}}, {{KEY|0}} {{KEY|m}} {{KEY|Enter}}, {{KEY|0}} {{KEY|m}} {{KEY|Enter}}.
:5.2. Deuxième point dans (2, 0, 0); dans la boîte de dialogue, saisissez {{KEY|2}} {{KEY|m}} {{KEY|Enter}}, {{KEY|0}} {{KEY|m}} {{KEY|Enter}}, {{ KEY|0}} {{KEY|m}} {{KEY|Enter}}.
:5.3. Third point in (4, 0, 0); in the dialog enter {{KEY|4}} {{KEY|m}} {{KEY|Enter}}, {{KEY|0}} {{KEY|m}} {{KEY|Enter}}, {{KEY|0}} {{KEY|m}} {{KEY|Enter}}.
:5.3. Troisième point dans (4, 0, 0); dans la boîte de dialogue, saisissez {{KEY|4}} {{KEY|m}} {{KEY|Enter}}, {{KEY|0}} {{KEY|m}} {{KEY|Enter}}, {{ KEY|0}} {{KEY|m}} {{KEY|Enter}}.
:5.4. Fourth point in (6, 2, 0); in the dialog enter {{KEY|6}} {{KEY|m}} {{KEY|Enter}}, {{KEY|2}} {{KEY|m}} {{KEY|Enter}}, {{KEY|0}} {{KEY|m}} {{KEY|Enter}}.
:5.4. Quatrième point dans (6, 2, 0); dans la boîte de dialogue, entrez {{KEY|6}} {{KEY|m}} {{KEY|Enter}}, {{KEY|2}} {{KEY|m}} {{KEY|Enter}}, {{ KEY|0}} {{KEY|m}} {{KEY|Enter}}.
:5.4. Fifth point in (6, 5, 0); in the dialog enter {{KEY|6}} {{KEY|m}} {{KEY|Enter}}, {{KEY|5}} {{KEY|m}} {{KEY|Enter}}, {{KEY|0}} {{KEY|m}} {{KEY|Enter}}.
:5.4. Cinquième point dans (6, 5, 0); dans la boîte de dialogue, saisissez {{KEY|6}} {{KEY|m}} {{KEY|Enter}}, {{KEY|5}} {{KEY|m}} {{KEY|Enter}}, {{ KEY|0}} {{KEY|m}} {{KEY|Enter}}.
:5.5. In the number pad press {{KEY|A}} to finish the wire.
:5.5. Sur le pavé numérique, appuyez sur {{KEY|A}} pour terminer le fil.
:5.6. In the number pad press {{KEY|0}} to get an [[axonometric view]] of the model.
:5.6. Dans le pavé numérique, appuyez sur {{KEY|0}} pour obtenir une [[Std_View_Menu/fr|vue axonométrique]] du modèle.
:{{Emphasis|Note:}} make sure the {{Emphasis|Relative}} checkbox is disabled if you are giving absolute coordinates.
:{{Emphasis|Note:}} assurez-vous que la case {{Emphasis|Relative}} est désactivée si vous donnez des coordonnées absolues.
:{{Emphasis|Note 2:}} the points can also be defined with the mouse pointer by choosing intersections on the grid, with the help of the [[Draft Snap]] toolbar and the [[Draft_Snap_Grid|Draft Grid]] method.
:{{Emphasis|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/fr|Draft Aimantation]] et de la méthode [[Draft_Snap_Grid/fr|Draft Aimantation Grille]] .
:{{Emphasis|Note 3:}} you can also create shapes programmatically by scripting in [[Python]]. Beware that most functions expect their input in millimeters.
:{{Emphasis|Note 3:}} vous pouvez également créer des formes par programmation en créant des scripts dans [[Python/fr|Python]]. Attention, la plupart des fonctions attendent leur saisie en millimètres.


{{Code|code=
{{Code|code=
Line 65: Line 68:
}}
}}


6. Select the {{incode|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.
6. Sélectionnez {{incode|DWire}} et cliquez sur l'outil [[Arch_Wall/fr|Arch Mur]]; le mur est immédiatement créé avec une largeur (épaisseur) par défaut de 0,2 m et une hauteur de 3 m.


[[Image:01_T02_wire_wall.png|600px|center]]
[[Image:01_T02_wire_wall.png|600px|center]]


{{Caption|align=center|Base wire for the wall}}
{{Caption|align=center|Fil de base pour le mur}}
[[Image:02_T02_just_wall.png|600px|center]]
[[Image:02_T02_just_wall.png|600px|center]]


{{Caption|align=center|Wall constructed from the wire}}
{{Caption|align=center|Mur construit à partir du fil}}


<span id="Placing_preset_doors_and_windows"></span>
== Placement de portes et fenêtres prédéfinies ==
== Placement de portes et fenêtres prédéfinies ==


7. Click the [[Arch Window]] tool; as preset select {{incode|Simple door}}, and change the height to 2 m.
7. Cliquez sur l'outil [[Arch_Window/fr|Arch Fenêtre]]; comme préréglage, sélectionnez {{incode|Simple door}} et modifiez la hauteur à 2 m.
:7.1. Change the snapping to [[Draft_Snap_Midpoint|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.1. Changez l'accrochage en [[Draft_Snap_Midpoint/fr|Draft Milieu]] et essayez de sélectionner le bord inférieur du mur frontal; faites pivoter la [[Std_View_Menu/fr|vue standard]] si nécessaire pour vous aider à choisir le bord et non la face du mur; lorsque le milieu est actif, cliquez pour placer la porte.
:7.2. Cliquez à nouveau sur l'outil [[Arch_Window/fr|Arch Fenêtre]] et placez une autre porte, mais cette fois au milieu du mur arrière; faites pivoter la [[Std_View_Menu/fr|vue standard]] si nécessaire.
: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.


[[Image:03_T02_wall_place_doors.png|600px|center]]
[[Image:03_T02_wall_place_doors.png|600px|center]]


{{Caption|align=center|Snapping to the midpoint of the bottom edge of the wall to place the door}}
{{Caption|align=center|Accrochage au milieu du bord inférieur du mur pour placer la porte}}


:{{Emphasis|Note:}} the {{incode|Sill height}} is the distance from the floor to the lower edge of the element. For doors the {{incode|Sill 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. The {{incode|Sill 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 {{PropertyData|Position}} vector {{incode|[x, y, z]}} of the underlying [[Sketcher Sketch]].
:{{Emphasis|Note:}} la {{incode|Sill height}} est la distance entre le sol et le bord inférieur de l'élément. Pour les portes, la {{incode|Sill height}} (Hauteur du seuil) est généralement de 0 m car les portes touchent normalement le sol; d'autre part, les fenêtres ont une séparation habituelle de 0,5 m à 1,5 m du sol. {{incode|Sill height}} ne peut être définie que lors de la création initiale de la fenêtre ou de la porte à partir d'un préréglage. Une fois la fenêtre ou la porte insérée, modifiez son emplacement en éditant la {{PropertyData/fr|Position}} du vecteur {{incode|[x, y, z]}} de l'[[Sketcher_Workbench/fr|Sketcher Esquisse]] sous-jacente.


<span id="Creating_custom_doors_and_windows"></span>
== Création de portes et fenêtres personnalisées ==
== 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 {{Button|FlatFace}} as attachment method. If the existing geometry obstructs your view, click on [[Sketcher ViewSection]] to remove it.
8. Passez à l'[[Sketcher_Workbench/fr|atelier Sketcher]]; sélectionnez la partie du mur à droite qui n'a pas de porte; cliquez sur [[Sketcher_NewSketch/fr|Nouvelle esquisse]]; sélectionnez {{Button|FlatFace}} comme méthode de pièce jointe. Si la géométrie existante obstrue votre vue, cliquez sur la [[Sketcher ViewSection/fr|Vue en section]] pour la supprimer.


9. Dessinez une esquisse quelconque contenant trois fils fermés. Assurez-vous de fournir des contraintes à tous les fils.
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, {{incode|Width}} and {{incode|Height}}. A constraint also defines the curvature of the outer wire; give it an appropriate name, like {{incode|HeightCurve}}.
:9.1. Le fil extérieur est le plus gros et définira les principales dimensions de l'objet fenêtre, ainsi que la taille du trou créé lorsqu'il est intégré dans un [[Arch_Wall/fr|Arch Mur]]. Assurez-vous que les dimensions sont nommées correctement, par exemple {{incode|Width}} et {{incode|Height}}. Une contrainte définit également la courbure du fil extérieur; donnez-lui un nom approprié, comme {{incode|HeightCurve}}.
: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, {{incode|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, like {{incode|FrameFixedBottom}}.
:9.2. Le deuxième fil est décalé du fil extérieur et, ensemble, ils définissent la largeur du cadre fixe de la fenêtre. Nommez le décalage de manière appropriée, par exemple {{incode|FrameFixedOffset}}. Il sera utilisé pour les décalages verticaux et horizontaux supérieurs. Le décalage du bas, s'il est défini sur zéro, aura pour effet que le cadre fixe touche le bas de la fenêtre; cela peut être utilisé pour modéliser une porte au lieu d'une fenêtre. Donnez-lui un nom approprié, comme {{incode|FrameFixedBottom}}.
: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, {{incode|FrameInnerOffset}} and {{incode|FrameInnerBottom}}.
:9.3. Le troisième fil, le plus à l'intérieur, est décalé du deuxième fil, et avec lui, ils définissent le cadre de la fenêtre qui peut s'ouvrir. Le fil le plus à l'intérieur définit également la taille du panneau de verre. Encore une fois, donnez des noms significatifs à ces décalages, par exemple, {{incode|FrameInnerOffset}} et {{incode|FrameInnerBottom}}.
: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.
:9.4. Afin de construire avec succès l'esquisse, utilisez les contraintes horizontales ([[Sketcher_ConstrainHorizontal/fr|Sketcher Contrainte horizontale]]) et verticales ([[Sketcher_ConstrainVertical/fr|Sketcher Contrainte verticale]]) pour les côtés droits; utilisez la géométrie de construction auxiliaire ([[Sketcher_ToggleConstruction/fr|Sketcher Géométrie de construction]]) et les contraintes tangentielles ([[Sketcher_ConstrainTangent/fr|Sketcher Contrainte tangente]]) pour placer correctement les arcs de cercle en haut. Comme dans ce cas, la fenêtre est symétrique, considérez les contraintes d'égalité ([[Sketcher_ConstrainEqual/fr|Sketcher Contrainte d'egalité]]), symétrique ([[Sketcher_ConstrainSymmetric/fr|Sketcher Contrainte de symétrie]]) et de point sur objet ([[Sketcher_ConstrainPointOnObject/fr|Sketcher Contrainte Point sur un objet]]) là où cela a du sens.


[[Image:04_T02_window_constraints_outer_frame.png|center]]
[[Image:04_T02_window_constraints_outer_frame.png|center]]


{{Caption|align=center|Constraints for the outer wires of the sketch that form the window}}
{{Caption|align=center|Contraintes pour les fils extérieurs de l'esquisse qui forment la fenêtre}}
[[Image:05_T02_window_constraints_inner_frame.png|center]]
[[Image:05_T02_window_constraints_inner_frame.png|center]]


{{Caption|align=center|Constraints for the inner wires of the sketch that form the window}}
{{Caption|align=center|Contraintes pour les fils intérieurs de l'esquisse qui forment la fenêtre}}


10. Once the sketch is fully constrained, press {{Button|Close}} to exit the sketch ([[Sketcher LeaveSketch]]).
10. Une fois l'esquisse entièrement contrainte, appuyez sur {{Button|Close}} pour quitter l'esquisse ([[Sketcher LeaveSketch/fr|Sketcher Quitter l'esquisse]]).
: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 {{PropertyData|Position}} within {{PropertyData|Attachment Offset}}. Set {{PropertyData|Position}} to {{incode|[4 m, 1 m, 0 m]}} so the sketch is centered in the wall, and it is one meter above the floor level.
:10.1. Puisqu'une face du mur a été sélectionnée lors de l'étape initiale de création de l'esquisse, l'esquisse est coplanaire avec cette face; cependant, il peut être dans la mauvaise position, loin du mur. Si tel est le cas, ajustez {{PropertyData/fr|Position}} dans {{PropertyData/fr|Attachment Offset}}. Définissez {{PropertyData/fr|Position}} sur {{incode|[4 m, 1 m, 0 m]}} de sorte que l'esquisse soit centrée dans le mur et à un mètre au-dessus du niveau du sol.
:10.2. You can see the named constraints under {{PropertyData|Constraints}}. The values can be modified to see the sketch change dimensions immediately.
:10.2. Vous pouvez voir les contraintes nommées sous {{PropertyData/fr|Constraints}}. Les valeurs peuvent être modifiées pour voir les cotes de changement d'esquisse immédiatement.


[[Image:07_T02_window_sketch_in_wall.png|600px|center]]
[[Image:07_T02_window_sketch_in_wall.png|600px|center]]


{{Caption|align=center|Window sketch moved to the desired position on the wall}}
{{Caption|align=center|Esquisse de fenêtre déplacée à la position souhaitée sur le mur}}


[[Image:06_T02_window_sketch_properties_constraints.png|600px|center]]
[[Image:06_T02_window_sketch_properties_constraints.png|600px|center]]


{{Caption|align=center|Named constraints of the sketch, which can be modified without going inside the sketch}}
{{Caption|align=center|Contraintes nommées de l'esquisse, qui peuvent être modifiées sans entrer dans l'esquisse}}


11. Change back to the [[Arch Workbench]] and, with the new {{incode|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.
11. Revenez à l'[[Arch_Workbench/fr|atelier Arch]] et, avec le nouveau {{incode|Sketch002}} sélectionné, utilisez [[Arch Window/fr|Arch Fenêtre]]. Une fenêtre sera créée et fera un trou dans le mur. La fenêtre est créée à partir d'une esquisse personnalisée, et non à partir d'un préréglage, elle doit donc être modifiée pour afficher correctement ses composants, à savoir le cadre fixe, le cadre intérieur et le panneau de verre.


[[Image:08_T02_window_basic_in_wall.png|600px|center]]
[[Image:08_T02_window_basic_in_wall.png|600px|center]]


{{Caption|align=center|Custom window created from the sketch; it still doesn't have a proper frame, nor glass}}
{{Caption|align=center|Fenêtre personnalisée créée à partir de l'esquisse; elle n'a toujours pas de cadre approprié, ni de verre}}


<span id="Setting_up_the_custom_window"></span>
== Configuration de la fenêtre personnalisée ==
== Configuration de la fenêtre personnalisée ==


12. In the tree view select {{incode|Sketch002}} underlying {{incode|Window}}, and press {{KEY|Space}}, or change the property {{PropertyView|Visibility}} to {{TRUE}}.
12. Dans l'arborescence, sélectionnez {{incode|Sketch002}} sous-jacent à {{incode|Window}} et appuyez sur {{KEY|Espace}} ou modifiez la propriété {{PropertyView/fr|Visibility}} en {{TRUE}}.


13. Double click {{incode|Window}} in the tree view to start editing it.
13. Double-cliquez sur {{incode|Window}} dans l'arborescence pour commencer à l'éditer.
:13.1. Inside the {{incode|Window elements}} dialog there are two panes, {{incode|Wires}} and {{incode|Components}}. There are three wires, {{incode|Wire0}}, {{incode|Wire1}}, and {{incode|Wire2}}, and one component, {{incode|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, {{incode|OuterFrame}} and {{incode|Glass}}. The custom window needs to be edited to have a similar structure.
:13.1. Dans la boîte de dialogue {{incode|Window elements}}, il y a deux volets, {{incode|Wires}} et {{incode|Components}}. Il y a trois fils, {{incode|Wire0}}, {{incode|Wire1}} et {{incode|Wire2}}, et un composant, {{incode|Default}}. Les fils font référence aux boucles fermées qui ont été dessinées dans l'esquisse; les composants définissent les zones de l'esquisse qui seront extrudées pour créer des cadres ou des panneaux de verre avec des épaisseurs réelles; ces zones sont délimitées par les fils. Une fenêtre créée à partir d'un preset a déjà deux composants, {{incode|OuterFrame}} et {{incode|Glass}}. La fenêtre personnalisée doit être modifiée pour avoir une structure similaire.


[[Image:09_T02_window_edit_default.png|center]]
[[Image:09_T02_window_edit_default.png|center]]


{{Caption|align=center|Dialog to edit a window or a door}}
{{Caption|align=center|Boîte de dialogue pour modifier une fenêtre ou une porte}}


:13.2. Click on {{incode|Default}}, and click the {{Button|Remove}} button to eliminate it.
:13.2. Cliquez sur {{incode|Default}}, puis sur le bouton {{Button|Remove}} pour l'éliminer.


:13.3. Click {{Button|Add}}; this shows the properties of a new component like {{incode|Name}}, {{incode|Type}}, {{incode|Wires}}, {{incode|Thickness}}, {{incode|Offset}}, {{incode|Hinge}}, and {{incode|Opening mode}}. Give a name, such as {{incode|OuterFrame}}, choose {{incode|Frame}} for {{incode|Type}}, and click on {{incode|Wire0}} and then {{incode|Wire1}}; they should highlight in the 3D viewport. Add a small value for {{incode|Thickness}}, {{incode|15 mm}}, and check the checkbox to add the default value. This default value is the length assigned to the {{PropertyData|Frame}} property; a similar default can be assigned to the {{PropertyData|Offset}} property. Click the {{Button|+Create/update component}} button to finish editing the component.
:13.3. Cliquez sur {{Button|Add}}; cela montre les propriétés d'un nouveau composant comme {{incode|Name}}, {{incode|Type}}, {{incode|Wires}}, {{incode|Thickness}}, {{incode|Offset}}, { {incode|Hinge}} et {{incode|Opening mode}}. Donnez un nom, tel que {{incode|OuterFrame}}, choisissez {{incode|Frame}} pour {{incode|Type}}, et cliquez sur {{incode|Wire0}} puis {{incode|Wire1}} ; ils doivent être mis en évidence dans la fenêtre 3D. Ajoutez une petite valeur pour {{incode|Thickness}}, {{incode|15 mm}} et cochez la case pour ajouter la valeur par défaut. Cette valeur par défaut est la longueur affectée à la propriété {{PropertyData/fr|Frame}}; une valeur par défaut similaire peut être attribuée à la propriété {{PropertyData/fr|Offset}}. Cliquez sur le bouton {{Button|+Create/update component}} pour terminer la modification du composant.


:13.4. Click {{Button|Add}}; give another name, such as {{incode|InnerFrame}}, choose {{incode|Frame}} for {{incode|Type}}, and click on {{incode|Wire1}} and then {{incode|Wire2}}. Add a sensible {{incode|Thickness}}, {{incode|60 mm}}, and {{incode|Offset}}, {{incode|15 mm}}. Then click the {{Button|+Create/update component}} button.
:13.4. Cliquez sur {{Button|Add}}; donnez un autre nom, tel que {{incode|InnerFrame}}, choisissez {{incode|Frame}} pour {{incode|Type}}, et cliquez sur {{incode|Wire1}} puis {{incode|Wire2}} . Ajoutez un {{incode|Thickness}}, {{incode|60 mm}}, et {{incode|Offset}}, {{incode|15 mm}}. Cliquez ensuite sur le bouton {{Button|+Create/update component}}.


:13.5. Click {{Button|Add}}; give another name, such as {{incode|Glass}}, choose {{incode|Glass panel}} for {{incode|Type}}, and click on {{incode|Wire2}}. Add a sensible {{incode|Thickness}}, {{incode|10 mm}}, and {{incode|Offset}}, {{incode|40 mm}}. Then click the {{Button|+Create/update component}} button. If any of the three components needs to be modified, select it and press {{Button|Edit}}; modifications are only saved after pressing the {{Button|+Create/update component}} button.
:13.5. Cliquez sur {{Button|Add}}; donnez un autre nom, tel que {{incode|Glass}}, choisissez {{incode|Glass panel}} pour {{incode|Type}}, et cliquez sur {{incode|Wire2}}. Ajoutez un {{incode|Thickness}}, {{incode|10 mm}}, et {{incode|Offset}}, {{incode|40 mm}}. Cliquez ensuite sur le bouton {{Button|+Create/update component}}. Si l'un des trois composants doit être modifié, sélectionnez-le et appuyez sur {{Button|Edit}}; les modifications ne sont enregistrées qu'après avoir appuyé sur le bouton {{Button|+Create/update component}}.


[[Image:10_T02_window_edit_components.png|center]]
[[Image:10_T02_window_edit_components.png|center]]


{{Caption|align=center|Editing a previously defined component of a window or a door}}
{{Caption|align=center|Modification d'un composant précédemment défini d'une fenêtre ou d'une porte}}


:13.6. If everything is set, click {{Button|Close}} to finish editing the window. The sketch may become hidden again, but the window will show distinct solid elements for the {{incode|OuterFrame}}, the {{incode|InnerFrame}}, and the {{incode|Glass}}. Give a value of {{incode|100 mm}} to {{PropertyData|Frame}} to assign a default thickness, which will be added to the value specified in the {{incode|OuterFrame}} component.
:13.6. Si tout est défini, cliquez sur {{Button|Close}} pour terminer l'édition de la fenêtre. L'esquisse peut redevenir masquée, mais la fenêtre affichera des éléments solides distincts pour {{incode|OuterFrame}}, {{incode|InnerFrame}} et {{incode|Glass}}. Donnez une valeur de {{incode|100 mm}} à {{PropertyData/fr|Frame}} pour attribuer une épaisseur par défaut, qui sera ajoutée à la valeur spécifiée dans le composant {{incode|OuterFrame}}.


[[Image:11_T02_window_property_view.png|center]]
[[Image:11_T02_window_property_view.png|center]]


{{Caption|align=center|Property view of the window to add default Frame length, Offset length, and other options}}
{{Caption|align=center|Vue des propriétés de la fenêtre pour ajouter la longueur du cadre par défaut, la longueur du décalage et d'autres options}}


[[Image:12_T02_window_finished.png|600px|center]]
[[Image:12_T02_window_finished.png|600px|center]]


{{Caption|align=center|Finished window with appropriate components embedded in the wall}}
{{Caption|align=center|Fenêtre finie avec des composants appropriés intégrés dans le mur}}


<span id="Duplicating_the_custom_window"></span>
== Duplication de la fenêtre personnalisée ==
== Duplication de la fenêtre personnalisée ==


14. In the tree view, select {{incode|Window}} and its underlying {{incode|Sketch002}}. Then go to {{MenuCommand|EditDuplicate selection}}, and answer {{Button|No}} if asked to duplicate unselected dependencies. A new {{incode|Window001}} and {{incode|Sketch003}} will appear in the same position as the original elements.
14. Dans l'arborescence, sélectionnez {{incode|Window}} et son sous-jacent {{incode|Sketch002}}. Puis allez dans {{MenuCommand|EditionCopier la sélection}}, et répondez {{Button|No}} si on vous demande de dupliquer les dépendances non sélectionnées. Un nouveau {{incode|Window001}} et {{incode|Sketch003}} apparaîtront dans la même position que les éléments d'origine.


15. Select the new {{incode|Sketch003}}. Go to the {{PropertyData|Map Mode}} property, and click on the ellipsis next to the {{incode|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 {{incode|Attachment offset}} to [-1 m, 0 m, 0 m] to center the window, and click {{Button|OK}}. The sketch and the window should appear in a new position.
15. Sélectionnez le nouveau {{incode|Sketch003}}. Accédez à la propriété {{PropertyData/fr|Map Mode}} et cliquez sur les points de suspension à côté de la valeur {{incode|FlatFace}}. Dans la fenêtre 3D, sélectionnez le côté gauche du mur qui n'a aucun élément; faites pivoter la [[Std_View_Menu/fr|vue standard]] si nécessaire. Modifiez {{incode|Attachment offset}} en [-1 m, 0 m, 0 m] pour centrer la fenêtre, puis cliquez sur {{Button|OK}}. L'esquisse et la fenêtre doivent apparaître dans une nouvelle position.
:{{Emphasis|Note:}} the [[Part Attachment|attachment operation]] can also be performed by changing to the [[Part Workbench]], and then using the menu {{MenuCommand|Part → Attachment}}.
:{{Emphasis|Note:}} [[Part_EditAttachment/fr|Part Ancrage]] peut également être effectuée en passant à [[Part_Workbench/fr|atelier Part]], puis en utilisant le menu {{MenuCommand|Pièce → Attachment}}.


[[Image:13_T02_sketch_attachment_edit.png|center]]
[[Image:13_T02_sketch_attachment_edit.png|center]]


{{Caption|align=center|Dialog to edit the attachment plane of the sketch}}
{{Caption|align=center|Boîte de dialogue pour modifier le plan d'association de l'esquisse}}


16. You may adjust the dimensions of the new window by changing the named parameters in {{incode|Sketch003}} under {{PropertyData|Constraints}}, for example, set {{incode|Height}} to {{incode|2 m}}, and {{incode|Frame Fixed Bottom}} to {{incode|0 m}}. Then press {{KEY|Ctrl}}+{{KEY|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 {{incode|Mark to recompute}}, then press {{KEY|Ctrl}}+{{KEY|R}} again.
16. Vous pouvez ajuster les dimensions de la nouvelle fenêtre en modifiant les paramètres nommés dans {{incode|Sketch003}} sous {{PropertyData/fr|Contraintes}}, par exemple, définissez {{incode|Height}} à {{incode|2 m}} et {{incode|Frame Fixed Bottom}} à {{incode|0 m}}. Appuyez ensuite sur {{KEY|Ctrl}}+{{KEY|R}} pour [[recompute/fr|recalculer]] le modèle. Si le mur n'affiche pas un plus grand trou pour la nouvelle fenêtre, sélectionnez le mur dans l'arborescence, faites un clic droit et choisissez {{incode|Mark to recompute}}, puis appuyez sur {{KEY|Ctrl}}+{{KEY|R}} à nouveau.


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 {{incode|Window001}} has retained the {{PropertyData|Normal}} information of the original {{incode|Window}}.
17. Ces opérations ont changé la position de la nouvelle fenêtre, mais l'ouverture dans le mur n'a pas l'air correcte. Il est incliné, c'est-à-dire que le trou n'est pas perpendiculaire à la face du mur et qu'il peut même couper d'autres parties du mur. Le problème est que {{incode|Window001}} a conservé les informations {{PropertyData/fr|Normal}} de l'original {{incode|Window}}.


[[Image:14_T02_sketch_2_attached_slanted.png|600px|center]]
[[Image:14_T02_sketch_2_attached_slanted.png|600px|center]]


{{Caption|align=center|Incorrect opening in the wall due to bad Normal of the window}}
{{Caption|align=center|Ouverture incorrecte dans le mur en raison d'une mauvais normale de la fenêtre}}


<span id="Normals_of_doors_and_windows"></span>
== Normals of doors and windows ==
== Normales des portes et fenêtres ==


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 {{PropertyData|Normal}}.
18. Chaque objet [[Arch_Window/fr|Arch Fenêtre]] contrôle l'extrusion de son corps et l'ouverture qui est créée dans sa paroi hôte au moyen de sa {{PropertyData/fr|Normal}}.


The normal is a vector {{incode|[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, {{incode|Door}} and {{incode|Door001}}, were created in this way.
La normale est un vecteur {{incode|[x, y, z]}} qui indique une direction perpendiculaire à un mur. Lorsqu'un préréglage de fenêtre ou de porte est créé avec l'outil [[Arch_Window/fr|Arch Fenêtre]] directement sur un [[Arch Wall/fr|Arch Mur]], la normale est automatiquement calculée et la fenêtre ou la porte résultante est correctement alignée; les deux premiers objets, {{incode|Door}} et {{incode|Door001}}, ont été créés de cette manière.


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 {{incode|Window}}.
De la même manière, lorsqu'une esquisse est créée en sélectionnant une surface plane, elle est orientée sur ce plan. Ensuite, lorsque l'outil [[Arch_Window/fr|Arch Fenêtre]] est utilisé, la fenêtre utilisera normalement la direction perpendiculaire à l'esquisse. Ce fut le cas avec le troisième objet, la {{incode|Window}} personnalisée.


If the window already exists and needs to be moved, as was the case with the duplicated {{incode|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 {{PropertyData|Normal}}.
Si la fenêtre existe déjà et doit être déplacée, comme c'était le cas avec l'objet {{incode|Window001}} dupliqué, l'esquisse doit être remappée sur un autre plan; cela déplace à la fois l'esquisse et la fenêtre, mais celle-ci ne met pas automatiquement à jour sa normale, elle contient donc des informations d'extrusion incorrectes. La normale doit être calculée manuellement et écrite dans {{PropertyData/fr|Normal}}.


The three values of the normal vector are calculated as following.
Les trois valeurs du vecteur normal sont calculées comme suit.
{{Code|code=
{{Code|code=
x = -sin(angle)
x = -sin(angle)
Line 189: Line 197:
z = 0
z = 0
}}
}}
Where {{incode|angle}} is the angle of the local Z axis of the sketch with respect to the global Y axis.
{{incode|angle}} est l'angle de l'axe Z local de l'esquisse par rapport à l'axe Y global.


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.
Lorsqu'une esquisse est créée, elle a toujours deux axes, un X local (rouge) et un Y local (vert). Si l'esquisse est mappée sur le plan de travail global XY, ces axes sont alignés; mais si l'esquisse est mappée sur les plans XZ globaux ou YZ globaux, comme cela est courant avec les fenêtres et les portes (les esquisses sont "debout"), alors le Z local (bleu) forme un angle avec l'axe Y global; cet angle varie de -180 à 180 degrés. L'angle est considéré comme positif s'il s'ouvre dans le sens antihoraire, et il est négatif s'il s'ouvre dans le sens horaire, en partant de l'axe Y global.


[[Image:15_T02_sketch_local_coordinates.png|600px|center]]
[[Image:15_T02_sketch_local_coordinates.png|600px|center]]


{{Caption|align=center|Local coordinates of a sketch that is "standing up", that is, mapped to the global XZ plane}}
{{Caption|align=center|Coordonnées locales d'une esquisse "debout", c'est-à-dire mappée sur le plan XZ global}}


[[Image:16_T02_sketch_correct_normal_direction.png|600px|center]]
[[Image:16_T02_sketch_correct_normal_direction.png|600px|center]]


{{Caption|align=center|Intended directions of the normals for each door and window}}
{{Caption|align=center|Directions prévues des normales pour chaque porte et fenêtre}}


Si nous regardons la géométrie créée jusqu'à présent, nous voyons les normales suivantes.
If we look at the geometry created so far, we see the following normals.


;{{incode|Door}}
;{{incode|Door}}
: The local Z is aligned with the global Y, therefore, the {{incode|angle}} is zero. The normal vector is
: Le Z local est aligné sur le Y global, par conséquent, l '{{incode|angle}} est nul. Le vecteur normal est
{{Code|code=
{{Code|code=
x = -sin(0) = 0
x = -sin(0) = 0
Line 210: Line 218:
z = 0
z = 0
}}
}}
or {{PropertyData|Normal}} is {{incode|[0, 1, 0]}}.
ou {{PropertyData/fr|Normal}} est {{incode|[0, 1, 0]}}.


;{{incode|Door001}}
;{{incode|Door001}}
: The local Z is rotated 90 degrees from the global Y, therefore, the {{incode|angle}} is 90 (positive, because it opens counterclockwise). The normal vector is
: Le Z local est tourné de 90 degrés par rapport au Y global, par conséquent, le {{incode|angle}} est de 90 (positif, car il s'ouvre dans le sens antihoraire). Le vecteur normal est
{{Code|code=
{{Code|code=
x = -sin(90) = -1
x = -sin(90) = -1
Line 219: Line 227:
z = 0
z = 0
}}
}}
or {{PropertyData|Normal}} is {{incode|[-1, 0, 0]}}.
ou {{PropertyData/fr|Normal}} est {{incode|[-1, 0, 0]}}.


;{{incode|Window}}
;{{incode|Window}}
: The local Z is rotated 45 degrees from the global Y, therefore, the {{incode|angle}} is 45 (positive, because it opens counterclockwise). The normal vector is
: Le Z local est tourné de 45 degrés par rapport au Y global, donc le {{incode|angle}} est de 45 (positif, car il s'ouvre dans le sens antihoraire). Le vecteur normal est
{{Code|code=
{{Code|code=
x = -sin(45) = -0.7071
x = -sin(45) = -0.7071
Line 228: Line 236:
z = 0
z = 0
}}
}}
or {{PropertyData|Normal}} is {{incode|[-0.7071, 0.7071, 0]}}.
ou {{PropertyData/fr|Normal}} est {{incode|[-0.7071, 0.7071, 0]}}.


;{{incode|Window001}}
;{{incode|Window001}}
: The local Z direction is found by using the [[Draft Dimension]] tool and measuring the angle that the wall trace ({{incode|Wire}}) makes with the global Y axis, or any line aligned to it. This angle is {{incode|26.57}}; the desired angle is the complement to this, so <code>90 - 26.57 = 63.43</code>.
: La direction Z locale est trouvée en utilisant l'outil [[Draft_Dimension/fr|Draft Dimension]] et en mesurant l'angle que fait le tracé du mur ({{incode|Wire}}) avec l'axe Y global ou toute ligne alignée dessus. Cet angle est {{incode|26.57}}; l'angle souhaité est le complément de cela, donc <code>90 - 26.57 = 63.43</code>.


This means the local Z axis is rotated 63.43 degrees from the global Y, therefore, the {{incode|angle}} is -63.46 (negative, because it opens clockwise). The normal vector is
Cela signifie que l'axe Z local est tourné de 63,43 degrés par rapport au Y global, par conséquent, l'{{incode|angle}} est de -63,46 (négatif, car il s'ouvre dans le sens des aiguilles d'une montre). Le vecteur normal est
{{Code|code=
{{Code|code=
x = -sin(-63.43) = 0.8943
x = -sin(-63.43) = 0.8943
Line 239: Line 247:
z = 0
z = 0
}}
}}
Therefore {{PropertyData|Normal}} should be changed to {{incode|[0.8943, 0.4472, 0]}}.
Par conséquent {{PropertyData/fr|Normal}} devrait être changé en {{incode|[0.8943, 0.4472, 0]}}.


After doing these changes, recompute the model with {{KEY|Ctrl}}+{{KEY|R}}. If the wall doesn't update the hole, select it in the tree view, right click and choose {{incode|Mark to recompute}}, then press {{KEY|Ctrl}}+{{KEY|R}} again.
Après avoir effectué ces modifications, recalculez le modèle avec {{KEY|Ctrl}}+{{KEY|R}}. Si le mur ne met pas à jour le trou, sélectionnez-le dans l'arborescence, faites un clic droit et choisissez {{incode|Mark to recompute}} puis appuyez à nouveau sur {{KEY|Ctrl}}+{{KEY|R}}.


19. The orientation of the extrusion of the window is resolved, together with the opening in the wall.
19. L'orientation de l'extrusion de la fenêtre est résolue, ainsi que l'ouverture dans le mur.


[[Image:17_T02_sketch_2_attached_correctly.png|600px|center]]
[[Image:17_T02_sketch_2_attached_correctly.png|600px|center]]


{{Caption|align=center|Correct opening in the wall due to proper Normal of the window}}
{{Caption|align=center|Ouverture correcte dans le mur en raison de la bonne normale de la fenêtre}}


<span id="Final_remarks"></span>
== Final remarks ==
== Remarques finales ==


20. As demonstrated, the initial placement of the [[Arch Window]] is very important. The user should either
20. Comme démontré, l'emplacement initial de la [[Arch_Window/fr|Arch Fenêtre]] est très important. L'utilisateur doit soit
* utilisez l'outil [[Arch_Window/fr|Arch Fenêtre]] pour insérer et aligner automatiquement un préréglage sur un mur, ou
* use the [[Arch Window]] tool to insert and automatically align a preset to a wall, or
* mappez une esquisse sur le mur souhaité et construisez la fenêtre après cela.
* 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 {{PropertyData|Normal}} of the window needs to be recalculated.
Si une fenêtre existe déjà et qu'elle doit être déplacée, l'esquisse de support doit être remappée sur un nouveau plan et les {{PropertyData/fr|Normal}} de la fenêtre doivent être recalculées.


The new normal direction can be obtained by measuring the {{incode|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.
La nouvelle direction normale peut être obtenue en mesurant l '{{incode|angle}} du nouveau mur par rapport à l'axe Y global, en considérant si cet angle est positif (sens antihoraire) ou négatif (sens horaire), et en utilisant une formule simple.
{{Code|code=
{{Code|code=
x = -sin(angle)
x = -sin(angle)
Line 264: Line 273:
}}
}}


To confirm that the operations are correct, the absolute magnitude of the normal vector should be one. That is,
Pour confirmer que les opérations sont correctes, la grandeur absolue du vecteur normal doit être de un. C'est,
{{Code|code=
{{Code|code=
abs(N) = 1 = sqrt(x^2 + y^2 + z^2)
abs(N) = 1 = sqrt(x^2 + y^2 + z^2)
Line 271: Line 280:




{{Tutorials navi{{#translation:}}}}
{{Arch Tools navi{{#translation:}}}}
{{Arch Tools navi{{#translation:}}}}
{{Draft Tools navi{{#translation:}}}}
{{Draft Tools navi{{#translation:}}}}

Latest revision as of 09:15, 9 December 2023

Other languages:
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 Aimantation, Draft Polyligne, 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 Aimantation et de la méthode Draft Aimantation 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. Sélectionnez DWire et cliquez sur l'outil Arch Mur; le mur est immédiatement créé avec une largeur (épaisseur) par défaut de 0,2 m et une hauteur de 3 m.

Fil de base pour le mur

Mur construit à partir du fil

Placement de portes et fenêtres prédéfinies

7. Cliquez sur l'outil Arch Fenêtre; comme préréglage, sélectionnez Simple door et modifiez la hauteur à 2 m.

7.1. Changez l'accrochage en Draft Milieu et essayez de sélectionner le bord inférieur du mur frontal; faites pivoter la vue standard si nécessaire pour vous aider à choisir le bord et non la face du mur; lorsque le milieu est actif, cliquez pour placer la porte.
7.2. Cliquez à nouveau sur l'outil Arch Fenêtre et placez une autre porte, mais cette fois au milieu du mur arrière; faites pivoter la vue standard si nécessaire.

Accrochage au milieu du bord inférieur du mur pour placer la porte

Note: la Sill height est la distance entre le sol et le bord inférieur de l'élément. Pour les portes, la Sill height (Hauteur du seuil) est généralement de 0 m car les portes touchent normalement le sol; d'autre part, les fenêtres ont une séparation habituelle de 0,5 m à 1,5 m du sol. Sill height ne peut être définie que lors de la création initiale de la fenêtre ou de la porte à partir d'un préréglage. Une fois la fenêtre ou la porte insérée, modifiez son emplacement en éditant la DonnéesPosition du vecteur [x, y, z] de l'Sketcher Esquisse sous-jacente.

Création de portes et fenêtres personnalisées

8. Passez à l'atelier Sketcher; sélectionnez la partie du mur à droite qui n'a pas de porte; cliquez sur Nouvelle esquisse; sélectionnez FlatFace comme méthode de pièce jointe. Si la géométrie existante obstrue votre vue, cliquez sur la Vue en section pour la supprimer.

9. Dessinez une esquisse quelconque contenant trois fils fermés. Assurez-vous de fournir des contraintes à tous les fils.

9.1. Le fil extérieur est le plus gros et définira les principales dimensions de l'objet fenêtre, ainsi que la taille du trou créé lorsqu'il est intégré dans un Arch Mur. Assurez-vous que les dimensions sont nommées correctement, par exemple Width et Height. Une contrainte définit également la courbure du fil extérieur; donnez-lui un nom approprié, comme HeightCurve.
9.2. Le deuxième fil est décalé du fil extérieur et, ensemble, ils définissent la largeur du cadre fixe de la fenêtre. Nommez le décalage de manière appropriée, par exemple FrameFixedOffset. Il sera utilisé pour les décalages verticaux et horizontaux supérieurs. Le décalage du bas, s'il est défini sur zéro, aura pour effet que le cadre fixe touche le bas de la fenêtre; cela peut être utilisé pour modéliser une porte au lieu d'une fenêtre. Donnez-lui un nom approprié, comme FrameFixedBottom.
9.3. Le troisième fil, le plus à l'intérieur, est décalé du deuxième fil, et avec lui, ils définissent le cadre de la fenêtre qui peut s'ouvrir. Le fil le plus à l'intérieur définit également la taille du panneau de verre. Encore une fois, donnez des noms significatifs à ces décalages, par exemple, FrameInnerOffset et FrameInnerBottom.
9.4. Afin de construire avec succès l'esquisse, utilisez les contraintes horizontales (Sketcher Contrainte horizontale) et verticales (Sketcher Contrainte verticale) pour les côtés droits; utilisez la géométrie de construction auxiliaire (Sketcher Géométrie de construction) et les contraintes tangentielles (Sketcher Contrainte tangente) pour placer correctement les arcs de cercle en haut. Comme dans ce cas, la fenêtre est symétrique, considérez les contraintes d'égalité (Sketcher Contrainte d'egalité), symétrique (Sketcher Contrainte de symétrie) et de point sur objet (Sketcher Contrainte Point sur un objet) là où cela a du sens.

Contraintes pour les fils extérieurs de l'esquisse qui forment la fenêtre

Contraintes pour les fils intérieurs de l'esquisse qui forment la fenêtre

10. Une fois l'esquisse entièrement contrainte, appuyez sur Close pour quitter l'esquisse (Sketcher Quitter l'esquisse).

10.1. Puisqu'une face du mur a été sélectionnée lors de l'étape initiale de création de l'esquisse, l'esquisse est coplanaire avec cette face; cependant, il peut être dans la mauvaise position, loin du mur. Si tel est le cas, ajustez DonnéesPosition dans DonnéesAttachment Offset. Définissez DonnéesPosition sur [4 m, 1 m, 0 m] de sorte que l'esquisse soit centrée dans le mur et à un mètre au-dessus du niveau du sol.
10.2. Vous pouvez voir les contraintes nommées sous DonnéesConstraints. Les valeurs peuvent être modifiées pour voir les cotes de changement d'esquisse immédiatement.

Esquisse de fenêtre déplacée à la position souhaitée sur le mur

Contraintes nommées de l'esquisse, qui peuvent être modifiées sans entrer dans l'esquisse

11. Revenez à l'atelier Arch et, avec le nouveau Sketch002 sélectionné, utilisez Arch Fenêtre. Une fenêtre sera créée et fera un trou dans le mur. La fenêtre est créée à partir d'une esquisse personnalisée, et non à partir d'un préréglage, elle doit donc être modifiée pour afficher correctement ses composants, à savoir le cadre fixe, le cadre intérieur et le panneau de verre.

Fenêtre personnalisée créée à partir de l'esquisse; elle n'a toujours pas de cadre approprié, ni de verre

Configuration de la fenêtre personnalisée

12. Dans l'arborescence, sélectionnez Sketch002 sous-jacent à Window et appuyez sur Espace ou modifiez la propriété VueVisibility en true.

13. Double-cliquez sur Window dans l'arborescence pour commencer à l'éditer.

13.1. Dans la boîte de dialogue Window elements, il y a deux volets, Wires et Components. Il y a trois fils, Wire0, Wire1 et Wire2, et un composant, Default. Les fils font référence aux boucles fermées qui ont été dessinées dans l'esquisse; les composants définissent les zones de l'esquisse qui seront extrudées pour créer des cadres ou des panneaux de verre avec des épaisseurs réelles; ces zones sont délimitées par les fils. Une fenêtre créée à partir d'un preset a déjà deux composants, OuterFrame et Glass. La fenêtre personnalisée doit être modifiée pour avoir une structure similaire.

Boîte de dialogue pour modifier une fenêtre ou une porte

13.2. Cliquez sur Default, puis sur le bouton Remove pour l'éliminer.
13.3. Cliquez sur Add; cela montre les propriétés d'un nouveau composant comme Name, Type, Wires, Thickness, Offset, { {incode|Hinge}} et Opening mode. Donnez un nom, tel que OuterFrame, choisissez Frame pour Type, et cliquez sur Wire0 puis Wire1 ; ils doivent être mis en évidence dans la fenêtre 3D. Ajoutez une petite valeur pour Thickness, 15 mm et cochez la case pour ajouter la valeur par défaut. Cette valeur par défaut est la longueur affectée à la propriété DonnéesFrame; une valeur par défaut similaire peut être attribuée à la propriété DonnéesOffset. Cliquez sur le bouton +Create/update component pour terminer la modification du composant.
13.4. Cliquez sur Add; donnez un autre nom, tel que InnerFrame, choisissez Frame pour Type, et cliquez sur Wire1 puis Wire2 . Ajoutez un Thickness, 60 mm, et Offset, 15 mm. Cliquez ensuite sur le bouton +Create/update component.
13.5. Cliquez sur Add; donnez un autre nom, tel que Glass, choisissez Glass panel pour Type, et cliquez sur Wire2. Ajoutez un Thickness, 10 mm, et Offset, 40 mm. Cliquez ensuite sur le bouton +Create/update component. Si l'un des trois composants doit être modifié, sélectionnez-le et appuyez sur Edit; les modifications ne sont enregistrées qu'après avoir appuyé sur le bouton +Create/update component.

Modification d'un composant précédemment défini d'une fenêtre ou d'une porte

13.6. Si tout est défini, cliquez sur Close pour terminer l'édition de la fenêtre. L'esquisse peut redevenir masquée, mais la fenêtre affichera des éléments solides distincts pour OuterFrame, InnerFrame et Glass. Donnez une valeur de 100 mm à DonnéesFrame pour attribuer une épaisseur par défaut, qui sera ajoutée à la valeur spécifiée dans le composant OuterFrame.

Vue des propriétés de la fenêtre pour ajouter la longueur du cadre par défaut, la longueur du décalage et d'autres options

Fenêtre finie avec des composants appropriés intégrés dans le mur

Duplication de la fenêtre personnalisée

14. Dans l'arborescence, sélectionnez Window et son sous-jacent Sketch002. Puis allez dans Edition → Copier la sélection, et répondez No si on vous demande de dupliquer les dépendances non sélectionnées. Un nouveau Window001 et Sketch003 apparaîtront dans la même position que les éléments d'origine.

15. Sélectionnez le nouveau Sketch003. Accédez à la propriété DonnéesMap Mode et cliquez sur les points de suspension à côté de la valeur FlatFace. Dans la fenêtre 3D, sélectionnez le côté gauche du mur qui n'a aucun élément; faites pivoter la vue standard si nécessaire. Modifiez Attachment offset en [-1 m, 0 m, 0 m] pour centrer la fenêtre, puis cliquez sur OK. L'esquisse et la fenêtre doivent apparaître dans une nouvelle position.

Note: Part Ancrage peut également être effectuée en passant à atelier Part, puis en utilisant le menu Pièce → Attachment.

Boîte de dialogue pour modifier le plan d'association de l'esquisse

16. Vous pouvez ajuster les dimensions de la nouvelle fenêtre en modifiant les paramètres nommés dans Sketch003 sous DonnéesContraintes, par exemple, définissez Height à 2 m et Frame Fixed Bottom à 0 m. Appuyez ensuite sur Ctrl+R pour recalculer le modèle. Si le mur n'affiche pas un plus grand trou pour la nouvelle fenêtre, sélectionnez le mur dans l'arborescence, faites un clic droit et choisissez Mark to recompute, puis appuyez sur Ctrl+R à nouveau.

17. Ces opérations ont changé la position de la nouvelle fenêtre, mais l'ouverture dans le mur n'a pas l'air correcte. Il est incliné, c'est-à-dire que le trou n'est pas perpendiculaire à la face du mur et qu'il peut même couper d'autres parties du mur. Le problème est que Window001 a conservé les informations DonnéesNormal de l'original Window.

Ouverture incorrecte dans le mur en raison d'une mauvais normale de la fenêtre

Normales des portes et fenêtres

18. Chaque objet Arch Fenêtre contrôle l'extrusion de son corps et l'ouverture qui est créée dans sa paroi hôte au moyen de sa DonnéesNormal.

La normale est un vecteur [x, y, z] qui indique une direction perpendiculaire à un mur. Lorsqu'un préréglage de fenêtre ou de porte est créé avec l'outil Arch Fenêtre directement sur un Arch Mur, la normale est automatiquement calculée et la fenêtre ou la porte résultante est correctement alignée; les deux premiers objets, Door et Door001, ont été créés de cette manière.

De la même manière, lorsqu'une esquisse est créée en sélectionnant une surface plane, elle est orientée sur ce plan. Ensuite, lorsque l'outil Arch Fenêtre est utilisé, la fenêtre utilisera normalement la direction perpendiculaire à l'esquisse. Ce fut le cas avec le troisième objet, la Window personnalisée.

Si la fenêtre existe déjà et doit être déplacée, comme c'était le cas avec l'objet Window001 dupliqué, l'esquisse doit être remappée sur un autre plan; cela déplace à la fois l'esquisse et la fenêtre, mais celle-ci ne met pas automatiquement à jour sa normale, elle contient donc des informations d'extrusion incorrectes. La normale doit être calculée manuellement et écrite dans DonnéesNormal.

Les trois valeurs du vecteur normal sont calculées comme suit.

x = -sin(angle)
y = cos(angle)
z = 0

angle est l'angle de l'axe Z local de l'esquisse par rapport à l'axe Y global.

Lorsqu'une esquisse est créée, elle a toujours deux axes, un X local (rouge) et un Y local (vert). Si l'esquisse est mappée sur le plan de travail global XY, ces axes sont alignés; mais si l'esquisse est mappée sur les plans XZ globaux ou YZ globaux, comme cela est courant avec les fenêtres et les portes (les esquisses sont "debout"), alors le Z local (bleu) forme un angle avec l'axe Y global; cet angle varie de -180 à 180 degrés. L'angle est considéré comme positif s'il s'ouvre dans le sens antihoraire, et il est négatif s'il s'ouvre dans le sens horaire, en partant de l'axe Y global.

Coordonnées locales d'une esquisse "debout", c'est-à-dire mappée sur le plan XZ global

Directions prévues des normales pour chaque porte et fenêtre

Si nous regardons la géométrie créée jusqu'à présent, nous voyons les normales suivantes.

Door
Le Z local est aligné sur le Y global, par conséquent, l 'angle est nul. Le vecteur normal est
x = -sin(0) = 0
y = cos(0) = 1
z = 0

ou DonnéesNormal est [0, 1, 0].

Door001
Le Z local est tourné de 90 degrés par rapport au Y global, par conséquent, le angle est de 90 (positif, car il s'ouvre dans le sens antihoraire). Le vecteur normal est
x = -sin(90) = -1
y = cos(90) = 0
z = 0

ou DonnéesNormal est [-1, 0, 0].

Window
Le Z local est tourné de 45 degrés par rapport au Y global, donc le angle est de 45 (positif, car il s'ouvre dans le sens antihoraire). Le vecteur normal est
x = -sin(45) = -0.7071
y = cos(45) = 0.7071
z = 0

ou DonnéesNormal est [-0.7071, 0.7071, 0].

Window001
La direction Z locale est trouvée en utilisant l'outil Draft Dimension et en mesurant l'angle que fait le tracé du mur (Wire) avec l'axe Y global ou toute ligne alignée dessus. Cet angle est 26.57; l'angle souhaité est le complément de cela, donc 90 - 26.57 = 63.43.

Cela signifie que l'axe Z local est tourné de 63,43 degrés par rapport au Y global, par conséquent, l'angle est de -63,46 (négatif, car il s'ouvre dans le sens des aiguilles d'une montre). Le vecteur normal est

x = -sin(-63.43) = 0.8943
y = cos(-63.43) = 0.4472
z = 0

Par conséquent DonnéesNormal devrait être changé en [0.8943, 0.4472, 0].

Après avoir effectué ces modifications, recalculez le modèle avec Ctrl+R. Si le mur ne met pas à jour le trou, sélectionnez-le dans l'arborescence, faites un clic droit et choisissez Mark to recompute puis appuyez à nouveau sur Ctrl+R.

19. L'orientation de l'extrusion de la fenêtre est résolue, ainsi que l'ouverture dans le mur.

Ouverture correcte dans le mur en raison de la bonne normale de la fenêtre

Remarques finales

20. Comme démontré, l'emplacement initial de la Arch Fenêtre est très important. L'utilisateur doit soit

  • utilisez l'outil Arch Fenêtre pour insérer et aligner automatiquement un préréglage sur un mur, ou
  • mappez une esquisse sur le mur souhaité et construisez la fenêtre après cela.

Si une fenêtre existe déjà et qu'elle doit être déplacée, l'esquisse de support doit être remappée sur un nouveau plan et les DonnéesNormal de la fenêtre doivent être recalculées.

La nouvelle direction normale peut être obtenue en mesurant l 'angle du nouveau mur par rapport à l'axe Y global, en considérant si cet angle est positif (sens antihoraire) ou négatif (sens horaire), et en utilisant une formule simple.

x = -sin(angle)
y = cos(angle)
z = 0

Pour confirmer que les opérations sont correctes, la grandeur absolue du vecteur normal doit être de un. C'est,

abs(N) = 1 = sqrt(x^2 + y^2 + z^2)
abs(N) = 1 = sqrt(sin^2(angle) + cos^2(angle) + z^2)