Reinforcement Zuschnittliste
|
|
| Menüeintrag |
|---|
| Keiner |
| Arbeitsbereich |
| Reinforcement |
| Standardtastenkürzel |
| Keiner |
| Eingeführt in Version |
| 0.19 |
| Siehe auch |
| Keiner |
Beschreibung
Das Werkzeug Reinforcement Zuschnittliste ermöglicht es dem Benutzer, die Schnittliste für die Bewehrungsstäbe zu erstellen.
Dieses Werkzeug ist Teil des Arbeitsbereichs Reinforcement; dieser ist ein externer Arbeitsbereich, der mit dem Addon-Manager installiert werden kann.
Bewehrungsstahlform-Schnittliste der Bewehrungsstäbe
Anwendung
1. Wähle die Bewehrung und Bewehrung2-Objekte, die Zuschnittliste aufgenommen werden sollen. Oder wähle
Struktur-Objekte zum Aufnehmen der
Bewehrungs-Objekte, die von diesen in der Zuschnittliste verwaltet werden. Wenn nichts ausgewählt ist, wird die Zuschnittliste für alle
Bewehrung- und Bewehrung2-Objekte, die in der Zeichnung enthalten sind, erstellt.
2. Wähle dann die Schaltfläche Rebar Zuschnittliste aus den Bewehrungs-Werkzeugen.
3. Eine Dialog-Box wird sich öffnen, wie unten gezeigt.
4. Passe die Daten nach den Anforderungen an.
5. Die Schaltfläche OK oder Anwenden drücken, um eine Schnittliste für Bewehrungsstahl erzeugen.
6. Die Schaltfläche Abbrechen drücken, um die Dialog-Box zu verlassen.
Eigenschaften
Allgemein:
- Daten-EigenschaftStirrup Extended Edge Offset: Der Versatz der verlängerten Endkanten des Bügels, sodass die Endkanten des Bügels mit einem Biegewinkel von 90 Grad nicht mit den Bügelkanten überlappen.
- Daten-EigenschaftRebars Stroke Width: Die Strichstärke der Bewehrungsstäbe in der Schnittliste für Bewehrungsstäbe.
- Daten-EigenschaftRebars Color Style: Der Farbstil von Bewehrungsstäben.
- Daten-EigenschaftRow Height: Die Höhe jeder Reihe von Bewehrungsstahlformen in der Bewehrungsstahlform-Schnittliste.
- Daten-EigenschaftColumn Width: Die Breite jeder Spalte der Bewehrungsform in der Bewehrungsform-Schnittliste.
- Daten-EigenschaftColumn Count: Die Anzahl der Spalten in der Schnittliste für die Bewehrungsform.
- Daten-EigenschaftSide Padding: Die Polsterung auf jeder Seite der Bewehrungsform.
- Daten-EigenschaftHorizontal Rebar Shape: Wenn „True“, wird die Bewehrungsform durch Drehen der Kante mit der maximalen Länge der Bewehrungsform horizontal ausgerichtet.
- Daten-EigenschaftInclude Mark: Wenn dieser Wert auf „True“ gesetzt ist, wird rebar.Mark für jede Bewehrungsform in die Bewehrungsform-Schnittliste aufgenommen.
- Daten-EigenschaftSVG Output File: Die Ausgabedatei zum Schreiben der generierten SVG-Schnittliste für Bewehrungsstahlformen.
Abmessungsdaten:
- Daten-EigenschaftInclude Dimensions: Wenn „True“ (Wahr), werden alle Abmessungen der Bewehrungsstahlkanten und Biegewinkel in die Schnittliste für die Bewehrungsstahlform aufgenommen.
- Daten-EigenschaftInclude Units in Dimension Label: Wenn dies zutrifft, werden die Einheiten für die Länge der Bewehrungskanten in der Maßangabe angezeigt.
- Daten-EigenschaftRebar Edge Dimension Units: Die Einheiten, die für die Abmessungen der Bewehrungskantenlänge verwendet werden sollen.
- Daten-EigenschaftRebar Edge Dimension Precision: Die Anzahl der Dezimalstellen, die für die Kantenlänge der Bewehrung als Maßangabe angezeigt werden sollen.
- Daten-EigenschaftDimension Font Family: Die Schriftartfamilie von Maßangaben.
- Daten-EigenschaftDimension Font Size: Die Schriftgröße des Maßtextes.
- Daten-EigenschaftBent Angle Dimension Exclude List: Die Liste der Biegewinkel enthält keine Angaben zu deren Abmessungen.
- Daten-EigenschaftHelical Rebar Dimension Label Format: Das Format der Abmessungsbezeichnung für spiralförmige Bewehrungsstäbe. Z. B. „%L,r=%R,pitch=%P“, wobei %L -> Länge des spiralförmigen Bewehrungsstabs, %R -> Radius der Spirale des spiralförmigen Bewehrungsstabs, %P -> Steigung der Spirale des spiralförmigen Bewehrungsstabs.
Skripten
Siehe auch: Arch API,Reinforcement-API und Grundlagen der Skripterstellung in FreeCAD.
Das Werkzeug Reinforcement Zuschnittliste kann in Makros und von der Python-Konsole aus mit folgender Funktion verwendet werden:
SVG-Form für Bewehrungsstahl erstellen
getRebarShapeSVG(
rebar,
view_direction: Union[FreeCAD.Vector, WorkingPlane.Plane] = FreeCAD.Vector(0, 0, 0),
include_mark: bool = True,
stirrup_extended_edge_offset: float = 2,
rebar_stroke_width: float = 0.35,
rebar_color_style: str = "shape color",
include_dimensions: bool = True,
rebar_dimension_units: str = "mm",
rebar_length_dimension_precision: int = 0,
include_units_in_dimension_label: bool = False,
bent_angle_dimension_exclude_list: Tuple[float, ...] = (45, 90, 180),
dimension_font_family: str = "DejaVu Sans",
dimension_font_size: float = 2,
helical_rebar_dimension_label_format: str = "%L,r=%R,pitch=%P",
scale: float = 1,
max_height: float = 0,
max_width: float = 0,
side_padding: float = 1,
horizontal_shape: bool = False,
) -> ElementTree.Element
- Generiert und gibt ein SVG-Element in Form einer Bewehrungsstange für das angegebene
rebar-Objekt zurück. rebarDas Objekt kann vom Typ <ArchRebar._Rebar> oder <rebar2.BaseRebar> sein, um seine Form als SVG zu generieren.view_directionLegt die Blickrichtung für die Bewehrungsform fest. Sie kann vom TypFreeCAD.VectoroderWorkingPlane.Planesein, wobeiWorkingPlane.Planebevorzugt wird.include_markLegt fest, ob rebar.Mark in die SVG-Datei der Bewehrungsform aufgenommen werden soll oder nicht.stirrup_extended_edge_offsetist der Versatz der verlängerten Endkanten des Bügels, sodass sich die Endkanten des Bügels mit einem Biegewinkel von 90 Grad nicht mit den Bügelkanten überlappen.rebar_stroke_widthGibt die Strichstärke von Bewehrungsstahl in SVG an.rebar_color_styleLegt den Farbstil der Bewehrung fest. Es kann sich um „shape color“ (Formfarbe) oder „color_name oder hex_value_of_color“ (Farbname oder Hexadezimalwert der Farbe) handeln. „shape color“ bedeutet, dass die Farbe der Bewehrungsform ausgewählt wird.include_dimensionsGibt an, ob die Abmessungen jeder Bewehrungsstahlkante und die Abmessungen des Biegewinkels in die SVG-Datei der Bewehrungsstahlform aufgenommen werden sollen.rebar_dimension_unitslegt die Einheiten fest, die für die Abmessungen der Bewehrungsstahlänge verwendet werden sollen.rebar_length_dimension_precisionLegt die Anzahl der Dezimalstellen fest, die für die Länge der Bewehrungsstäbe als Maßangabe angezeigt werden sollen. Diesen Wert auf „None“ (Keine) setzen, um die vom Benutzer bevorzugte Genauigkeit der Maßeinheit aus den FreeCAD-Einstellungen zu verwenden.include_units_in_dimension_labelLegt fest, ob die Längeneinheiten der Bewehrungsstäbe in der Bemaßungsbeschriftung angezeigt werden sollen.bent_angle_dimension_exclude_listgibt die Liste der Biegewinkel an, deren Abmessungen nicht berücksichtigt werden sollen.dimension_font_familyLegt die Schriftartfamilie für Maßangaben fest.dimension_font_sizeLegt die Schriftgröße des Maßtextes fest.helical_rebar_dimension_label_formatLegt das Format der Maßangaben für spiralförmige Bewehrungsstäbe fest. Beispiel: „%L,r=%R,pitch=%P“, wobei:
%L -> Länge des spiralförmigen Bewehrungsstabs %R -> Radius der Spirale des spiralförmigen Bewehrungsstabs %P -> Steigung der Spirale des spiralförmigen Bewehrungsstabs
scaleLegt den Skalierungswert für die Skalierung von Bewehrungsstahl-SVG fest. Der Skalierungsparameter hilft dabei, rebar_stroke_width und dimension_font_size zu verkleinern, um sie auflösungsunabhängig zu machen. Wenn max_height oder max_width auf einen Wert ungleich Null gesetzt ist, wird der Skalierungsparameter ignoriert.max_heightLegt die maximale Höhe der Bewehrungsform SVG fest. Den Wert auf 0 setzen, damit die Höhe der Bewehrungsform SVG auf dem Skalierungsparameter basiert.max_widthLegt die maximale Breite der SVG-Bewehrungsform fest. Den Wert auf 0 setzen, damit die Breite der SVG-Bewehrungsform auf dem Skalierungsparameter basiert.side_paddinglegt die Ausfüllung auf jeder Seite der Bewehrungsform fest.horizontal_shapeLegt fest, ob die Bewehrungsform durch Drehen der Kante mit der maximalen Länge der Bewehrungsform horizontal ausgerichtet werden soll.
Beispiel
from pathlib import Path
from xml.dom import minidom
from xml.etree import ElementTree
import Draft, Arch, Stirrup
from RebarShapeCutList import RebarShapeCutListfunc
Rect = Draft.makeRectangle(400, 400)
Structure = Arch.makeStructure(Rect, height=1600)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()
Rebar = Stirrup.makeStirrup(
20, 20, 20, 20, 20, 90, 4, 8, 2, True, 10, Structure, "Face6"
)
rebar_shape_svg = RebarShapeCutListfunc.getRebarShapeSVG(
Rebar,
view_direction=FreeCAD.Vector(0, 0, 0),
include_mark=True,
stirrup_extended_edge_offset=2,
rebar_stroke_width=0.35,
rebar_color_style="shape color",
include_dimensions=True,
rebar_dimension_units="mm",
rebar_length_dimension_precision=0,
include_units_in_dimension_label=True,
bent_angle_dimension_exclude_list=(45, 90, 180),
dimension_font_family="DejaVu Sans",
dimension_font_size=2,
helical_rebar_dimension_label_format="%L,r=%R,pitch=%P",
scale=1,
max_height=100,
max_width=100,
side_padding=1,
horizontal_shape=False,
)
output_file = str(Path.home() / "StirrupRebarShape.svg")
with open(output_file, "w", encoding="utf-8") as f:
f.write(
minidom.parseString(
ElementTree.tostring(rebar_shape_svg, encoding="unicode")
).toprettyxml(indent=" ")
)
SVG-Schnittliste für Bewehrungsstahlformen erstellen
getRebarShapeCutList(
base_rebars_list: Optional[List] = None,
view_directions: Union[
Union[FreeCAD.Vector, WorkingPlane.Plane],
List[Union[FreeCAD.Vector, WorkingPlane.Plane]],
] = FreeCAD.Vector(0, 0, 0),
include_mark: bool = True,
stirrup_extended_edge_offset: float = 2,
rebars_stroke_width: float = 0.35,
rebars_color_style: str = "shape color",
include_dimensions: bool = True,
rebar_edge_dimension_units: str = "mm",
rebar_edge_dimension_precision: int = 0,
include_units_in_dimension_label: bool = False,
bent_angle_dimension_exclude_list: Union[Tuple[float, ...], List[float]] = (
45,
90,
180,
),
dimension_font_family: str = "DejaVu Sans",
dimension_font_size: float = 2,
helical_rebar_dimension_label_format: str = "%L,r=%R,pitch=%P",
row_height: float = 40,
column_width: float = 60,
column_count: Union[int, Literal["row_count"]] = "row_count",
side_padding: float = 1,
horizontal_rebar_shape: bool = True,
output_file: Optional[str] = None,
) -> ElementTree.Element
- Generieren und zurückgeben eines SVG-Elements für die Schnittliste der Bewehrungsform für eine bestimmte
base_rebars_list. base_rebars_listist eine Liste von <ArchRebar._Rebar>- oder <rebar2.BaseRebar>-Objekten, um deren RebarShape-Schnittliste zu generieren. Wenn keine Liste angegeben wird, werden alle ArchRebars- und rebar2.BaseRebar-Objekte mit eindeutiger Markierung aus ActiveDocument ausgewählt, und Rebars ohne zugewiesene Markierung werden ignoriert.view_directionsist eine Liste mit Blickrichtungen für jede Bewehrungsform. Sie kann entweder vom TypFreeCAD.VectoroderWorkingPlane.PlaneODER deren Liste sein.FreeCAD.Vector(0, 0, 0)beibehalten, um view_directions automatisch auszuwählen.include_marklegt fest, ob rebar.Mark für jede Bewehrungsform in der SVG-Schnittliste für Bewehrungsformen enthalten sein soll oder nicht.stirrup_extended_edge_offsetgibt den Versatz der verlängerten Endkanten des Bügels an, sodass sich die Endkanten des Bügels mit einem Biegewinkel von 90 Grad nicht mit den Bügelkanten überlappen.rebars_stroke_widthlegt die Strichstärke der Bewehrungsstäbe in der SVG-Datei mit der Schnittliste für die Bewehrungsform fest.rebars_color_styleLegt den Farbstil der Bewehrungsstäbe fest. Es kann sich um „shape color“ (Formfarbe) oder „color_name oder hex_value_of_color“ (Farbname oder Hexadezimalwert der Farbe) handeln. „shape color“ (Formfarbe) bedeutet, dass die Farbe der Bewehrungsstabform ausgewählt wird.include_dimensionsgibt an, ob die Abmessungen jeder Bewehrungsstahlkante und die Abmessungen des Biegewinkels in die Schnittliste für die Bewehrungsstahlform aufgenommen werden sollen.rebar_edge_dimension_unitslegt die Einheiten fest, die für die Abmessungen der Bewehrungskantenlänge verwendet werden sollen.rebar_edge_dimension_precisionlegt die Anzahl der Dezimalstellen fest, die für die Länge der Bewehrungsstäbe als Maßangabe angezeigt werden sollen. Diesen Wert auf „None“ (Keine) setzen, um die vom Benutzer bevorzugte Genauigkeit der Maßeinheit aus den FreeCAD-Einstellungen zu verwenden.include_units_in_dimension_labellegt fest, ob die Einheiten der Randlänge von Bewehrungsstäben in der Bemaßungsbeschriftung angezeigt werden sollen.bent_angle_dimension_exclude_listgibt die Liste der Biegewinkel an, deren Abmessungen nicht berücksichtigt werden sollen.dimension_font_familylegt die Schriftartfamilie für Maßangaben fest.dimension_font_sizelegt die Schriftgröße des Maßtextes fest.helical_rebar_dimension_label_formatlegt das Format der Maßangaben für spiralförmige Bewehrungsstäbe fest. Beispiel: „%L,r=%R,pitch=%P“, wobei:
%L -> Länge des spiralförmigen Bewehrungsstabs %R -> Radius der Spirale des spiralförmigen Bewehrungsstabs %P -> Steigung der Spirale des spiralförmigen Bewehrungsstabs
row_heightgibt die Höhe jeder Reihe der Bewehrungsform in der Bewehrungsform-Schnittliste an.column_widthgibt die Breite jeder Reihe der Bewehrungsform in der Bewehrungsform-Schnittliste an.column_countgibt die Anzahl der Spalten in der Schnittliste für Bewehrungsstahlformen an. Diesen Wert auf „row_count“ setzen, damit column_count <= row_count gilt.side_paddinggibt die Ausfüllung auf jeder Seite der Bewehrungsform in der Bewehrungsform-Schnittliste an.horizontal_rebar_shapelegt fest, ob die Bewehrungsform durch Drehen der Kante mit der maximalen Länge der Bewehrungsform horizontal ausgerichtet werden soll.output_filegibt die Ausgabedatei an, in die die generierte SVG-Datei mit der Schnittliste für die Bewehrungsform geschrieben werden soll.
Beispiel
from pathlib import Path
import FreeCAD, Draft, Arch
from ColumnReinforcement import SingleTie
from RebarShapeCutList import RebarShapeCutListfunc
Rect1 = Draft.makeRectangle(400, 400)
Structure1 = Arch.makeStructure(Rect1, height=1600)
Structure1.ViewObject.Transparency = 80
Rect2 = Draft.makeRectangle(500, 500)
Structure2 = Arch.makeStructure(Rect2, 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
rebar_group = SingleTie.makeSingleTieFourRebars(
l_cover_of_tie=40,
r_cover_of_tie=40,
t_cover_of_tie=40,
b_cover_of_tie=40,
offset_of_tie=100,
bent_angle=135,
extension_factor=8,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_rebars=16,
t_offset_of_rebars=40,
b_offset_of_rebars=40,
rebar_type="StraightRebar",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
l_rebar_rounding=None,
hook_extension=None,
structure=Structure1,
facename="Face6",
).rebar_group
# Assign Mark to straight rebars
for straight_rebar in rebar_group.RebarGroups[1].MainRebars:
straight_rebar.Mark = "main_sb"
# Create LShaped Rebars with hook along x-axis
rebar_group = SingleTie.makeSingleTieFourRebars(
l_cover_of_tie=40,
r_cover_of_tie=40,
t_cover_of_tie=40,
b_cover_of_tie=40,
offset_of_tie=100,
bent_angle=90,
extension_factor=8,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_rebars=16,
t_offset_of_rebars=-40,
b_offset_of_rebars=-40,
rebar_type="LShapeRebar",
hook_orientation="Top Outside",
hook_extend_along="x-axis",
l_rebar_rounding=2,
hook_extension=100,
structure=Structure2,
facename="Face6",
).rebar_group
# Assign Mark to lshape rebars
for lshape_rebar in rebar_group.RebarGroups[1].MainRebars:
lshape_rebar.Mark = "main_lb"
output_file = str(Path.home() / "RebarShapeCutList.svg")
# Create Rebar Shape Cut List for all base rebars in model
RebarShapeCutListfunc.getRebarShapeCutList(
base_rebars_list=None,
view_directions=FreeCAD.Vector(0, 0, 0),
include_mark=True,
stirrup_extended_edge_offset=2,
rebars_stroke_width=0.35,
rebars_color_style="shape color",
include_dimensions=True,
rebar_edge_dimension_units="mm",
rebar_edge_dimension_precision=0,
include_units_in_dimension_label=False,
bent_angle_dimension_exclude_list=(45, 90, 180),
dimension_font_family="DejaVu Sans",
dimension_font_size=2,
helical_rebar_dimension_label_format="%L,r=%R,pitch=%P",
row_height=40,
column_width=60,
column_count="row_count",
side_padding=1,
horizontal_rebar_shape=True,
output_file=output_file,
)
