Arch Stairs/pl: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
(4 intermediate revisions by the same user not shown)
Line 20: Line 20:


==Description==
==Description==
The [[Arch Stairs]] tool allows you to build automatically several types of stairs. At the moment, only straight stairs (with or without a central landing) are supported. Stairs can be built from scratch, or from a straight [[Draft Line|line]], in which case the stairs follow the line. If the line is not horizontal but has a vertical inclination, the stairs will also follow its slope.


The [[Arch_Stairs|Arch Stairs]] tool allows you to build several types of stairs automatically. Straight stairs (with or without a central landing) can be created from scratch. More complex stairs require base objects.
See the [http://en.wikipedia.org/wiki/Stairs Stairs entry in wikipedia] for a definition of the different terms used to describe parts of stairs.


See the [https://en.wikipedia.org/wiki/Stairs Stairs entry in wikipedia] for a definition of the different terms used to describe parts of stairs.
[[Image:Arch Stairs example.jpg|640px]]

{{Caption|Two constructed stairs, one with a massive structure and a landing, and another one with a single stringer.}}
[[Image:Arch_Stairs_example.jpg|600px]]
{{Caption|Two constructed stairs, one with a massive structure and a landing, the other with a single stringer.}}


==Options==
==Options==


* Stairs share the common properties and behaviours of all [[Arch Component|Arch Components]]
* Stairs share the common properties and behaviors of all [[Arch_Component|Arch Components]]


==Usage==
==Usage==

# Press the {{Button|[[Image:Arch_Stairs.svg|16px]] [[Arch Stairs]]}} button, or press {{KEY|S}}, {{KEY|R}} keys.
# Optionally select one or more base objects, for example [[Draft_Line|Draft Lines]] and [[Draft_Wire|Draft Wires]]:
#* Draft Wires with two or more segments will be used to create landings. They must be on a plane parallel to the global XY plane. For example, select a U-shaped wire for a half-turn landing and an L-shaped wire for a corner landing.
#* Draft Lines will be used to create flights.
#* If the vertices of all lines and wires have correct Z coordinates, the created stairs will use this information.
#* The base objects must be selected in the correct order starting with the bottom object.
# Press the {{Button|[[Image:Arch_Stairs.svg|16px]] [[Arch_Stairs|Arch Stairs]]}} button, or press {{KEY|S}}, {{KEY|R}} keys.
# Adjust the desired properties. Some parts of the stairs, such as the structure, might not appear immediately, if any of the properties makes it impossible, such as a structure thickness of 0.
# Adjust the desired properties. Some parts of the stairs, such as the structure, might not appear immediately, if any of the properties makes it impossible, such as a structure thickness of 0.

[[Image:Arch_Stairs_Complex_Example.png|600px]]
{{Caption|Complex stairs based on a selection of lines and wired as shown on the left.<br>
In red the wires used for the landings at Z&equals;1500mm, Z&equals;3000mm and Z&equals;4500mm.<br>
In black the lines connecting them used for the flights.
}}


==Properties==
==Properties==


===Data===
Base


{{TitleProperty|Segment and Parts}}
* {{PropertyData|Align}}: The alignment of these stairs on their baseline, if applicable.
* {{PropertyData|Base}}: The baseline of these stairs, if any.
* {{PropertyData|Height}}: The total height of these stairs, if not based on a baseline, or the baseline is horizontal.
* {{PropertyData|Length}}: The total length of these stairs if no baseline is defined.
* {{PropertyData|Width}}: The width of these stairs.


* {{PropertyData|Abs Top|Vector}}: (read-only) The absolute top level the stairs lead to.
Steps
* {{PropertyData|Last Segment|Link}}: Last segment (flight or landing) of an Arch Stairs connecting to this segment. The start level of the stairs will be the end level of this last segment.
* {{PropertyData|Outline Left|VectorList}}: The left outline of the stairs.
* {{PropertyData|Outline Left All|VectorList}}: The left outline of all segments of the stairs.
* {{PropertyData|Outline Right|VectorList}}: The right outline of the stairs.
* {{PropertyData|Outline Right All|VectorList}}: The right outline of all segments of the stairs.
* {{PropertyData|Railing Height Left|Length}}: Height of the left railing of the stairs or landing.
* {{PropertyData|Railing Height Right|Length}}: Height of the right railing of the stairs or landing.
* {{PropertyData|Railing Left|LinkHidden}}: The left railing object. {{Version|0.20}}: Property type updated from {{Incode|String}} to {{Incode|LinkHidden}}.
* {{PropertyData|Railing Offset Left|Length}}: Offset of the left railing from the edge of the stairs or landing.
* {{PropertyData|Railing Offset Right|Length}}: Offset of the right railing from the edge of the stairs or landing.
* {{PropertyData|Railing Right|LinkHidden}}: The right railing object. {{Version|0.20}}: Property type updated from {{Incode|String}} to {{Incode|LinkHidden}}.


{{TitleProperty|Stairs}}
* {{PropertyData|Nosing}}: The size of the nosing.
* {{PropertyData|Number of Steps}}: The numbers of steps (risers) in these stairs.
* {{PropertyData|Riser Height}}: The height of the risers.
* {{PropertyData|Tread Depth}}: The depth of the treads.
* {{PropertyData|Tread Thickness}}: The thickness of the treads.


* {{PropertyData|Align|Enumeration}}: The alignment of the stairs on the baseline. Only used if a baseline is defined. Can be {{value|Left}}, {{value|Right}} or {{value|Center}}.
Structure
* {{PropertyData|Height|Length}}: The total height of the stairs. Only used if no baseline is defined, or if the baseline is horizontal. Ignored if {{PropertyData|Riser Height Enforce}} is non-zero.
* {{PropertyData|Length|Length}}: The total length of the stairs if no baseline is defined. Ignored if {{PropertyData|Tread Depth Enforce}} is non-zero.
* {{PropertyData|Width|Length}}: The width of the stairs.
* {{PropertyData|Width of Landing|FloatList}}: If the {{PropertyData|Number Of Steps}} is 1, the stairs object acts as a landing. When this is the case and the baseline is multi-segment, the width of first segment of the landing follows the {{PropertyData|Width}}, the widths of subsequent segments follow the list set here.


{{TitleProperty|Steps}}
* {{PropertyData|Landings}}: The type of landings.

* {{PropertyData|Stringer Offset}}: The offset between the border of the stairs and the structure.
* {{PropertyData|Blondel Ratio|Float}}: (read-only) The calculated Blondel ratio. This ratio indicates comfortable stairs and should be between 62 and 64cm or 24.5 and 25.5in.
* {{PropertyData|Stringer Width}}: The width of the stringers.
* {{PropertyData|Structure}}: The type of structure of these stairs.
* {{PropertyData|Landing Depth|Length}}: The depth of the landing of the flight, if enabled in {{PropertyData|Landings}}. Defaults to the {{PropertyData|Width}} if 0.
* {{PropertyData|Structure Thickness}}: The thickness of the structure.
* {{PropertyData|Nosing|Length}}: The size of the nosing.
* {{PropertyData|Number Of Steps|Integer}}: The numbers of steps (risers). Must be at least 2 for a single flight, and at least 4 for a stairs with a central landing.
* {{PropertyData|Winders}}: The type of winders.
* {{PropertyData|Riser Height|Length}}: (read-only) The height of the risers. If {{PropertyData|Riser Height Enforce}} is 0 it is calculated ({{PropertyData|Height}} / {{PropertyData|Number of Steps}}). Else it is the same as {{PropertyData|Riser Height Enforce}}.
* {{PropertyData|Riser Height Enforce|Length}}: The enforced height of the risers.
* {{PropertyData|Riser Thickness|Length}}: The thickness of the risers.
* {{PropertyData|Tread Depth|Length}}: (read-only) The depth of the treads. If {{PropertyData|Tread Depth Enforce}} is 0 it is calculated ({{PropertyData|Length}} / {{PropertyData|Number of Steps}}). Else it is the same as {{PropertyData|Tread Depth Enforce}}.
* {{PropertyData|Tread Depth Enforce|Length}}: The enforced depth of the treads.
* {{PropertyData|Tread Thickness|Length}}: The thickness of the treads.

{{TitleProperty|Structure}}

* {{PropertyData|Connection Down Start Stairs|Enumeration}}: The type of connection between the lower floor slab and the start of the stairs. Can be {{value|HorizontalCut}}, {{value|VerticalCut}} or {{value|HorizontalVerticalCut}}.
* {{PropertyData|Connection End Stairs Up|Enumeration}}: The type of connection between the end of the stairs and the upper floor slab. Can be {{value|toFlightThickness}} or {{value|toSlabThickness}}.
* {{PropertyData|Down Slab Thickness|Length}}: The thickness of the lower floor slab.
* {{PropertyData|Flight|Enumeration}}: The direction of the flight after the landing. Can be {{value|Straight}}, {{value|HalfTurnLeft}} or {{value|HalfTurnRight}}.
* {{PropertyData|Landings|Enumeration}}: The type of landings. Can be {{value|None}} or {{value|At center}} ({{value|At each corner}} not implemented yet).
* {{PropertyData|Stringer Overlap|Length}}: The overlap of the stringers above the bottom of the treads.
* {{PropertyData|Stringer Width|Length}}: The width of the stringers.
* {{PropertyData|Structure|Enumeration}}: The structure type of the stairs. Can be {{value|None}}, {{value|Massive}}, {{value|One stringer}} or {{value|Two stringers}}.
* {{PropertyData|Structure Offset|Length}}: The offset between the border of the stairs and the structure.
* {{PropertyData|Structure Thickness|Length}}: The thickness of the structure.
* {{PropertyData|Up Slab Thickness|Length}}: The thickness of the upper floor slab.
* {{PropertyData|Winders|Enumeration}}: The type of winders. Not implemented.


==Limitations==
==Limitations==

* Only straight stairs are available at the moment
* Only straight stairs are available at the moment
* See the [http://forum.freecadweb.org/viewtopic.php?f=23&t=6534 forum entry] for circle stairs.
* See the [http://forum.freecadweb.org/viewtopic.php?f=23&t=6534 forum entry] for circle stairs.
Line 68: Line 110:


== Scripting ==
== Scripting ==
{{Emphasis|See also:}} [[Arch API]] and [[FreeCAD Scripting Basics]].


{{Emphasis|See also:}} [[Arch_API|Arch API]] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
The Stairs tool can be used in [[macros]] and from the [[Python]] console by using the following function:

The Stairs tool can be used in [[Macros|macros]] and from the [[Python|Python]] console by using the following function:
{{Code|code=
{{Code|code=
Stairs = makeStairs(baseobj=None, length=None, width=None, height=None, steps=None, name="Stairs")
Stairs = makeStairs(baseobj=None, length=None, width=None, height=None, steps=None, name="Stairs")

Revision as of 17:50, 23 February 2023

Arch Stairs

Menu location
Arch → Stairs
Workbenches
Arch
Default shortcut
S R
Introduced in version
0.14
See also
Arch Structure, Arch Equipment

Description

The Arch Stairs tool allows you to build several types of stairs automatically. Straight stairs (with or without a central landing) can be created from scratch. More complex stairs require base objects.

See the Stairs entry in wikipedia for a definition of the different terms used to describe parts of stairs.

Two constructed stairs, one with a massive structure and a landing, the other with a single stringer.

Options

Usage

  1. Optionally select one or more base objects, for example Draft Lines and Draft Wires:
    • Draft Wires with two or more segments will be used to create landings. They must be on a plane parallel to the global XY plane. For example, select a U-shaped wire for a half-turn landing and an L-shaped wire for a corner landing.
    • Draft Lines will be used to create flights.
    • If the vertices of all lines and wires have correct Z coordinates, the created stairs will use this information.
    • The base objects must be selected in the correct order starting with the bottom object.
  2. Press the Arch Stairs button, or press S, R keys.
  3. Adjust the desired properties. Some parts of the stairs, such as the structure, might not appear immediately, if any of the properties makes it impossible, such as a structure thickness of 0.

Complex stairs based on a selection of lines and wired as shown on the left.
In red the wires used for the landings at Z=1500mm, Z=3000mm and Z=4500mm.
In black the lines connecting them used for the flights.

Properties

Data

Segment and Parts

  • DANEAbs Top (Vector): (read-only) The absolute top level the stairs lead to.
  • DANELast Segment (Link): Last segment (flight or landing) of an Arch Stairs connecting to this segment. The start level of the stairs will be the end level of this last segment.
  • DANEOutline Left (VectorList): The left outline of the stairs.
  • DANEOutline Left All (VectorList): The left outline of all segments of the stairs.
  • DANEOutline Right (VectorList): The right outline of the stairs.
  • DANEOutline Right All (VectorList): The right outline of all segments of the stairs.
  • DANERailing Height Left (Length): Height of the left railing of the stairs or landing.
  • DANERailing Height Right (Length): Height of the right railing of the stairs or landing.
  • DANERailing Left (LinkHidden): The left railing object. introduced in version 0.20: Property type updated from String to LinkHidden.
  • DANERailing Offset Left (Length): Offset of the left railing from the edge of the stairs or landing.
  • DANERailing Offset Right (Length): Offset of the right railing from the edge of the stairs or landing.
  • DANERailing Right (LinkHidden): The right railing object. introduced in version 0.20: Property type updated from String to LinkHidden.

Stairs

  • DANEAlign (Enumeration): The alignment of the stairs on the baseline. Only used if a baseline is defined. Can be Left, Right or Center.
  • DANEHeight (Length): The total height of the stairs. Only used if no baseline is defined, or if the baseline is horizontal. Ignored if DANERiser Height Enforce is non-zero.
  • DANELength (Length): The total length of the stairs if no baseline is defined. Ignored if DANETread Depth Enforce is non-zero.
  • DANEWidth (Length): The width of the stairs.
  • DANEWidth of Landing (FloatList): If the DANENumber Of Steps is 1, the stairs object acts as a landing. When this is the case and the baseline is multi-segment, the width of first segment of the landing follows the DANEWidth, the widths of subsequent segments follow the list set here.

Steps

  • DANEBlondel Ratio (Float): (read-only) The calculated Blondel ratio. This ratio indicates comfortable stairs and should be between 62 and 64cm or 24.5 and 25.5in.
  • DANELanding Depth (Length): The depth of the landing of the flight, if enabled in DANELandings. Defaults to the DANEWidth if 0.
  • DANENosing (Length): The size of the nosing.
  • DANENumber Of Steps (Integer): The numbers of steps (risers). Must be at least 2 for a single flight, and at least 4 for a stairs with a central landing.
  • DANERiser Height (Length): (read-only) The height of the risers. If DANERiser Height Enforce is 0 it is calculated (DANEHeight / DANENumber of Steps). Else it is the same as DANERiser Height Enforce.
  • DANERiser Height Enforce (Length): The enforced height of the risers.
  • DANERiser Thickness (Length): The thickness of the risers.
  • DANETread Depth (Length): (read-only) The depth of the treads. If DANETread Depth Enforce is 0 it is calculated (DANELength / DANENumber of Steps). Else it is the same as DANETread Depth Enforce.
  • DANETread Depth Enforce (Length): The enforced depth of the treads.
  • DANETread Thickness (Length): The thickness of the treads.

Structure

  • DANEConnection Down Start Stairs (Enumeration): The type of connection between the lower floor slab and the start of the stairs. Can be HorizontalCut, VerticalCut or HorizontalVerticalCut.
  • DANEConnection End Stairs Up (Enumeration): The type of connection between the end of the stairs and the upper floor slab. Can be toFlightThickness or toSlabThickness.
  • DANEDown Slab Thickness (Length): The thickness of the lower floor slab.
  • DANEFlight (Enumeration): The direction of the flight after the landing. Can be Straight, HalfTurnLeft or HalfTurnRight.
  • DANELandings (Enumeration): The type of landings. Can be None or At center (At each corner not implemented yet).
  • DANEStringer Overlap (Length): The overlap of the stringers above the bottom of the treads.
  • DANEStringer Width (Length): The width of the stringers.
  • DANEStructure (Enumeration): The structure type of the stairs. Can be None, Massive, One stringer or Two stringers.
  • DANEStructure Offset (Length): The offset between the border of the stairs and the structure.
  • DANEStructure Thickness (Length): The thickness of the structure.
  • DANEUp Slab Thickness (Length): The thickness of the upper floor slab.
  • DANEWinders (Enumeration): The type of winders. Not implemented.

Limitations

Scripting

See also: Arch API and FreeCAD Scripting Basics.

The Stairs tool can be used in macros and from the Python console by using the following function:

Stairs = makeStairs(baseobj=None, length=None, width=None, height=None, steps=None, name="Stairs")
  • Creates a Stairs object from the given baseobj.
  • If baseobj is not given, it will use length, width, height, and steps, to build a solid object.

Example:

import Arch

Stairs = Arch.makeStairs(length=5000, width=1200, height=3000, steps=14)