Skip to content

Roof Controller

Roof-surface specific queries and operations.

Concerned with information that only makes sense for roof surfaces: roof-specific edge classifications (ridge, eave, hip, valley, ...), profile and edge measurements, and other analyses that depend on a surface having been designated as a roof. Conversion of generic surfaces into roof surfaces lives in element_controller.

clear_errors() -> None

Clears all errors.

get_all_caddy_element_ids() -> list[ElementId]

Gets all caddy elements

Returns:

Type Description
list[ElementId]

The list of all caddy element id.

get_edge_length(element_id: ElementId, edge_type: str) -> float

Gets the edge length.

Parameters:

Name Type Description Default
element_id ElementId

The element id.

required
edge_type str

The edge type :

  • "none"

  • "ridge"

  • "eave"

  • "vergeright"

  • "vergeleft"
  • "vergeoblique"

  • "hip"

  • "valley"

  • "userdefined1"

  • "userdefined2"

  • "userdefinedmitrejoint1"

  • "userdefinedmitrejoint2"

  • "wallconnection"

  • "wallconnectionright"
  • "wallconnectionleft"
  • "wallconnectiontop"
  • "wallconnectionbottom"

  • "roofcutout"

  • "roofcutoutright"
  • "roofcutoutleft"
  • "roofcutouttop"
  • "roofcutoutbottom"

  • "roofedgeontoproofsurface"

  • "roofedgeonbottomroofsurface"
required

Returns:

Type Description
float

The edge length.

get_profile_length(element_id: ElementId) -> float

Gets the profile length.

Parameters:

Name Type Description Default
element_id ElementId

The element id.

required

Returns:

Type Description
float

The profile length.