Reinforcement DrawingDimensioning/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(46 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{VeryImportantMessage|This page is far too long. It seems to describe 3 separate commands that should each have a dedicated page.}}


{{Docnav/fr
{{Docnav/fr
|[[Reinforcement_BarBendingSchedule/fr|Plan de cintrage]]
|[[Reinforcement_Bar_Bending_Schedule/fr|Tableau des armatures]]
|
|[[Arch_Floor/fr|Niveaux]]
|[[Reinforcement_Workbench|Atelier Reinforcement]]
|[[Reinforcement_Workbench/fr|Atelier Reinforcement]]
|IconL=Reinforcement_Bar_Bending_Schedule.svg
|IconL=Reinforcement_BarBendingSchedule.svg
|IconR=Arch_Floor.svg
|IconR=
|IconC=Reinforcement_Workbench.svg
|IconC=Reinforcement_Workbench.svg
}}
}}


{{GuiCommand/fr
{{GuiCommand/fr
|Name=Reinforcement DrawingDimensioning
|Name=Arch Rebar Drawing Dimensioning
|Name/fr=Arch Rebar Dessins dimensions
|Name/fr=Reinforcement Dessins et dimensions
|MenuLocation=
|MenuLocation=
|Workbenches=[[Arch_Workbench/fr|Arch]], [[BIM_Workbench/fr|BIM]]
|Workbenches=[[Reinforcement_Workbench/fr|Reinforcement]]
|Version=0.19
|Version=0.19
|SeeAlso=
|SeeAlso=[[Reinforcement_Workbench/fr|Reinforcement]], [[Arch_Rebar_BOM/fr|Arch Nomenclature armature]], [[Reinforcement_Bar_Shape_Cut_List|Reinforcement Nomenclature de façonnage des armatures]]
}}
}}


==Description==
==Description==


L'outil [[Arch_Rebar_Drawing_Dimensioning/fr|Dessins dimensions]] permet à l'utilisateur de créer un dessin d'armatures et de leurs donner des dimensions.
L'outil [[Reinforcement_DrawingDimensioning/fr|Dessins et dimensions]] permet à l'utilisateur de créer des dessins et des dimensions de barres d'armature.


Cette commande fait partie de l'[[Reinforcement_Workbench/fr|atelier Reinforcement]], un [[External_workbenches/fr|atelier externe]] que vous pouvez installer avec [[Image:AddonManager.svg|24px]] [[Addon_Manager/fr|Addon Manager]] via le menu {{MenuCommand|Outils → Gestionnaire d'Addon → Reinforcement}}.
Cette outil fait partie de l'[[Reinforcement_Workbench/fr|atelier Reinforcement]], un [[External_workbenches/fr|atelier externe]] qui peut être installé avec le [[Image:Std_AddonMgr.svg|24px]] [[Std_AddonMgr/fr|Gestionnaire des extensions]].


[[Image:Arch_Rebar_Drawing_Dimensioning_example.svg|800px]]
[[Image:Arch_Rebar_Drawing_Dimensioning_example.svg|800px]]
{{Caption|Dessin et dimensions des armatures}}


<span id="Usage"></span>
{{Caption|Dessin et dimensionnement des armatures}}

==Utilisation==
==Utilisation==


1. Ouvrez le modèle FreeCAD contenant les barres d'armature créées à l'aide de [[Reinforcement_Workbench/fr|Atelier Reinforcement]].
1. Ouvrez le modèle FreeCAD contenant les barres d'armature créées à l'aide de [[Reinforcement_Workbench/fr|atelier Reinforcement]].


2. Sélectionnez l'objet {{Button|[[Image:Arch_Structure.svg|16px]] [[Arch_Structure/fr|Arch Structure]]}} puis cliquez sur {{Button|[[Image:Arch_Rebar_Drawing_Dimensioning.svg|16px]] [[Arch_Rebar_Drawing_Dimensioning/fr|Reinforcement Drawing Dimensioning]]}}.
2. Sélectionnez l'objet {{Button|[[Image:Arch_Structure.svg|16px]] [[Arch_Structure/fr|Arch Structure]]}} puis sélectionnez {{Button|[[Image:Reinforcement_DrawingDimensioning.svg|16px]] [[Reinforcement_DrawingDimensioning/fr|Reinforcement Drawing Dimensioning]]}} depuis la barre d'outils.


3. Une boîte de dialogue apparaîtra à l'écran, comme indiqué ci-dessous.
3. Une boîte de dialogue apparaîtra à l'écran, comme indiqué ci-dessous.


[[Image:ArchRebarDrawingDimensioning_dialog1.png|800px]]
: [[Image:ArchRebarDrawingDimensioning_dialog1.png|800px]]


4. Entrez tous les détails relatifs à la largeur du trait et à la couleur de l'armature et de la structure.
4. Entrez tous les détails relatifs à la largeur du trait et à la couleur de l'armature et de la structure.
Line 44: Line 43:
5. Cliquez sur {{Button|Next}} et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.
5. Cliquez sur {{Button|Next}} et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.


[[Image:ArchRebarDrawingDimensioning_dialog2.png|800px]]
: [[Image:ArchRebarDrawingDimensioning_dialog2.png|800px]]


6. Entrez les détails des options de vues de dessin, de cotation et de décalage.
6. Entrez les détails des options de vues de dessin, de cotation et de décalage.
Line 50: Line 49:
7. Cliquez sur {{Button|Next}} et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.
7. Cliquez sur {{Button|Next}} et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.


[[Image:ArchRebarDrawingDimensioning_dialog3.png|800px]]
: [[Image:ArchRebarDrawingDimensioning_dialog3.png|800px]]


8. Entrez l'étiquette de cote et les détails de la ligne.
8. Entrez l'étiquette de cote et les détails de la ligne.
Line 56: Line 55:
9. Cliquez sur {{Button|Next}} et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.
9. Cliquez sur {{Button|Next}} et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.


[[Image:ArchRebarDrawingDimensioning_dialog4.png|800px]]
: [[Image:ArchRebarDrawingDimensioning_dialog4.png|800px]]


10. Entrez les détails de dimension d'une seule armature et de plusieurs armatures.
10. Entrez les détails de dimension d'une seule armature et de plusieurs armatures.
Line 62: Line 61:
11. Cliquez sur {{Button|Next}} et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.
11. Cliquez sur {{Button|Next}} et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.


[[Image:ArchRebarDrawingDimensioning_dialog5.png|800px]]
: [[Image:ArchRebarDrawingDimensioning_dialog5.png|800px]]


12. Entrez les détails des décalages de cote et de ligne de cote.
12. Entrez les détails des décalages de cote et de ligne de cote.
Line 68: Line 67:
13. Cliquez sur le bouton {{Button|Finish}} pour générer des dessins.
13. Cliquez sur le bouton {{Button|Finish}} pour générer des dessins.


<span id="Scripting"></span>
==Script==
==Script==


{{Emphasis|Voir aussi :}} [[Arch API/fr|Arch API]], [[Reinforcement API/fr|API de renforts]] et [[FreeCAD Scripting Basics/fr|FreeCAD Scripts de Base]].
{{Emphasis|Voir aussi :}} [[Arch_API/fr|Arch API]], [[Reinforcement_API/fr|Reinforcement API]] et [[FreeCAD_Scripting_Basics/fr|FreeCAD Débuter avec les scripts]].


L'outil [[Arch Rebar Drawing Dimensioning/fr|Dimensionnement des dessins d'armatures]] peut être utilisé dans des [[macros/fr|macros]] et à partir de la console [[Python/fr|Python]] à l'aide des fonctions suivantes :
L'outil Dessins et dimensions peut être utilisé dans des [[Macros/fr|macros]] et à partir de la console [[Python/fr|Python]] à l'aide des fonctions suivantes :


<span id="Create_Reinforcement_Drawing_And_Dimensioning"></span>
=== Créer un dessin et des dimensions d'armatures ===
=== Dessin et dimensions ===


{{Code|code=
{{Code|code=
Line 93: Line 94:
drawing_min_right_offset=20,
drawing_min_right_offset=20,
drawing_min_bottom_offset=20,
drawing_min_bottom_offset=20,
drawing_max_width=0, # Il est défini sur 0 pour définir automatiquement la largeur par défaut en fonction d'autres paramètres
drawing_max_width=0, # It is set to 0 to automatically set the default width based on other parameters
drawing_max_height=0, # Il est défini sur 0 pour définir automatiquement la hauteur par défaut en fonction d'autres paramètres
drawing_max_height=0, # It is set to 0 to automatically set the default height based on other parameters
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
perform_dimensioning=True,
perform_dimensioning=True,
Line 181: Line 182:
* {{incode|dimension_single_rebar_text_position_type}} spécifie le type de position de l'étiquette de cote, si une seule armature est visible. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine".
* {{incode|dimension_single_rebar_text_position_type}} spécifie le type de position de l'étiquette de cote, si une seule armature est visible. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine".
* {{incode|dimension_multi_rebar_text_position_type}} spécifie le type de position de l'étiquette de cote, dans le cas où plusieurs armatures sont visibles. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine".
* {{incode|dimension_multi_rebar_text_position_type}} spécifie le type de position de l'étiquette de cote, dans le cas où plusieurs armatures sont visibles. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine".



<div class="mw-collapsible toccolours mw-collapsed">
<div class="mw-collapsible toccolours mw-collapsed">
<span id="Example"></span>
===== Exemple =====
===== Exemple =====
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Line 201: Line 202:
FreeCAD.ActiveDocument.recompute()
FreeCAD.ActiveDocument.recompute()


# Create Straight Rebars
# Créer des barres d'armature droites
TwoTiesSixRebars.makeTwoTiesSixRebars(
TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
l_cover_of_ties=40,
Line 226: Line 227:
)
)


# Create LShaped Rebars with hook along x-axis
# Pour les barres de renfort en forme de L avec le crochet dirigé le long de l'axe des x.
TwoTiesSixRebars.makeTwoTiesSixRebars(
TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
l_cover_of_ties=40,
Line 251: Line 252:
)
)


# Create Reinforcement Drawing and Dimensioning
# Créer un dessin et des dimensions d'armatures
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
struct_drawing_page_dict = make_reinforcement_drawing.makeStructuresReinforcementDrawing(
struct_drawing_page_dict = make_reinforcement_drawing.makeStructuresReinforcementDrawing(
Line 267: Line 268:
drawing_min_right_offset=20,
drawing_min_right_offset=20,
drawing_min_bottom_offset=20,
drawing_min_bottom_offset=20,
drawing_max_width=0, # Il est défini sur 0 pour définir automatiquement la largeur par défaut en fonction d'autres paramètres
drawing_max_width=0, # It is set to 0 to automatically set the default width based on other parameters
drawing_max_height=0, # Il est défini sur 0 pour définir automatiquement la hauteur par défaut en fonction d'autres paramètres
drawing_max_height=0, # It is set to 0 to automatically set the default height based on other parameters
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
perform_dimensioning=True,
perform_dimensioning=True,
Line 309: Line 310:
drawing_view.recompute(True)
drawing_view.recompute(True)
drawing_page.recompute(True)
drawing_page.recompute(True)

}}
}}


