Arch Roof/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 12: Line 12:
{{GuiCommand/fr
{{GuiCommand/fr
|Name=Arch Roof
|Name=Arch Roof
|Name/fr=Arch Toiture
|Name/fr=Arch Toit
|MenuLocation=Arch → Toiture
|MenuLocation=Arch → Toit
|Workbenches=[[Arch_Workbench/fr|Arch]]
|Workbenches=[[Arch_Workbench/fr|Arch]]
|Shortcut={{KEY|R}} {{KEY|F}}
|Shortcut={{KEY|R}} {{KEY|F}}

Revision as of 10:02, 20 January 2024

Arch Toit

Emplacement du menu
Arch → Toit
Ateliers
Arch
Raccourci par défaut
R F
Introduit dans la version
-
Voir aussi
Arch Structure, Arch Mur

Description

L'outil Arch Toiture permet de créer un toit en pente à partir d'une polyligne sélectionnée. L'objet Toiture créé est paramétrique et garde sa relation avec l'objet de base. Le principe est que chaque arête se voit attribuer un profil de toiture (pente, largeur, surplomb, épaisseur).

Remarque : cet outil est encore en développement et peut échouer avec des formes très complexes.

Vue d'en haut d'un modèle de bâtiment montrant le toit avec une certaine transparence

Utilisation

  1. Créez une polyligne fermée dans le sens anti-horaire et sélectionnez la.
  2. Cliquez sur le bouton Toiture ou appuyez sur les touches R puis F.
  3. L'objet Toiture par défaut a l'air étrange car l'outil manque de certaines informations nécessaires.
  4. Après la création de la par défaut, double cliquez sur l'objet dans la vue en arborescence pour accéder à son édition et ses propriétés. Les angles doivent être compris entre 0 et 90 degrés.
  5. Chaque ligne correspond à un pan de la toiture. Vous pouvez ainsi définir les propriétés que vous dédirez pour chaque pan de la toiture.
  6. Pour vous aider, vous pouvez régler Angle ou Run sur 0 et définir un Relative Id, cela effectue un calcul automatique pour trouver les données relatives au Relative Id.
  7. Cela fonctionne ainsi :
    1. Si Angle = 0 et Run = 0 alors le profil est identique au profil relatif.
    2. Si Angle = 0 alors Angle est calculé de manière à ce que la hauteur soit identique au profil relatif.
    3. Si Run = 0 alors Run est calculé de manière à ce que la hauteur soit identique à celle du profil relatif.
    4. Enfin, fixez un angle à 90° pour faire un pignon.
  8. Remarque : pour une meilleure compréhension, veuillez consulter cette vidéo youtube.

Options

  • L'objet Toiture partage les propriétés communes et le comportement de tous les Arch Composants.

Propriétés

Données

Roof

  • DonnéesAngles (FloatList) : liste des angles des segments de toit.
  • DonnéesBorder Length (Length) : longueur totale des bordures de la toiture.
  • DonnéesFace (Integer) : numéro de la face de l'objet de base utilisé pour construire le toit (non utilisé).
  • DonnéesFlip (Bool) : indique si la direction du toit doit être inversée.
  • DonnéesHeights (FloatList) : liste des hauteurs calculées des segments de toit.
  • DonnéesId Rel (IntegerList) : liste des identifiants des profils correspondants aux segments de toit.
  • DonnéesOverhang (FloatList) : liste des porte-à-faux des segments de toit.
  • DonnéesRidge Length (Length) : longueur totale des crêtes et des arêtiers de la toiture.
  • DonnéesRuns (FloatList) : liste des projections horizontales des segments de toit.
  • DonnéesThickness (FloatList) : liste des épaisseurs des segments de toit.

Script

Voir aussi : Arch API et Débuter avec les scripts FreeCAD.

L'outil Toiture peut être utilisé dans les macros et à partir de la console Python en utilisant la fonction suivante :

Roof = makeRoof(baseobj=None, facenr=0, angles=[45.,], run=[], idrel=[0,], thickness=[50.,], overhang=[100.,], name="Roof")
  • Crée un objet Roof à partir de baseobj donné, qui peut être une polyligne fermée ou un objet solide.
    • Si baseobj est une polyligne, vous pouvez fournir des listes de angles, run, idrel, thickness et overhang pour chaque arête de la polyligne afin de définir la forme du toit.
    • Les listes sont automatiquement complétées pour correspondre au nombre d'arêtes de la polyligne.

Exemple :

import FreeCAD as App
import Arch, Draft

doc = App.newDocument()

rect = Draft.makeRectangle(3000, 4000)
doc.recompute()

roof = Arch.makeRoof(rect, angles=[30.,])

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1000, 1000, 0)
p3 = App.Vector(0, 2000, 0)

wire = Draft.make_wire([p1, p2, p3], closed=True)
doc.recompute()

roof1 = Arch.makeRoof(wire)

doc.recompute()