|
Lokalizacja w menu |
---|
Zbrojenie → Zestawienie kształtów i cięć prętów |
Środowisko pracy |
Architektura, BIM |
Domyślny skrót |
brak |
Wprowadzono w wersji |
0.19 |
Zobacz także |
brak |
Opis
Narzędzie Zestawienie kształtów i cięć prętów zbrojeniowych umożliwia użytkownikowi utworzenie listy elementów ciętych kształtów prętów zbrojeniowych.
To polecenie jest częścią zewnętrznego środowiska pracy Zbrojenie, które można zainstalować za pomocą Menadżera dodatków.
Pręty zbrojeniowe. Wykaz kształtów i cięcia
Użycie
1. Wybierz obiekty Prętów i Prętów2, które chcesz uwzględnić w zestawieniu kształtów i cięcia. Lub wybierz obiekty
konstrukcji do uwzględnienia obiektów
Pręta i Pręta2 w zestawieniu kształtów i cięcia. Jeśli nic nie zostanie zaznaczone, wygenerowany zostanie zestawieniu kształtów i cięcia dla wszystkich obiektów
Prętów i Prętów2 obecnych w modelu.
2. Następnie wybierz
Zestawienie kształtów i cięć prętów z menu narzędzi prętów zbrojeniowych.
3. Na ekranie pojawi się okno dialogowe, jak pokazano poniżej.
Okno dialogowe narzędzia Zestawienie kształtów i cięć prętów.
4. Zmodyfikuj dane, aby dostosować je do swoich wymagań.
5. Kliknij OK lub Zastosuj, aby wygenerować Zestawienie kształtów i cięć prętów.
6. Kliknij Anuluj, aby zamknąć okno dialogowe.
Właściwości
Ogólne:
- DANEPrzesunięcie krawędzi strzemienia: Przesunięcie przedłużonych krawędzi końcowych strzemienia, tak aby krawędzie końcowe strzemienia o kącie zagięcia 90 stopni nie pokrywały się z jego krawędziami.
- DANESzerokość skoku pręta zbrojeniowego: Szerokość obrysu prętów zbrojeniowych na liście cięcia kształtu prętów zbrojeniowych.
- DANEStyl kolorów prętów zbrojeniowych: Styl koloru prętów zbrojeniowych.
- DANEWysokość rzędu: Wysokość każdego rzędu prętów zbrojeniowych na liście prętów zbrojeniowych.
- DANESzerokość kolumny: Szerokość każdej kolumny kształtu pręta zbrojeniowego na liście wyciętych kształtów prętów zbrojeniowych.
- DANELiczba kolumn: Liczba kolumn na liście wyciętych kształtów prętów zbrojeniowych.
- DANEWyściółka boczna: Wypełnienie z każdej strony kształtu pręta zbrojeniowego.
- DANEPoziomy kształt pręta zbrojeniowego: Jeśli wartość ta to
Prawda
, kształt pręta zbrojeniowego zostanie ustawiony poziomo poprzez obrócenie maksymalnej długości krawędzi kształtu pręta zbrojeniowego. - DANEDołącz znak: Jeśli wartość jest ustawiona na
Prawda
, wówczas rebar.Mark zostanie uwzględniony dla każdego kształtu pręta zbrojeniowego na liście cięcia kształtu pręta zbrojeniowego. - DANEPlik wyjściowy SVG: Plik wyjściowy do zapisu wygenerowanej listy cięć kształtów prętów zbrojeniowych SVG.
Dane wymiarowe:
- DANEZawiera wymiary: Jeśli wartość wynosi
Prawda
, wówczas każdy wymiar krawędzi pręta zbrojeniowego i wymiary kąta gięcia zostaną uwzględnione na liście cięć kształtu pręta zbrojeniowego. - DANEUwzględnij jednostki w etykiecie wymiaru: Jeśli ma wartość
Prawda
, jednostki długości krawędzi prętów zbrojeniowych będą wyświetlane w etykiecie wymiaru. - DANEJednostki wymiaru krawędzi pręta zbrojeniowego: Jednostki używane dla wymiarów długości krawędzi prętów zbrojeniowych.
- DANEPrecyzja wymiarów krawędzi prętów zbrojeniowych: Liczba miejsc dziesiętnych, które powinny być wyświetlane dla długości krawędzi pręta zbrojeniowego jako etykieta wymiaru.
- DANERodzina czcionek wymiaru: Rodzina czcionki tekstu wymiaru.
- DANERozmiar czcionki: Rozmiar czcionki tekstu wymiaru.
- DANEWymiar kąta wygięcia Lista nie obejmuje: Lista kątów giętych, których wymiary nie będą uwzględniane.
- DANEFormat etykiety wymiaru pręta zbrojeniowego spiralnego: Format etykiety wymiaru spiralnego pręta zbrojeniowego. np. "%L,r=%R,pitch=%P", gdzie %L -> Długość spiralnego pręta zbrojeniowego, %R -> Promień spirali spiralnego pręta zbrojeniowego, %P -> Skok spirali spiralnego pręta zbrojeniowego.
Tworzenie skryptów
Zobacz również: Skrypty Architektury, Skrypty Zbrojenia oraz Podstawy tworzenia skryptów FreeCAD.
Narzędzie Zestawienie kształtów i cięć prętów może być używane w makrodefinicjach i z konsoli Python za pomocą następującej funkcji:
Utwórz kształt zbrojenia SVG
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
- Generuje i zwraca element SVG w kształcie pręta zbrojeniowego dla danego obiektu
rebar
. - Obiekt
rebar
może być typu <ArchRebar._Rebar> lub <rebar2.BaseRebar>, aby wygenerować jego kształt svg. view_direction
określa kierunek punktu widzenia dla kształtu pręta zbrojeniowego. Może być typuFreeCAD.Vector
lubWorkingPlane.Plane
, choć preferowany jestWorkingPlane.Plane
.include_mark
określa, czy rebar.Mark ma być zawarty w SVG kształtu pręta zbrojeniowego, czy nie.stirrup_extended_edge_offset
to przesunięcie przedłużonych krawędzi końcowych strzemienia, tak aby krawędzie końcowe strzemienia o kącie zagięcia 90 stopni nie pokrywały się z krawędziami strzemienia.rebar_stroke_width
określa szerokość obrysu prętów zbrojeniowych w svg.rebar_color_style
określa styl koloru prętów zbrojeniowych. Może to być "shape color" lub "color_name lub hex_value_of_color". "shape color" oznacza wybór koloru kształtu pręta zbrojeniowego.include_dimensions
określa, czy każdy wymiar krawędzi pręta zbrojeniowego i wymiary kąta gięcia mają być zawarte w SVG kształtu pręta zbrojeniowego.rebar_dimension_units
określa jednostki, które mają być używane dla wymiarów długości prętów zbrojeniowych.rebar_length_dimension_precision
określa liczbę miejsc dziesiętnych, które powinny być wyświetlane dla długości pręta zbrojeniowego jako etykieta wymiaru. Ustaw wartość None, aby użyć preferowanej przez użytkownika precyzji jednostki z preferencji jednostki FreeCAD.include_units_in_dimension_label
określa, czy jednostki długości prętów zbrojeniowych mają być wyświetlane w etykiecie wymiaru.bent_angle_dimension_exclude_list
określa listę kątów giętych, których wymiary mają nie być uwzględniane.dimension_font_family
określa rodzaj czcionki tekstu wymiaru.dimension_font_size
określa rozmiar czcionki tekstu wymiaru.helical_rebar_dimension_label_format
określa format etykiety wymiaru pręta zbrojeniowego. Np. "%L,r=%R,pitch=%P" gdzie:
%L -> długość spiralnego pręta zbrojeniowego %R -> promień spirali spiralnego pręta zbrojeniowego %P -> Skok spirali spiralnego pręta zbrojeniowego
scale
określa wartość skali do skalowania SVG prętów zbrojeniowych. Parametr scale pomaga skalować w dół rebar_stroke_width i dimension_font_size, aby uczynić je niezależnymi od rozdzielczości. Jeśli wartość max_height lub max_width jest niezerowa, parametr scale zostanie zignorowany.max_height
określa maksymalną wysokość kształtu pręta zbrojeniowego SVG. Ustaw wartość 0, aby wysokość SVG kształtu pręta zbrojeniowego była oparta na parametrze skali.max_width
określa maksymalną szerokość kształtu pręta zbrojeniowego SVG. Ustaw wartość 0, aby uzyskać szerokość SVG w kształcie pręta zbrojeniowego w oparciu o parametr skali.side_padding
określa wypełnienie po każdej stronie kształtu pręta zbrojeniowego.horizontal_shape
określa, czy kształt pręta zbrojeniowego ma być poziomy poprzez obrócenie maksymalnej długości krawędzi kształtu pręta zbrojeniowego.
Przykład
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=" ")
)
Utwórz listę cięć kształtu pręta zbrojeniowego SVG
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
- Generuje i zwraca element SVG z listą wyciętych prętów zbrojeniowych dla danej listy
base_rebars_list
. base_rebars_list
jest listą obiektów <ArchRebar._Rebar> lub <rebar2.BaseRebar>, aby wygenerować ich listę cięć RebarShape. Jeśli nie zostanie podana, wybrane zostaną wszystkie obiekty ArchRebar i rebar2.BaseRebar z unikalnym znacznikiem z ActiveDocument, a pręty zbrojeniowe bez przypisanego znacznika zostaną zignorowane.view_directions
to lista kierunków punktu widzenia dla każdego kształtu pręta zbrojeniowego. Może być typuFreeCAD.Vector
lubWorkingPlane.Plane
. LUB ich lista. ZachowajFreeCAD.Vector(0, 0, 0)
, aby automatycznie wybrać view_directions.include_mark
określa, czy rebar.Mark ma być uwzględniony dla każdego kształtu pręta zbrojeniowego w SVG listy cięcia kształtu pręta zbrojeniowego, czy nie.stirrup_extended_edge_offset
określa przesunięcie przedłużonych krawędzi końcowych strzemion, tak aby krawędzie końcowe strzemion o kącie zagięcia 90 stopni nie pokrywały się z krawędziami strzemion.rebars_stroke_width
określa szerokość obrysu prętów zbrojeniowych w liście cięcia kształtu prętów zbrojeniowych SVG.rebars_color_style
określa styl koloru prętów zbrojeniowych. Może to być "shape color" lub "color_name lub hex_value_of_color". "shape color" oznacza wybór koloru kształtu pręta zbrojeniowego.include_dimensions
określa, czy każdy wymiar krawędzi pręta zbrojeniowego i wymiary kąta gięcia mają być uwzględnione na liście cięcia kształtu pręta zbrojeniowego.rebar_edge_dimension_units
określa jednostki używane dla wymiarów długości krawędzi prętów zbrojeniowych.rebar_edge_dimension_precision
określa liczbę miejsc dziesiętnych, które powinny być wyświetlane dla długości pręta zbrojeniowego jako etykieta wymiaru. Ustaw wartość None, aby użyć preferowanej przez użytkownika precyzji jednostki z preferencji jednostki FreeCAD.include_units_in_dimension_label
określa, czy jednostki długości krawędzi prętów zbrojeniowych mają być wyświetlane w etykiecie wymiaru.bent_angle_dimension_exclude_list
określa listę kątów giętych, których wymiary mają nie być uwzględniane.dimension_font_family
określa rodzaj czcionki tekstu wymiaru.dimension_font_size
określa rozmiar czcionki tekstu wymiaru.helical_rebar_dimension_label_format
określa format etykiety wymiaru pręta zbrojeniowego. Np. "%L,r=%R,pitch=%P" gdzie:
%L -> Długość spiralnego pręta zbrojeniowego, %R -> Promień spirali spiralnego pręta zbrojeniowego, %P -> Skok spirali spiralnego pręta zbrojeniowego.
row_height
określa wysokość każdego wiersza kształtu pręta zbrojeniowego na liście cięcia kształtu pręta zbrojeniowego.column_width
określa szerokość każdego wiersza pręta zbrojeniowego na liście prętów zbrojeniowych.column_count
określa liczbę kolumn na liście wyciętych prętów zbrojeniowych. Ustaw na "row_count", aby column_count <= row_countside_padding
określa wypełnienie po każdej stronie kształtu pręta zbrojeniowego na liście cięcia kształtu pręta zbrojeniowego.horizontal_rebar_shape
określa, czy kształt pręta zbrojeniowego ma być poziomy poprzez obrócenie maksymalnej długości krawędzi kształtu pręta zbrojeniowego.output_file
określa plik wyjściowy do zapisu wygenerowanej listy wyciętych kształtów prętów zbrojeniowych SVG.
Przykład
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,
)
Ta strona pochodzi z https://wiki.freecad.org/Reinforcement_BarShapeCutList