Line 315: Line 315:
</div>
</div>


<span id="Reinforcement_Drawing"></span>
= [[Image:Arch_Rebar_Drawing.svg|32px]] Dessins des armatures =
= Dessin =


<span id="Usage"></span>
==Utilisation==
==Utilisation==


1. Ouvrez le modèle FreeCAD contenant les barres d'armature créées à l'aide de [[Reinforcement Addon/fr|Addon Reinforcement]].
1. Ouvrez le modèle FreeCAD contenant les barres d'armature créées à l'aide de [[Reinforcement_Workbench/fr|atelier Reinforcement]].


2. Dans la console FreeCAD Python, copiez l'extrait de code ci-dessous pour générer le dessin des armatures à partir de différentes vues pour chaque élément [[Arch_Structure/fr|Arch Structure]].
2. Dans la console Python de FreeCAD, copiez le snippet ci-dessous pour générer le dessin des armatures à partir de différentes vues pour chaque élément [[Arch_Structure/fr|Arch Structure]].
{{Code|code=
{{Code|code=
from ReinforcementDrawing.make_reinforcement_drawing import (
from ReinforcementDrawing.make_reinforcement_drawing import (
Line 331: Line 333:
}}
}}


<span id="ReinforcementDrawingView_Object"></span>
==Objet ReinforcementDrawingView==
==Objet ReinforcementDrawingView==


Un objet de la vue SVG Dessin des armatures.
Un objet de la vue SVG Dessin des armatures.


<span id="Properties"></span>
===Propriétés===
===Propriétés===


* {{PropertyData|Structure}} : L'objet structure agissant en tant qu'hôte pour les armatures à inclure dans le dessin.
* {{PropertyData|Structure}} : objet structure agissant en tant qu'hôte pour les armatures à inclure dans le dessin.
* {{PropertyData|Rebars}} : La liste des objets d'armature à inclure dans le dessin.
* {{PropertyData|Rebars}} : liste des objets d'armature à inclure dans le dessin.
* {{PropertyData|View}} : La vue du dessin des armatures à générer. Il peut s'agir de "Front", "Rear", "Left", "Right", "Top" ou "Bottom".
* {{PropertyData|View}} : vue du dessin des armatures à générer. Il peut s'agir de "Front", "Rear", "Left", "Right", "Top" ou "Bottom".
* {{PropertyData|PositionType}} : Le type de position du dessin d'armature sur le gabarit. Il peut être "Automatique" pour calculer l'emplacement du dessin en utilisant {{PropertyData|LeftOffset}}, {{PropertyData|TopOffset}}, {{PropertyData|MinRightOffset}} et {{PropertyData|MinBottomOffset}} OU "Personnalisé" pour définir l'emplacement en utilisant {{PropertyData|X}} et {{PropertyData|Y}}.
* {{PropertyData|PositionType}} : type de position du dessin d'armature sur le gabarit. Il peut être "Automatique" pour calculer l'emplacement du dessin en utilisant {{PropertyData|LeftOffset}}, {{PropertyData|TopOffset}}, {{PropertyData|MinRightOffset}} et {{PropertyData|MinBottomOffset}} OU "Personnalisé" pour définir l'emplacement en utilisant {{PropertyData|X}} et {{PropertyData|Y}}.
* {{PropertyData|RebarsStrokeWidth}} : La largeur de trait des armatures dans le dessin des armatures SVG.
* {{PropertyData|RebarsStrokeWidth}} : largeur de trait des armatures dans le dessin des armatures SVG.
* {{PropertyData|RebarsColorStyle}} : Le style de couleur des armatures dans le dessin des armatures SVG. Réglez-le sur "Automatique" pour sélectionner automatiquement la couleur des armatures OU sur "Personnalisé" pour choisir la valeur de couleur de la forme dans {{PropertyData|RebarsColor}}.
* {{PropertyData|RebarsColorStyle}} : style de couleur des armatures dans le dessin des armatures SVG. Réglez-le sur "Automatique" pour sélectionner automatiquement la couleur des armatures OU sur "Personnalisé" pour choisir la valeur de couleur de la forme dans {{PropertyData|RebarsColor}}.
* {{PropertyData|RebarsColor}} : La couleur des armatures dans le dessin des armatures SVG.
* {{PropertyData|RebarsColor}} : couleur des armatures dans le dessin des armatures SVG.
* {{PropertyData|StructureStrokeWidth}} : La largeur du trait de la structure dans le SVG du dessin d'armature.
* {{PropertyData|StructureStrokeWidth}} : largeur du trait de la structure dans le SVG du dessin d'armature.
* {{PropertyData|StructureColorStyle}} : Le style de couleur de la structure dans le dessin des armatures SVG. Réglez-le sur "Automatique" pour sélectionner automatiquement la couleur des armatures, "Personnalisé" pour choisir la valeur de couleur de la forme de {{PropertyData|StructureColor}} OU "Aucun" pour ne pas remplir la structure.
* {{PropertyData|StructureColorStyle}} : style de couleur de la structure dans le dessin des armatures SVG. Réglez-le sur "Automatique" pour sélectionner automatiquement la couleur des armatures, "Personnalisé" pour choisir la valeur de couleur de la forme de {{PropertyData|StructureColor}} OU "Aucun" pour ne pas remplir la structure.
* {{PropertyData|StructureColor}} : La couleur de la structure dans le dessin des armatures SVG.
* {{PropertyData|StructureColor}} : couleur de la structure dans le dessin des armatures SVG.
* {{PropertyData|Template}} : Le modèle pour la vue de dessin des armatures.
* {{PropertyData|Template}} : modèle pour la vue de dessin des armatures.
* {{PropertyData|Width}} : La largeur de la vue SVG du dessin des armatures.
* {{PropertyData|Width}} : largeur de la vue SVG du dessin des armatures.
* {{PropertyData|Height}} : La hauteur de la vue de dessin des armatures SVG.
* {{PropertyData|Height}} : hauteur de la vue de dessin des armatures SVG.
* {{PropertyData|LeftOffset}} : Le décalage gauche de la vue de dessin des armatures sur un modèle.
* {{PropertyData|LeftOffset}} : décalage gauche de la vue de dessin des armatures sur un modèle.
* {{PropertyData|TopOffset}} : Le décalage supérieur de la vue de dessin des armatures sur un modèle.
* {{PropertyData|TopOffset}} : décalage supérieur de la vue de dessin des armatures sur un modèle.
* {{PropertyData|MinRightOffset}} : Le décalage minimum à droite de la vue de dessin des armatures sur un modèle.
* {{PropertyData|MinRightOffset}} : décalage minimum à droite de la vue de dessin des armatures sur un modèle.
* {{PropertyData|MinBottomOffset}} : Le décalage inférieur minimum de la vue de dessin des armatures sur un modèle.
* {{PropertyData|MinBottomOffset}} : décalage inférieur minimum de la vue de dessin des armatures sur un modèle.
* {{PropertyData|MaxWidth}} : La largeur maximale de la vue du dessin des armatures.
* {{PropertyData|MaxWidth}} : largeur maximale de la vue du dessin des armatures.
* {{PropertyData|MaxHeight}} : La hauteur maximale de la vue du dessin des armatures.
* {{PropertyData|MaxHeight}} : hauteur maximale de la vue du dessin des armatures.
* {{PropertyData|VisibleRebars}} : La liste des objets d'armature visibles dans la vue de dessin.
* {{PropertyData|VisibleRebars}} : liste des objets d'armature visibles dans la vue de dessin.
* {{PropertyData|DimensionLeftOffset}} : Le décalage gauche pour chaque nouvel objet ReinforcementDimensioning.
* {{PropertyData|DimensionLeftOffset}} : décalage gauche pour chaque nouvel objet ReinforcementDimensioning.
* {{PropertyData|DimensionRightOffset}} : Le décalage droit pour chaque nouvel objet ReinforcementDimensioning.
* {{PropertyData|DimensionRightOffset}} : décalage droit pour chaque nouvel objet ReinforcementDimensioning.
* {{PropertyData|DimensionTopOffset}} : Le décalage supérieur pour chaque nouvel objet ReinforcementDimensioning.
* {{PropertyData|DimensionTopOffset}} : décalage supérieur pour chaque nouvel objet ReinforcementDimensioning.
* {{PropertyData|DimensionBottomOffset}} : Le décalage inférieur pour chaque nouvel objet ReinforcementDimensioning.
* {{PropertyData|DimensionBottomOffset}} : décalage inférieur pour chaque nouvel objet ReinforcementDimensioning.


<span id="Scripting"></span>
==Script==
==Script==


{{Emphasis|Voir aussi :}} [[Arch API/fr|Arch API]], [[Reinforcement API/fr|API de renforts]] et [[FreeCAD Scripting Basics/fr|FreeCAD Scripts de Base]].
{{Emphasis|Voir aussi :}} [[Arch_API/fr|Arch API]], [[Reinforcement_API/fr|Reinforcement API]] et [[FreeCAD_Scripting_Basics/fr|FreeCAD Débuter avec les scripts]].


Les fonctions dessins de Reinforcement peuvent être utilisées dans des [[macros/fr|macros]] et dans la console [[Python/fr|Python]] en utilisant les fonctions suivantes :
Les fonctions Dessins peuvent être utilisées dans des [[Macros/fr|macros]] et dans la console [[Python/fr|Python]] en utilisant les fonctions suivantes :


<span id="Create_Reinforcement_Drawing_View"></span>
=== Créer une vue de dessin de l'armature ===
=== Vue de dessin ===


<span id="For_one_structure"></span>
==== Pour une structure ====
==== Pour une structure ====


Line 427: Line 434:


<div class="mw-collapsible toccolours mw-collapsed">
<div class="mw-collapsible toccolours mw-collapsed">
<span id="Example"></span>
===== Exemple =====
===== Exemple =====
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Line 441: Line 449:
FreeCAD.ActiveDocument.recompute()
FreeCAD.ActiveDocument.recompute()


# Créer des barres d'armature droites
# Créer des armatures droites
RebarGroup = TwoTiesSixRebars.makeTwoTiesSixRebars(
RebarGroup = TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
l_cover_of_ties=40,
Line 468: Line 476:
rebars = Draft.get_objects_of_type(FreeCAD.ActiveDocument.Objects, "Rebar")
rebars = Draft.get_objects_of_type(FreeCAD.ActiveDocument.Objects, "Rebar")


# Créer le schéma de barres d'armature
# Créer le dessin des barres d'armature
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
make_reinforcement_drawing.makeReinforcementDrawing(
make_reinforcement_drawing.makeReinforcementDrawing(
Line 484: Line 492:
drawing_min_right_offset=20,
drawing_min_right_offset=20,
drawing_min_bottom_offset=20,
drawing_min_bottom_offset=20,
drawing_max_width=0, # Il est défini sur 0 pour définir automatiquement la largeur par défaut en fonction d'autres paramètres
drawing_max_width=0, # It is set to 0 to automatically set the default width based on other parameters
drawing_max_height=0, # Il est défini sur 0 pour définir automatiquement la hauteur par défaut en fonction d'autres paramètres
drawing_max_height=0, # It is set to 0 to automatically set the default height based on other parameters
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
dimension_left_offset=10,
dimension_left_offset=10,
Line 497: Line 505:
</div>
</div>


<span id="For_multiple_structures"></span>
==== Pour plusieurs structures ====
==== Pour plusieurs structures ====
{{Code|code=
{{Code|code=
Line 528: Line 537:


<div class="mw-collapsible toccolours mw-collapsed">
<div class="mw-collapsible toccolours mw-collapsed">
<span id="Example"></span>
===== Exemple =====
===== Exemple =====
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Line 545: Line 555:
FreeCAD.ActiveDocument.recompute()
FreeCAD.ActiveDocument.recompute()


# Créer des barres d'armature droites
# Créer des armatures droites
TwoTiesSixRebars.makeTwoTiesSixRebars(
TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
l_cover_of_ties=40,
Line 570: Line 580:
)
)


# Pour barres de renfort en forme de L avec le crochet dirigé le long de l'axe des x.
# Pour des armatures en forme de L avec le crochet dirigé le long de l'axe des x.
TwoTiesSixRebars.makeTwoTiesSixRebars(
TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
l_cover_of_ties=40,
Line 595: Line 605:
)
)


# Créer le schéma de barres d'armature
# Créer le dessin des barres d'armature
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
make_reinforcement_drawing.makeStructuresReinforcementDrawing(
make_reinforcement_drawing.makeStructuresReinforcementDrawing(
Line 611: Line 621:
drawing_min_right_offset=20,
drawing_min_right_offset=20,
drawing_min_bottom_offset=20,
drawing_min_bottom_offset=20,
drawing_max_width=0, # Il est défini sur 0 pour définir automatiquement la largeur par défaut en fonction d'autres paramètres
drawing_max_width=0, # It is set to 0 to automatically set the default width based on other parameters
drawing_max_height=0, # Il est défini sur 0 pour définir automatiquement la hauteur par défaut en fonction d'autres paramètres
drawing_max_height=0, # It is set to 0 to automatically set the default height based on other parameters
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
dimension_left_offset=10,
dimension_left_offset=10,
Line 624: Line 634:
</div>
</div>


= [[Image:Arch_Rebar_Dimensioning.svg|32px]] Dimensions des armatures =


<span id="Reinforcement_Dimensioning"></span>
=Dimensions =

<span id="Usage"></span>
==Utilisation==
==Utilisation==


1. Ouvrez le modèle FreeCAD contenant les barres d'armature créées à l'aide de [[Reinforcement Addon/fr|Addon Reinforcement]].
1. Ouvrez le modèle FreeCAD contenant les barres d'armature créées à l'aide de [[Reinforcement_Workbench/fr|atelier Reinforcement]].

2. Dans la console Python de FreeCAD, copiez le snippet ci-dessous pour générer le dessin des armatures à partir de différentes vues pour chaque élément [[Arch_Structure/fr|Arch Structure]].


2. Dans la console FreeCAD Python, copiez l'extrait de code ci-dessous pour générer le dessin et la cotation des armatures à partir de différentes vues pour chaque élément [[Arch_Structure/fr|Arch Structure]].
{{Code|code=
{{Code|code=
from ReinforcementDrawing.make_reinforcement_drawing import (
from ReinforcementDrawing.make_reinforcement_drawing import (
Line 652: Line 666:
drawing_view.recompute(True)
drawing_view.recompute(True)
drawing_page.recompute(True)
drawing_page.recompute(True)

}}
}}


<span id="ReinforcementDimensioning_Object"></span>
==L'objet ReinforcementDimensioning==
==Objet ReinforcementDimensioning==


Un objet Rebar Vue Dimensionnement SVG.
Un objet Rebar Vue Dimensionnement SVG.


<span id="Properties"></span>
===Propriétés===
===Propriétés===


* {{PropertyData|ParentDrawingView}} : l'objet ReinforcementDrawingView parent contenant le dessin de l'objet [[Arch Rebar/fr|Rebar]].
* {{PropertyData|ParentDrawingView}} : l'objet ReinforcementDrawingView parent contenant le dessin de l'objet [[Arch_Rebar/fr|Rebar]].
* {{PropertyData|Rebar}} : L'objet [[Arch Rebar/fr|Rebar]] pour effectuer le dimensionnement.
* {{PropertyData|Rebar}} : L'objet [[Arch Rebar/fr|Rebar]] pour effectuer le dimensionnement.
* {{PropertyData|WayPointsType}} : Le type de ligne de cote WayPoints. Il peut être "Automatique" (pour effectuer automatiquement le dimensionnement de l'objet [[Arch Rebar/fr|Rebar]]) ou "Personnalisé" pour utiliser {{PropertyData|WayPoints}} pour effectuer le dimensionnement.
* {{PropertyData|WayPointsType}} : type de ligne de cote WayPoints. Il peut être "Automatique" (pour effectuer automatiquement le dimensionnement de l'objet [[Arch Rebar/fr|Rebar]]) ou "Personnalisé" pour utiliser {{PropertyData|WayPoints}} pour effectuer le dimensionnement.
* {{PropertyData|WayPoints}} : Une liste de points vectoriels à utiliser pour générer une ligne de cote.
* {{PropertyData|WayPoints}} : liste de points vectoriels à utiliser pour générer une ligne de cote.
* {{PropertyData|TextPositionType}} : Le type de position du texte de cote. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine".
* {{PropertyData|TextPositionType}} : type de position du texte de cote. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine".
* {{PropertyData|DimensionFormat}} : Le format de l'étiquette de dimension.
* {{PropertyData|DimensionFormat}} : format de l'étiquette de dimension.
Exemple : "%M %C⌀%D,span=%S"
Exemple : "%M %C⌀%D,span=%S"
Ici : %M -> Rebar.Mark
Ici : %M -> Rebar.Mark
Line 672: Line 687:
%D -> Rebar.Diameter
%D -> Rebar.Diameter
%S -> Rebar span length
%S -> Rebar span length
* {{PropertyData|Font}} : la famille de polices de l'étiquette de dimension.
* {{PropertyData|Font}} : famille de polices de l'étiquette de dimension.
* {{PropertyData|FontSize}} : La taille de la police de l'étiquette de dimension.
* {{PropertyData|FontSize}} : taille de la police de l'étiquette de dimension.
* {{PropertyData|StrokeWidth}} : La largeur du trait de la ligne de cote.
* {{PropertyData|StrokeWidth}} : largeur du trait de la ligne de cote.
* {{PropertyData|LineStyle}} : Le style de trait de la ligne de cote. Il peut s'agir de "Continuous", "Dash", "Dot", "DashDot" ou "DashDotDot".
* {{PropertyData|LineStyle}} : style de trait de la ligne de cote. Il peut s'agir de "Continuous", "Dash", "Dot", "DashDot" ou "DashDotDot".
* {{PropertyData|LineColor}} : La couleur de la ligne de cote.
* {{PropertyData|LineColor}} : couleur de la ligne de cote.
* {{PropertyData|TextColor}} : La couleur de l'étiquette de dimension.
* {{PropertyData|TextColor}} : couleur de l'étiquette de dimension.
* {{PropertyData|LineStartSymbol}} : Le symbole de début de la ligne de cote. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
* {{PropertyData|LineStartSymbol}} : symbole de début de la ligne de cote. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
* {{PropertyData|LineEndSymbol}} : Le symbole de fin de la ligne de cote. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
* {{PropertyData|LineEndSymbol}} : symbole de fin de la ligne de cote. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
* {{PropertyData|LineMidPointSymbol}} : Le symbole des milieux de la ligne de cote. Il peut s'agir de "Tick", "Dot" ou "None".
* {{PropertyData|LineMidPointSymbol}} : symbole des milieux de la ligne de cote. Il peut s'agir de "Tick", "Dot" ou "None".
* {{PropertyData|DimensionLeftOffset}} : le décalage à gauche pour la cotation automatique des armatures.
* {{PropertyData|DimensionLeftOffset}} : décalage à gauche pour la cotation automatique des armatures.
* {{PropertyData|DimensionRightOffset}} : le bon décalage pour la cotation automatique des armatures.
* {{PropertyData|DimensionRightOffset}} : bon décalage pour la cotation automatique des armatures.
* {{PropertyData|DimensionTopOffset}} : le décalage supérieur pour la cotation automatique des armatures.
* {{PropertyData|DimensionTopOffset}} : décalage supérieur pour la cotation automatique des armatures.
* {{PropertyData|DimensionBottomOffset}} : Le décalage inférieur pour la cotation automatique des armatures.
* {{PropertyData|DimensionBottomOffset}} : décalage inférieur pour la cotation automatique des armatures.
* {{PropertyData|SingleRebar_LineStartSymbol}} : Le symbole de début de ligne de cote, dans le cas d'une seule armature est visible. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|SingleRebar_LineStartSymbol}} : symbole de début de ligne de cote, dans le cas d'une seule armature est visible. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|SingleRebar_LineEndSymbol}} : Le symbole de fin de ligne de cote, en cas d'armature simple, est visible. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|SingleRebar_LineEndSymbol}} : symbole de fin de ligne de cote, en cas d'armature simple, est visible. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|MultiRebar_LineStartSymbol}} : Le symbole de début de ligne de cote, si plusieurs armatures sont visibles. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|MultiRebar_LineStartSymbol}} : symbole de début de ligne de cote, si plusieurs armatures sont visibles. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|MultiRebar_LineEndSymbol}} : Le symbole de fin de ligne de cote, si plusieurs barres d'armature sont visibles. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|MultiRebar_LineEndSymbol}} : symbole de fin de ligne de cote, si plusieurs barres d'armature sont visibles. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|SingleRebar_OuterDimension}} : Indique si les lignes de cote doivent être en dehors du dessin d'armature, dans le cas où une seule armature est visible. Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|SingleRebar_OuterDimension}} : indique si les lignes de cote doivent être en dehors du dessin d'armature, dans le cas où une seule armature est visible. Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|MultiRebar_OuterDimension}} : Indique si les lignes de cote doivent être en dehors du dessin d'armature, dans le cas où plusieurs armatures sont visibles. Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|MultiRebar_OuterDimension}} : indique si les lignes de cote doivent être en dehors du dessin d'armature, dans le cas où plusieurs armatures sont visibles. Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|SingleRebar_TextPositionType}} : il spécifie le type de position de l'étiquette de cote, dans le cas où une seule armature est visible. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|SingleRebar_TextPositionType}} : spécifie le type de position de l'étiquette de cote, dans le cas où une seule armature est visible. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|MultiRebar_TextPositionType}} : Il spécifie le type de position de l'étiquette de dimension, dans le cas où plusieurs armatures sont visibles. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".
* {{PropertyData|MultiRebar_TextPositionType}} : spécifie le type de position de l'étiquette de dimension, dans le cas où plusieurs armatures sont visibles. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine". Il est utilisé uniquement lorsque {{PropertyData|WayPointsType}} est défini sur "Automatique".


<span id="Scripting"></span>
==Script==
==Script==


{{Emphasis|Voir aussi :}} [[Arch API/fr|Arch API]], [[Reinforcement API/fr|API de renforts]] et [[FreeCAD Scripting Basics/fr|FreeCAD Scripts de Base]].
{{Emphasis|Voir aussi :}} [[Arch_API/fr|Arch API]], [[Reinforcement_API/fr|Reinforcement API]] et [[FreeCAD_Scripting_Basics/fr|FreeCAD Débuter avec les scripts]].


Les fonctions dimensions de Reinforcement peuvent être utilisées dans des [[macros/fr|macros]] et dans la console [[Python/fr|Python]] en utilisant les fonctions suivantes :
Les fonctions dimensions peuvent être utilisées dans des [[Macros/fr|macros]] et dans la console [[Python/fr|Python]] en utilisant les fonctions suivantes :


<span id="Create_Reinforcement_Dimensioning_Object"></span>
=== Créer un objet Reinforcement dimensionnement ===
=== Objet ReinforcementDimensioning ===


{{Code|code=
{{Code|code=
Line 767: Line 784:


<div class="mw-collapsible toccolours mw-collapsed">
<div class="mw-collapsible toccolours mw-collapsed">
<span id="Example"></span>
===== Exemple =====
===== Exemple =====
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Line 784: Line 802:
FreeCAD.ActiveDocument.recompute()
FreeCAD.ActiveDocument.recompute()


# Create Straight Rebars
# Créer des barres d'armature droites
TwoTiesSixRebars.makeTwoTiesSixRebars(
TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
l_cover_of_ties=40,
Line 811: Line 829:
rebars = Draft.get_objects_of_type(FreeCAD.ActiveDocument.Objects, "Rebar")
rebars = Draft.get_objects_of_type(FreeCAD.ActiveDocument.Objects, "Rebar")


# Create Reinforcement Drawing
# Créer le schéma de barres d'armature
drawing_page = make_reinforcement_drawing.makeReinforcementDrawing(
drawing_page = make_reinforcement_drawing.makeReinforcementDrawing(
structure=Structure,
structure=Structure,
Line 826: Line 844:
drawing_min_right_offset=20,
drawing_min_right_offset=20,
drawing_min_bottom_offset=20,
drawing_min_bottom_offset=20,
drawing_max_width=0, # Il est défini sur 0 pour définir automatiquement la largeur par défaut en fonction d'autres paramètres
drawing_max_width=0, # It is set to 0 to automatically set the default width based on other parameters
drawing_max_height=0, # Il est défini sur 0 pour définir automatiquement la hauteur par défaut en fonction d'autres paramètres
drawing_max_height=0, # It is set to 0 to automatically set the default height based on other parameters
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
dimension_left_offset=10,
dimension_left_offset=10,
Line 837: Line 855:
visible_rebars = drawing_page.Views[0].VisibleRebars
visible_rebars = drawing_page.Views[0].VisibleRebars


# Create Reinforcement Dimensioning for single rebar
# Créer le dimensionnement des armatures pour une seule armature
makeReinforcementDimensioningObject(
makeReinforcementDimensioningObject(
visible_rebars[0],
visible_rebars[0],
Line 864: Line 882:
)
)


# Create Reinforcement Dimensioning for all visible rebars in drawing view
# Créer le dimensionnement des armatures pour toutes les armatures visibles sur la vue de dessin
for visible_rebar in visible_rebars:
for visible_rebar in visible_rebars:
makeReinforcementDimensioningObject(
makeReinforcementDimensioningObject(
Line 892: Line 910:
)
)
}}
}}

</div>
</div>
</div>
</div>
Line 898: Line 915:


{{Docnav/fr
{{Docnav/fr
|[[Reinforcement_BarBendingSchedule/fr|Plan de cintrage]]
|[[Reinforcement_Bar_Bending_Schedule/fr|Tableau des armatures]]
|
|[[Arch_Floor/fr|Niveaux]]
|[[Reinforcement_Workbench|Atelier Reinforcement]]
|[[Reinforcement_Workbench/fr|Atelier Reinforcement]]
|IconL=Reinforcement_Bar_Bending_Schedule.svg
|IconL=Reinforcement_BarBendingSchedule.svg
|IconR=Arch_Floor.svg
|IconR=
|IconC=Reinforcement_Workbench.svg
|IconC=Reinforcement_Workbench.svg
}}
}}


{{Arch Tools navi{{#translation:}}}}
[[Category:External_Command_Reference{{#translation:}}]]
[[Category:External Command Reference{{#translation:}}]]
[[Category:Reinforcement{{#translation:}}]]
[[Category:Reinforcement{{#translation:}}]]

Latest revision as of 12:53, 17 March 2024

Reinforcement Dessins et dimensions

Emplacement du menu
Aucun
Ateliers
Reinforcement
Raccourci par défaut
Aucun
Introduit dans la version
0.19
Voir aussi
Aucun

Description

L'outil Dessins et dimensions permet à l'utilisateur de créer des dessins et des dimensions de barres d'armature.

Cette outil fait partie de l'atelier Reinforcement, un atelier externe qui peut être installé avec le Gestionnaire des extensions.

Dessin et dimensions des armatures

Utilisation

1. Ouvrez le modèle FreeCAD contenant les barres d'armature créées à l'aide de atelier Reinforcement.

2. Sélectionnez l'objet Arch Structure puis sélectionnez Reinforcement Drawing Dimensioning depuis la barre d'outils.

3. Une boîte de dialogue apparaîtra à l'écran, comme indiqué ci-dessous.

4. Entrez tous les détails relatifs à la largeur du trait et à la couleur de l'armature et de la structure.

5. Cliquez sur Next et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.

6. Entrez les détails des options de vues de dessin, de cotation et de décalage.

7. Cliquez sur Next et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.

8. Entrez l'étiquette de cote et les détails de la ligne.

9. Cliquez sur Next et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.

10. Entrez les détails de dimension d'une seule armature et de plusieurs armatures.

11. Cliquez sur Next et la boîte de dialogue sera mise à jour comme indiqué ci-dessous.

12. Entrez les détails des décalages de cote et de ligne de cote.

13. Cliquez sur le bouton Finish pour générer des dessins.

Script

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

L'outil Dessins et dimensions peut être utilisé dans des macros et à partir de la console Python à l'aide des fonctions suivantes :

Dessin et dimensions

from ReinforcementDrawing import make_reinforcement_drawing

structure_drawing_page_dict = make_reinforcement_drawing.makeStructuresReinforcementDrawing(
    structure_list=None,
    rebars_list=None,
    view="Front",
    rebars_stroke_width=0.35,
    rebars_color_style="Automatic",
    rebars_color=(0.67, 0.0, 0.0),
    structure_stroke_width=0.5,
    structure_color_style="Automatic",
    structure_color=(0.3, 0.9, 0.91),
    drawing_left_offset=20,
    drawing_top_offset=20,
    drawing_min_right_offset=20,
    drawing_min_bottom_offset=20,
    drawing_max_width=0,   # It is set to 0 to automatically set the default width based on other parameters
    drawing_max_height=0,  # It is set to 0 to automatically set the default height based on other parameters
    template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
    perform_dimensioning=True,
    dimension_rebars_filter_list=None,
    dimension_label_format="%M %C⌀%D,span=%S",
    dimension_font_family="DejaVu Sans",
    dimension_font_size=3,
    dimension_stroke_width=0.25,
    dimension_line_style="Continuous",
    dimension_line_color=(0.0, 0.0, 0.50),
    dimension_text_color=(0.0, 0.33, 0.0),
    dimension_single_rebar_line_start_symbol="None",
    dimension_single_rebar_line_end_symbol="FilledArrow",
    dimension_multi_rebar_line_start_symbol="FilledArrow",
    dimension_multi_rebar_line_end_symbol="FilledArrow",
    dimension_line_mid_point_symbol="Dot",
    dimension_left_offset=10,
    dimension_right_offset=10,
    dimension_top_offset=10,
    dimension_bottom_offset=10,
    dimension_left_offset_increment=6,
    dimension_right_offset_increment=6,
    dimension_top_offset_increment=6,
    dimension_bottom_offset_increment=6,
    dimension_single_rebar_outer_dim=False,
    dimension_multi_rebar_outer_dim=True,
    dimension_single_rebar_text_position_type="StartOfLine",
    dimension_multi_rebar_text_position_type="MidOfLine",
)
  • Il renvoie structure_drawing_page_dict, un dictionnaire avec la structure comme clé et la page correspondante de dessin des armatures comme valeur.
  • structure_list est la liste des objets structurels pour générer leur dessin des armatures. Si elles ne sont pas fournies, les structures seront sélectionnées dans le document actif agissant en tant qu'hôte pour les objets d'armature.
  • rebars_list est la liste des objets d'armature à inclure dans le dessin. S'ils ne sont pas fournis, les objets d'armature ayant Host dans structure_list seront sélectionnés dans le document actif.
  • view spécifie la vue du dessin à générer. Il peut s'agir de "Front", "Rear", "Left", "Right", "Top" or "Bottom". (Avant, Arrière, Gauche, Droite, Haut ou Bas).
  • rebars_stroke_width spécifie la largeur de trait des armatures dans le dessin SVG.
  • rebars_color_style spécifie le style de couleur des armatures. Réglez-le sur "Automatique" pour sélectionner automatiquement la couleur des armatures ou sur "Personnalisé" pour choisir la valeur de couleur de la forme à partir de la variable rebars_color.
  • rebars_color spécifie la couleur de remplissage des armatures dans le dessin SVG.
   Format: (r, g, b)
   La valeur r, g, b doit être comprise entre 0 et 1, vous devrez peut-être diviser la valeur de r, g, b par 255 pour obtenir sa valeur entre 0 et 1
   Assurez-vous que r, g, b soient flottant
   Exemple: (0.67, 0.0, 0.0)
  • structure_stroke_width spécifie la largeur de trait de la structure dans le dessin SVG.
  • structure_color_style spécifie le style de remplissage de la structure. Réglez-le sur "Automatique" pour sélectionner automatiquement la couleur de la structure ou sur "Personnalisé" pour choisir la valeur de couleur de la structure à partir de la variable structure_color.
  • structure_color spécifie la couleur de remplissage de la structure dans le dessin SVG. Format: (r, g, b)
  • drawing_left_offset spécifie le décalage gauche de la vue de dessin sur template_file.
  • drawing_top_offset spécifie le décalage supérieur de la vue de dessin sur template_file.
  • drawing_min_right_offset spécifie le décalage minimum à droite de la vue de dessin sur template_file.
  • drawing_min_bottom_offset spécifie le décalage inférieur minimum de la vue de dessin sur template_file.
  • drawing_max_width spécifie la largeur maximale du dessin sur template_file.
  • drawing_max_height spécifie la hauteur maximale du dessin sur template_file.
  • template_file est le fichier modèle à utiliser pour la page de dessin des armatures.
  • perform_dimensioning spécifie si une cotation doit être créée pour les armatures dans le dessin.
  • dimension_rebars_filter_list est la liste des armatures à dimensionner. Définissez-le sur Aucun pour coter toutes les armatures visibles dans le dessin.
  • dimension_label_format est le format utilisé pour l'étiquette de dimension.
   Exemple: "%M %C⌀%D,span=%S"
   Ici:  %M -> Rebar.Mark
         %C -> Rebar.Amount
         %D -> Rebar.Diameter
         %S -> Rebar span length
  • dimension_font_family est la famille de polices de l'étiquette de dimension.
  • dimension_font_size est la taille de la police de l'étiquette de dimension.
  • dimension_stroke_width est la largeur du trait de la ligne de cote.
  • dimension_line_style est le style de trait de la ligne de cote. Il peut s'agir de "Continuous", "Dash", "Dot", "DashDot" ou "DashDotDot".
  • dimension_line_color est la couleur de la ligne de cote.
   Format: (r, g, b)
   La valeur r, g, b doit être comprise entre 0 et 1, vous devrez peut-être diviser la valeur de r, g, b par 255 pour obtenir sa valeur entre 0 et 1
   Assurez-vous que r, g, b soient flottants
  • dimension_text_color est la couleur de l'étiquette de dimension.
  • dimension_single_rebar_line_start_symbol est le symbole de début de la ligne de cote, si une seule armature est visible. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
  • dimension_single_rebar_line_end_symbol est le symbole de fin de ligne de cote, si une seule armature est visible. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
  • dimension_multi_rebar_line_start_symbol est le symbole de début de ligne de cote, dans le cas où plusieurs armatures sont visibles. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
  • dimension_multi_rebar_line_end_symbol est le symbole de fin de ligne de cote, dans le cas où plusieurs barres d'armature sont visibles. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
  • dimension_line_mid_point_symbol est le symbole du milieu de la ligne de cote. Il peut s'agir de "Tick", "Dot" ou "None".
  • dimension_left_offset spécifie le décalage gauche de la cote à partir du dessin.
  • dimension_right_offset spécifie le décalage à droite de la cote à partir du dessin.
  • dimension_top_offset spécifie le décalage supérieur de la cote à partir du dessin.
  • dimension_bottom_offset spécifie le décalage inférieur de la cote à partir du dessin.
  • dimension_left_offset_increment est l'incrément du décalage gauche pour éloigner chaque nouvelle étiquette de cote du dessin.
  • dimension_right_offset_increment est l'incrément du décalage droit pour éloigner chaque nouvelle étiquette de cote du dessin.
  • dimension_top_offset_increment est l'incrément du décalage supérieur pour éloigner chaque nouvelle étiquette de cote du dessin.
  • dimension_bottom_offset_increment est l'incrément du décalage inférieur pour éloigner chaque nouvelle étiquette de cote du dessin.
  • dimension_single_rebar_outer_dim spécifie si les lignes de cote doivent être en dehors du dessin d'armature, dans le cas où une seule armature est visible.
  • dimension_multi_rebar_outer_dim spécifie si les lignes de cote doivent être à l'extérieur du dessin d'armature, dans le cas où plusieurs armatures sont visibles.
  • dimension_single_rebar_text_position_type spécifie le type de position de l'étiquette de cote, si une seule armature est visible. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine".
  • dimension_multi_rebar_text_position_type spécifie le type de position de l'étiquette de cote, dans le cas où plusieurs armatures sont visibles. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine".

Exemple
from pathlib import Path
import FreeCAD, Draft, Arch
from ColumnReinforcement import TwoTiesSixRebars
from ReinforcementDrawing import make_reinforcement_drawing

Rect = Draft.makeRectangle(400, 400)
Structure1 = Arch.makeStructure(Rect, height=1600)
Structure1.ViewObject.Transparency = 80
Structure2 = Arch.makeStructure(Rect, height=1600)
Structure2.ViewObject.Transparency = 80
Structure2.Placement = FreeCAD.Placement(FreeCAD.Vector(1000, 0, 0), FreeCAD.Rotation(FreeCAD.Vector(0, 0, 1), 0))
FreeCAD.ActiveDocument.recompute()

# Create Straight Rebars
TwoTiesSixRebars.makeTwoTiesSixRebars(
    l_cover_of_ties=40,        
    r_cover_of_ties=40,
    t_cover_of_ties=40,
    b_cover_of_ties=40,
    offset_of_ties=100,
    bent_angle_of_ties=135,
    extension_factor_of_ties=2,
    dia_of_ties=8,
    number_spacing_check=True,
    number_spacing_value=10,
    dia_of_main_rebars=16,
    t_offset_of_rebars=40,
    b_offset_of_rebars=40,
    main_rebars_type="StraightRebar",
    hook_orientation="Top Inside",
    hook_extend_along="x-axis",
    l_rebar_rounding=None,
    hook_extension=None,
    ties_sequence=("Tie1", "Tie2"),
    structure=Structure1,
    facename="Face6",
)

# Create LShaped Rebars with hook along x-axis
TwoTiesSixRebars.makeTwoTiesSixRebars(
    l_cover_of_ties=40,
    r_cover_of_ties=40,
    t_cover_of_ties=40,
    b_cover_of_ties=40,
    offset_of_ties=100,
    bent_angle_of_ties=135,
    extension_factor_of_ties=2,
    dia_of_ties=8,
    number_spacing_check=True,
    number_spacing_value=10,
    dia_of_main_rebars=16,
    t_offset_of_rebars=-40,
    b_offset_of_rebars=-40,
    main_rebars_type="LShapeRebar",
    hook_orientation="Top Outside",
    hook_extend_along="x-axis",
    l_rebar_rounding=2,
    hook_extension=40,
    ties_sequence=("Tie1", "Tie2"),
    structure=Structure2,
    facename="Face6",
)

# Create Reinforcement Drawing and Dimensioning
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
    struct_drawing_page_dict = make_reinforcement_drawing.makeStructuresReinforcementDrawing(
        structure_list=None,
        rebars_list=None,
        view="Front",
        rebars_stroke_width=0.35,
        rebars_color_style="Automatic",
        rebars_color=(0.67, 0.0, 0.0),
        structure_stroke_width=0.5,
        structure_color_style="Automatic",
        structure_color=(0.3, 0.9, 0.91),
        drawing_left_offset=20,
        drawing_top_offset=20,
        drawing_min_right_offset=20,
        drawing_min_bottom_offset=20,
        drawing_max_width=0,   # It is set to 0 to automatically set the default width based on other parameters
        drawing_max_height=0,  # It is set to 0 to automatically set the default height based on other parameters
        template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
        perform_dimensioning=True,
        dimension_rebars_filter_list=None,
        dimension_label_format="%M %C⌀%D,span=%S",
        dimension_font_family="DejaVu Sans",
        dimension_font_size=3,
        dimension_stroke_width=0.25,
        dimension_line_style="Continuous",
        dimension_line_color=(0.0, 0.0, 0.50),
        dimension_text_color=(0.0, 0.33, 0.0),
        dimension_single_rebar_line_start_symbol="None",
        dimension_single_rebar_line_end_symbol="FilledArrow",
        dimension_multi_rebar_line_start_symbol="FilledArrow",
        dimension_multi_rebar_line_end_symbol="FilledArrow",
        dimension_line_mid_point_symbol="Dot",
        dimension_left_offset=10,
        dimension_right_offset=10,
        dimension_top_offset=10,
        dimension_bottom_offset=10,
        dimension_left_offset_increment=6,
        dimension_right_offset_increment=6,
        dimension_top_offset_increment=6,
        dimension_bottom_offset_increment=6,
        dimension_single_rebar_outer_dim=False,
        dimension_multi_rebar_outer_dim=True,
        dimension_single_rebar_text_position_type="StartOfLine",
        dimension_multi_rebar_text_position_type="MidOfLine",
    )
    for drawing_page in struct_drawing_page_dict.values():
        drawing_view = drawing_page.Views[0]
        drawing_view.setExpression(
            "LeftOffset",
            u".Template.Width.Value / 2 - .Width.Value * .Scale / 2",
        )
        drawing_view.setExpression(
            "TopOffset",
            u".Template.Height.Value / 2 - .Height.Value * .Scale / 2",
        )
        drawing_view.recompute(True)
        drawing_page.recompute(True)

Dessin

Utilisation

1. Ouvrez le modèle FreeCAD contenant les barres d'armature créées à l'aide de atelier Reinforcement.

2. Dans la console Python de FreeCAD, copiez le snippet ci-dessous pour générer le dessin des armatures à partir de différentes vues pour chaque élément Arch Structure.

from ReinforcementDrawing.make_reinforcement_drawing import (
    makeStructuresReinforcementDrawing,
)

for view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
    makeStructuresReinforcementDrawing(view=view)

Objet ReinforcementDrawingView

Un objet de la vue SVG Dessin des armatures.

Propriétés

  • DonnéesStructure : objet structure agissant en tant qu'hôte pour les armatures à inclure dans le dessin.
  • DonnéesRebars : liste des objets d'armature à inclure dans le dessin.
  • DonnéesView : vue du dessin des armatures à générer. Il peut s'agir de "Front", "Rear", "Left", "Right", "Top" ou "Bottom".
  • DonnéesPositionType : type de position du dessin d'armature sur le gabarit. Il peut être "Automatique" pour calculer l'emplacement du dessin en utilisant DonnéesLeftOffset, DonnéesTopOffset, DonnéesMinRightOffset et DonnéesMinBottomOffset OU "Personnalisé" pour définir l'emplacement en utilisant DonnéesX et DonnéesY.
  • DonnéesRebarsStrokeWidth : largeur de trait des armatures dans le dessin des armatures SVG.
  • DonnéesRebarsColorStyle : style de couleur des armatures dans le dessin des armatures SVG. Réglez-le sur "Automatique" pour sélectionner automatiquement la couleur des armatures OU sur "Personnalisé" pour choisir la valeur de couleur de la forme dans DonnéesRebarsColor.
  • DonnéesRebarsColor : couleur des armatures dans le dessin des armatures SVG.
  • DonnéesStructureStrokeWidth : largeur du trait de la structure dans le SVG du dessin d'armature.
  • DonnéesStructureColorStyle : style de couleur de la structure dans le dessin des armatures SVG. Réglez-le sur "Automatique" pour sélectionner automatiquement la couleur des armatures, "Personnalisé" pour choisir la valeur de couleur de la forme de DonnéesStructureColor OU "Aucun" pour ne pas remplir la structure.
  • DonnéesStructureColor : couleur de la structure dans le dessin des armatures SVG.
  • DonnéesTemplate : modèle pour la vue de dessin des armatures.
  • DonnéesWidth : largeur de la vue SVG du dessin des armatures.
  • DonnéesHeight : hauteur de la vue de dessin des armatures SVG.
  • DonnéesLeftOffset : décalage gauche de la vue de dessin des armatures sur un modèle.
  • DonnéesTopOffset : décalage supérieur de la vue de dessin des armatures sur un modèle.
  • DonnéesMinRightOffset : décalage minimum à droite de la vue de dessin des armatures sur un modèle.
  • DonnéesMinBottomOffset : décalage inférieur minimum de la vue de dessin des armatures sur un modèle.
  • DonnéesMaxWidth : largeur maximale de la vue du dessin des armatures.
  • DonnéesMaxHeight : hauteur maximale de la vue du dessin des armatures.
  • DonnéesVisibleRebars : liste des objets d'armature visibles dans la vue de dessin.
  • DonnéesDimensionLeftOffset : décalage gauche pour chaque nouvel objet ReinforcementDimensioning.
  • DonnéesDimensionRightOffset : décalage droit pour chaque nouvel objet ReinforcementDimensioning.
  • DonnéesDimensionTopOffset : décalage supérieur pour chaque nouvel objet ReinforcementDimensioning.
  • DonnéesDimensionBottomOffset : décalage inférieur pour chaque nouvel objet ReinforcementDimensioning.

Script

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

Les fonctions Dessins peuvent être utilisées dans des macros et dans la console Python en utilisant les fonctions suivantes :

Vue de dessin

Pour une structure

from ReinforcementDrawing.make_reinforcement_drawing import (
    makeReinforcementDrawing,
)

reinforcement_drawing_page = makeReinforcementDrawing(
    structure,
    rebars_list,
    view,
    rebars_stroke_width,
    rebars_color_style,
    rebars_color,
    structure_stroke_width,
    structure_color_style,
    structure_color,
    drawing_left_offset,
    drawing_top_offset,
    drawing_min_right_offset,
    drawing_min_bottom_offset,
    drawing_max_width,
    drawing_max_height,
    template_file,
    dimension_left_offset,
    dimension_right_offset,
    dimension_top_offset,
    dimension_bottom_offset,
)
  • Crée un objet ReinforcementDrawingView pour la liste d'objets structure et rebar.
  • Il renvoie le reinforcement_drawing_page de type TechDraw::DrawPage.
  • view spécifie la vue du dessin à générer. Il peut s'agir de "Front", "Rear", "Left", "Right", "Top" or "Bottom".
  • rebars_stroke_width spécifie la largeur de trait des armatures dans le dessin SVG.
  • rebars_color_style spécifie le style de couleur des armatures. Réglez-le sur "Automatique" pour sélectionner automatiquement la couleur des armatures ou sur "Personnalisé" pour choisir la valeur de couleur de la forme à partir de la variable rebars_color.
  • rebars_color spécifie la couleur de remplissage des armatures dans le dessin SVG.
   Format : (r, g, b)
   La valeur r, g, b doit être comprise entre 0 et 1, vous devrez peut-être diviser la valeur de r, g, b par 255 pour obtenir sa valeur entre 0 et 1
   Assurez-vous que r, g, b soient flottants
   Exemple: (0.67, 0.0, 0.0)
  • structure_stroke_width spécifie la largeur de trait de la structure dans le dessin SVG.
  • structure_color_style spécifie le style de remplissage de la structure. Réglez-le sur "Automatique" pour sélectionner automatiquement la couleur de la structure ou sur "Personnalisé" pour choisir la valeur de couleur de la structure à partir de la variable structure_color.
  • structure_color spécifie la couleur de remplissage de la structure dans le dessin SVG. Format: (r, g, b)
  • drawing_left_offset spécifie le décalage gauche de la vue de dessin sur template_file.
  • drawing_top_offset spécifie le décalage supérieur de la vue de dessin sur template_file.
  • drawing_min_right_offset spécifie le décalage minimum à droite de la vue de dessin sur template_file.
  • drawing_min_bottom_offset spécifie le décalage inférieur minimum de la vue de dessin sur template_file.
  • drawing_max_width spécifie la largeur maximale du dessin sur template_file.
  • drawing_max_height spécifie la hauteur maximale du dessin sur template_file.
  • template_file est le fichier modèle à utiliser pour la page de dessin de ferraillage.
  • dimension_left_offset spécifie le décalage gauche de la cote à partir du dessin.
  • dimension_right_offset spécifie le décalage à droite de la cote à partir du dessin.
  • dimension_top_offset spécifie le décalage supérieur de la cote à partir du dessin.
  • dimension_bottom_offset spécifie le décalage inférieur de la cote à partir du dessin.

Exemple
from pathlib import Path
import FreeCAD, Draft, Arch
from ColumnReinforcement import TwoTiesSixRebars
from ReinforcementDrawing import make_reinforcement_drawing

Rect = Draft.makeRectangle(400, 400)
Structure = Arch.makeStructure(Rect, height=1600)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()

# Créer des armatures droites
RebarGroup = TwoTiesSixRebars.makeTwoTiesSixRebars(
    l_cover_of_ties=40,        
    r_cover_of_ties=40,
    t_cover_of_ties=40,
    b_cover_of_ties=40,
    offset_of_ties=100,
    bent_angle_of_ties=135,
    extension_factor_of_ties=2,
    dia_of_ties=8,
    number_spacing_check=True,
    number_spacing_value=10,
    dia_of_main_rebars=16,
    t_offset_of_rebars=40,
    b_offset_of_rebars=40,
    main_rebars_type="StraightRebar",
    hook_orientation="Top Inside",
    hook_extend_along="x-axis",
    l_rebar_rounding=None,
    hook_extension=None,
    ties_sequence=("Tie1", "Tie2"),
    structure=Structure,
    facename="Face6",
)

rebars = Draft.get_objects_of_type(FreeCAD.ActiveDocument.Objects, "Rebar")

# Créer le dessin des barres d'armature
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
    make_reinforcement_drawing.makeReinforcementDrawing(
        structure=Structure,
        rebars_list=rebars,
        view=drawing_view,
        rebars_stroke_width=0.35,
        rebars_color_style="Automatic",
        rebars_color=(0.67, 0.0, 0.0),
        structure_stroke_width=0.5,
        structure_color_style="Automatic",
        structure_color=(0.3, 0.9, 0.91),
        drawing_left_offset=20,
        drawing_top_offset=20,
        drawing_min_right_offset=20,
        drawing_min_bottom_offset=20,
        drawing_max_width=0,   # It is set to 0 to automatically set the default width based on other parameters
        drawing_max_height=0,  # It is set to 0 to automatically set the default height based on other parameters
        template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
        dimension_left_offset=10,
        dimension_right_offset=10,
        dimension_top_offset=10,
        dimension_bottom_offset=10,
    )

Pour plusieurs structures

from ReinforcementDrawing.make_reinforcement_drawing import (
    makeStructuresReinforcementDrawing,
)

structure_drawing_page_dict = makeStructuresReinforcementDrawing(
    structure_list=None,
    rebars_list=None,
    view="Front",
    rebars_stroke_width=REBARS_STROKE_WIDTH,
    rebars_color_style=REBARS_COLOR_STYLE,
    rebars_color=REBARS_COLOR,
    structure_stroke_width=STRUCTURE_STROKE_WIDTH,
    structure_color_style=STRUCTURE_COLOR_STYLE,
    structure_color=STRUCTURE_COLOR,
    drawing_left_offset=DRAWING_LEFT_OFFSET,
    drawing_top_offset=DRAWING_TOP_OFFSET,
    drawing_min_right_offset=DRAWING_MIN_RIGHT_OFFSET,
    drawing_min_bottom_offset=DRAWING_MIN_BOTTOM_OFFSET,
    drawing_max_width=DRAWING_MAX_WIDTH,
    drawing_max_height=DRAWING_MAX_HEIGHT,
    template_file=TEMPLATE_FILE,
)
  • Il renvoie structure_drawing_page_dict, un dictionnaire avec la structure comme clé et la page de dessin des armatures correspondante comme valeur.
  • structure_list est la liste des objets structurels pour générer leur dessin des armatures. Si elles ne sont pas fournies, les structures seront sélectionnées à partir du document actif agissant comme hôte pour les objets d'armature.
  • rebars_list est la liste des objets d'armature à inclure dans le dessin. S'ils ne sont pas fournis, les objets d'armature ayant Host dans structure_list seront sélectionnés à partir du document actif.

Exemple
from pathlib import Path
import FreeCAD, Draft, Arch
from ColumnReinforcement import TwoTiesSixRebars
from ReinforcementDrawing import make_reinforcement_drawing

Rect = Draft.makeRectangle(400, 400)
Structure1 = Arch.makeStructure(Rect, height=1600)
Structure1.ViewObject.Transparency = 80
Structure2 = Arch.makeStructure(Rect, height=1600)
Structure2.ViewObject.Transparency = 80
Structure2.Placement = FreeCAD.Placement(FreeCAD.Vector(1000, 0, 0), FreeCAD.Rotation(FreeCAD.Vector(0, 0, 1), 0))
FreeCAD.ActiveDocument.recompute()

# Créer des armatures droites
TwoTiesSixRebars.makeTwoTiesSixRebars(
    l_cover_of_ties=40,        
    r_cover_of_ties=40,
    t_cover_of_ties=40,
    b_cover_of_ties=40,
    offset_of_ties=100,
    bent_angle_of_ties=135,
    extension_factor_of_ties=2,
    dia_of_ties=8,
    number_spacing_check=True,
    number_spacing_value=10,
    dia_of_main_rebars=16,
    t_offset_of_rebars=40,
    b_offset_of_rebars=40,
    main_rebars_type="StraightRebar",
    hook_orientation="Top Inside",
    hook_extend_along="x-axis",
    l_rebar_rounding=None,
    hook_extension=None,
    ties_sequence=("Tie1", "Tie2"),
    structure=Structure1,
    facename="Face6",
)

# Pour des armatures en forme de L avec le crochet dirigé le long de l'axe des x.
TwoTiesSixRebars.makeTwoTiesSixRebars(
    l_cover_of_ties=40,
    r_cover_of_ties=40,
    t_cover_of_ties=40,
    b_cover_of_ties=40,
    offset_of_ties=100,
    bent_angle_of_ties=135,
    extension_factor_of_ties=2,
    dia_of_ties=8,
    number_spacing_check=True,
    number_spacing_value=10,
    dia_of_main_rebars=16,
    t_offset_of_rebars=-40,
    b_offset_of_rebars=-40,
    main_rebars_type="LShapeRebar",
    hook_orientation="Top Outside",
    hook_extend_along="x-axis",
    l_rebar_rounding=2,
    hook_extension=40,
    ties_sequence=("Tie1", "Tie2"),
    structure=Structure2,
    facename="Face6",
)

# Créer le dessin des barres d'armature
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
    make_reinforcement_drawing.makeStructuresReinforcementDrawing(
        structure_list=None,
        rebars_list=None,
        view=drawing_view,
        rebars_stroke_width=0.35,
        rebars_color_style="Automatic",
        rebars_color=(0.67, 0.0, 0.0),
        structure_stroke_width=0.5,
        structure_color_style="Automatic",
        structure_color=(0.3, 0.9, 0.91),
        drawing_left_offset=20,
        drawing_top_offset=20,
        drawing_min_right_offset=20,
        drawing_min_bottom_offset=20,
        drawing_max_width=0,   # It is set to 0 to automatically set the default width based on other parameters
        drawing_max_height=0,  # It is set to 0 to automatically set the default height based on other parameters
        template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
        dimension_left_offset=10,
        dimension_right_offset=10,
        dimension_top_offset=10,
        dimension_bottom_offset=10,
    )


Dimensions

Utilisation

1. Ouvrez le modèle FreeCAD contenant les barres d'armature créées à l'aide de atelier Reinforcement.

2. Dans la console Python de FreeCAD, copiez le snippet ci-dessous pour générer le dessin des armatures à partir de différentes vues pour chaque élément Arch Structure.

from ReinforcementDrawing.make_reinforcement_drawing import (
    makeStructuresReinforcementDrawing,
)

for view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
    struct_drawing_page_dict = makeStructuresReinforcementDrawing(
        view=view, perform_dimensioning=True
    )
    for drawing_page in struct_drawing_page_dict.values():
        drawing_view = drawing_page.Views[0]
        drawing_view.setExpression(
            "LeftOffset",
            u".Template.Width.Value / 2 - .Width.Value * .Scale / 2",
        )
        drawing_view.setExpression(
            "TopOffset",
            u".Template.Height.Value / 2 - .Height.Value * .Scale / 2",
        )
        drawing_view.recompute(True)
        drawing_page.recompute(True)

Objet ReinforcementDimensioning

Un objet Rebar Vue Dimensionnement SVG.

Propriétés

  • DonnéesParentDrawingView : l'objet ReinforcementDrawingView parent contenant le dessin de l'objet Rebar.
  • DonnéesRebar : L'objet Rebar pour effectuer le dimensionnement.
  • DonnéesWayPointsType : type de ligne de cote WayPoints. Il peut être "Automatique" (pour effectuer automatiquement le dimensionnement de l'objet Rebar) ou "Personnalisé" pour utiliser DonnéesWayPoints pour effectuer le dimensionnement.
  • DonnéesWayPoints : liste de points vectoriels à utiliser pour générer une ligne de cote.
  • DonnéesTextPositionType : type de position du texte de cote. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine".
  • DonnéesDimensionFormat : format de l'étiquette de dimension.
   Exemple : "%M %C⌀%D,span=%S"
   Ici :  %M -> Rebar.Mark
         %C -> Rebar.Amount
         %D -> Rebar.Diameter
         %S -> Rebar span length
  • DonnéesFont : famille de polices de l'étiquette de dimension.
  • DonnéesFontSize : taille de la police de l'étiquette de dimension.
  • DonnéesStrokeWidth : largeur du trait de la ligne de cote.
  • DonnéesLineStyle : style de trait de la ligne de cote. Il peut s'agir de "Continuous", "Dash", "Dot", "DashDot" ou "DashDotDot".
  • DonnéesLineColor : couleur de la ligne de cote.
  • DonnéesTextColor : couleur de l'étiquette de dimension.
  • DonnéesLineStartSymbol : symbole de début de la ligne de cote. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
  • DonnéesLineEndSymbol : symbole de fin de la ligne de cote. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
  • DonnéesLineMidPointSymbol : symbole des milieux de la ligne de cote. Il peut s'agir de "Tick", "Dot" ou "None".
  • DonnéesDimensionLeftOffset : décalage à gauche pour la cotation automatique des armatures.
  • DonnéesDimensionRightOffset : bon décalage pour la cotation automatique des armatures.
  • DonnéesDimensionTopOffset : décalage supérieur pour la cotation automatique des armatures.
  • DonnéesDimensionBottomOffset : décalage inférieur pour la cotation automatique des armatures.
  • DonnéesSingleRebar_LineStartSymbol : symbole de début de ligne de cote, dans le cas d'une seule armature est visible. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque DonnéesWayPointsType est défini sur "Automatique".
  • DonnéesSingleRebar_LineEndSymbol : symbole de fin de ligne de cote, en cas d'armature simple, est visible. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque DonnéesWayPointsType est défini sur "Automatique".
  • DonnéesMultiRebar_LineStartSymbol : symbole de début de ligne de cote, si plusieurs armatures sont visibles. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque DonnéesWayPointsType est défini sur "Automatique".
  • DonnéesMultiRebar_LineEndSymbol : symbole de fin de ligne de cote, si plusieurs barres d'armature sont visibles. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None". Il est utilisé uniquement lorsque DonnéesWayPointsType est défini sur "Automatique".
  • DonnéesSingleRebar_OuterDimension : indique si les lignes de cote doivent être en dehors du dessin d'armature, dans le cas où une seule armature est visible. Il est utilisé uniquement lorsque DonnéesWayPointsType est défini sur "Automatique".
  • DonnéesMultiRebar_OuterDimension : indique si les lignes de cote doivent être en dehors du dessin d'armature, dans le cas où plusieurs armatures sont visibles. Il est utilisé uniquement lorsque DonnéesWayPointsType est défini sur "Automatique".
  • DonnéesSingleRebar_TextPositionType : spécifie le type de position de l'étiquette de cote, dans le cas où une seule armature est visible. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine". Il est utilisé uniquement lorsque DonnéesWayPointsType est défini sur "Automatique".
  • DonnéesMultiRebar_TextPositionType : spécifie le type de position de l'étiquette de dimension, dans le cas où plusieurs armatures sont visibles. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine". Il est utilisé uniquement lorsque DonnéesWayPointsType est défini sur "Automatique".

Script

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

Les fonctions dimensions peuvent être utilisées dans des macros et dans la console Python en utilisant les fonctions suivantes :

Objet ReinforcementDimensioning

from ReinforcementDrawing.ReinforcementDimensioning import (
    makeReinforcementDimensioningObject,
)

dimension_object = makeReinforcementDimensioningObject(
    rebar,
    parent_drawing_view,
    drawing_page=None,
    dimension_label_format="%M %C⌀%D,span=%S",
    dimension_font_family="DejaVu Sans",
    dimension_font_size=3,
    dimension_stroke_width=0.25,
    dimension_line_style="Continuous",
    dimension_line_color=(0.0, 0.0, 0.50),
    dimension_text_color=(0.0, 0.33, 0.0),
    dimension_single_rebar_line_start_symbol="None",
    dimension_single_rebar_line_end_symbol="FilledArrow",
    dimension_multi_rebar_line_start_symbol="FilledArrow",
    dimension_multi_rebar_line_end_symbol="FilledArrow",
    dimension_line_mid_point_symbol="Dot",
    dimension_left_offset_increment=10,
    dimension_right_offset_increment=10,
    dimension_top_offset_increment=10,
    dimension_bottom_offset_increment=10,
    dimension_single_rebar_outer_dim=False,
    dimension_multi_rebar_outer_dim=True,
    dimension_single_rebar_text_position_type="StartOfLine",
    dimension_multi_rebar_text_position_type="MidOfLine",
)
  • Crée et renvoie un objet ReinforcementDimensioning pour l'objet rebar donné.
  • parent_drawing_view est l'objet ReinforcementDrawingView contenant un dessin de l'objet rebar.
  • drawing_page est l'objet de type TechDraw :: DrawPage utilisé pour afficher parent_drawing_view.
  • dimension_label_format est le format utilisé pour l'étiquette de dimension.
   Exemple : "%M %C⌀%D,span=%S"
   Ici :  %M -> Rebar.Mark
         %C -> Rebar.Amount
         %D -> Rebar.Diameter
         %S -> Rebar span length
  • dimension_font_family est la famille de polices de l'étiquette de dimension.
  • dimension_font_size est la taille de la police de l'étiquette de dimension.
  • dimension_stroke_width est la largeur du trait de la ligne de cote.
  • dimension_line_style est le style de trait de la ligne de cote. Il peut s'agir de "Continuous", "Dash", "Dot", "DashDot" ou "DashDotDot".
  • dimension_line_color est la couleur de la ligne de cote.
   Format : (r, g, b)
   La valeur de r, g, b doit être comprise entre 0 et 1, vous devrez peut-être diviser la valeur de r, g, b par 255 pour obtenir sa valeur entre 0 et 1
   Assurez-vous que r, g, b soient flottants
  • dimension_text_color est la couleur de l'étiquette de dimension.
  • dimension_single_rebar_line_start_symbol est le symbole de début de la ligne de cote, dans le cas où une seule armature est visible. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
  • dimension_single_rebar_line_end_symbol est le symbole de fin de ligne de cote, si une seule armature est visible. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
  • dimension_multi_rebar_line_start_symbol est le symbole de début de ligne de cote, dans le cas où plusieurs armatures sont visibles. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
  • dimension_multi_rebar_line_end_symbol est le symbole de fin de ligne de cote, au cas où plusieurs armatures seraient visibles. Il peut s'agir de "FilledArrow", "Tick", "Dot" ou "None".
  • dimension_line_mid_point_symbol est le symbole du milieu de la ligne de cote. Il peut s'agir de "Tick", "Dot" ou "None".
  • dimension_left_offset_increment est l'incrément du décalage gauche pour éloigner chaque nouvelle étiquette de cote du dessin.
  • dimension_right_offset_increment est l'incrément du décalage droit pour éloigner chaque nouvelle étiquette de cote du dessin.
  • dimension_top_offset_increment est l'incrément du décalage supérieur pour éloigner chaque nouvelle étiquette de cote du dessin.
  • dimension_bottom_offset_increment est l'incrément du décalage inférieur pour éloigner chaque nouvelle étiquette de cote du dessin.
  • dimension_single_rebar_outer_dim spécifie si les lignes de cote doivent être en dehors du dessin d'armature, dans le cas où une seule armature est visible.
  • dimension_multi_rebar_outer_dim spécifie si les lignes de cote doivent être en dehors du dessin d'armature, dans le cas où plusieurs armatures sont visibles.
  • dimension_single_rebar_text_position_type spécifie le type de position de l'étiquette de cote, si une seule armature est visible. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine".
  • dimension_multi_rebar_text_position_type spécifie le type de position de l'étiquette de cote, si plusieurs armatures sont visibles. Il peut s'agir de "StartOfLine", "MidOfLine" ou "EndOfLine".

Exemple
from pathlib import Path
import FreeCAD, Draft, Arch
from ColumnReinforcement import TwoTiesSixRebars
from ReinforcementDrawing import make_reinforcement_drawing
from ReinforcementDrawing.ReinforcementDimensioning import (
    makeReinforcementDimensioningObject,
)

Rect = Draft.makeRectangle(400, 400)
Structure = Arch.makeStructure(Rect, height=1600)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()

# Create Straight Rebars
TwoTiesSixRebars.makeTwoTiesSixRebars(
    l_cover_of_ties=40,        
    r_cover_of_ties=40,
    t_cover_of_ties=40,
    b_cover_of_ties=40,
    offset_of_ties=100,
    bent_angle_of_ties=135,
    extension_factor_of_ties=2,
    dia_of_ties=8,
    number_spacing_check=True,
    number_spacing_value=10,
    dia_of_main_rebars=16,
    t_offset_of_rebars=40,
    b_offset_of_rebars=40,
    main_rebars_type="StraightRebar",
    hook_orientation="Top Inside",
    hook_extend_along="x-axis",
    l_rebar_rounding=None,
    hook_extension=None,
    ties_sequence=("Tie1", "Tie2"),
    structure=Structure,
    facename="Face6",
)

rebars = Draft.get_objects_of_type(FreeCAD.ActiveDocument.Objects, "Rebar")

# Create Reinforcement Drawing
drawing_page = make_reinforcement_drawing.makeReinforcementDrawing(
    structure=Structure,
    rebars_list=rebars,
    view="Front",
    rebars_stroke_width=0.35,
    rebars_color_style="Automatic",
    rebars_color=(0.67, 0.0, 0.0),
    structure_stroke_width=0.5,
    structure_color_style="Automatic",
    structure_color=(0.3, 0.9, 0.91),
    drawing_left_offset=20,
    drawing_top_offset=20,
    drawing_min_right_offset=20,
    drawing_min_bottom_offset=20,
    drawing_max_width=0,                    # It is set to 0 to automatically set the default width based on other parameters
    drawing_max_height=0,                   # It is set to 0 to automatically set the default height based on other parameters
    template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
    dimension_left_offset=10,
    dimension_right_offset=10,
    dimension_top_offset=10,
    dimension_bottom_offset=10,
)

visible_rebars = drawing_page.Views[0].VisibleRebars

# Create Reinforcement Dimensioning for single rebar
makeReinforcementDimensioningObject(
    visible_rebars[0],
    parent_drawing_view,
    drawing_page=None,
    dimension_label_format="%M %C⌀%D,span=%S",
    dimension_font_family="DejaVu Sans",
    dimension_font_size=3,
    dimension_stroke_width=0.25,
    dimension_line_style="Continuous",
    dimension_line_color=(0.0, 0.0, 0.50),
    dimension_text_color=(0.0, 0.33, 0.0),
    dimension_single_rebar_line_start_symbol="None",
    dimension_single_rebar_line_end_symbol="FilledArrow",
    dimension_multi_rebar_line_start_symbol="FilledArrow",
    dimension_multi_rebar_line_end_symbol="FilledArrow",
    dimension_line_mid_point_symbol="Dot",
    dimension_left_offset_increment=10,
    dimension_right_offset_increment=10,
    dimension_top_offset_increment=10,
    dimension_bottom_offset_increment=10,
    dimension_single_rebar_outer_dim=False,
    dimension_multi_rebar_outer_dim=True,
    dimension_single_rebar_text_position_type="StartOfLine",
    dimension_multi_rebar_text_position_type="MidOfLine",
)

# Create Reinforcement Dimensioning for all visible rebars in drawing view
for visible_rebar in visible_rebars:
    makeReinforcementDimensioningObject(
        visible_rebar,
        parent_drawing_view,
        drawing_page=None,
        dimension_label_format="%M %C⌀%D,span=%S",
        dimension_font_family="DejaVu Sans",
        dimension_font_size=3,
        dimension_stroke_width=0.25,
        dimension_line_style="Continuous",
        dimension_line_color=(0.0, 0.0, 0.50),
        dimension_text_color=(0.0, 0.33, 0.0),
        dimension_single_rebar_line_start_symbol="None",
        dimension_single_rebar_line_end_symbol="FilledArrow",
        dimension_multi_rebar_line_start_symbol="FilledArrow",
        dimension_multi_rebar_line_end_symbol="FilledArrow",
        dimension_line_mid_point_symbol="Dot",
        dimension_left_offset_increment=10,
        dimension_right_offset_increment=10,
        dimension_top_offset_increment=10,
        dimension_bottom_offset_increment=10,
        dimension_single_rebar_outer_dim=False,
        dimension_multi_rebar_outer_dim=True,
        dimension_single_rebar_text_position_type="StartOfLine",
        dimension_multi_rebar_text_position_type="MidOfLine",
    )