Honeybee Primer
Ladybug Tools for Grasshopper Documentation
  • Honeybee Primer
  • Components
    • 0 :: Create
      • Deconstruct Model
      • Model
      • Deconstruct Object
      • Intersect Solids
      • Planarize Brep
      • Room
      • Room from Solid
      • Solve Adjacency
      • Face
      • Properties by Guide Surface
      • Add Subface
      • Aperture
      • Apertures by Ratio
      • Door
      • Facade Parameters
      • Skylights by Ratio
      • Add Shade
      • Extruded Border Shades
      • Louver Shades
      • Shade
      • Mirror
      • Move
      • Rotate
      • Scale
      • Recipe Settings
      • Visualize Recipe Execution
      • Add Prefix
      • Apertures by Guide Surface
      • Apertures by Width Height
      • Custom Ground
      • Set Identifier
      • Set Multiplier
      • Set Story
      • Straight Skeleton
    • 1 :: Visualize
      • Visualize All
      • Visualize Normals
      • Visualize Quick
      • Visualize Wireframe
      • Face Attributes
      • Room Attributes
      • Color Face Attributes
      • Color Room Attributes
      • Label Faces
      • Label Rooms
      • Visualize by BC
      • Visualize by Type
      • Check Versions
      • Config
      • Geometry Properties
    • 2 :: Organize
      • Faces by Attribute
      • Rooms by Attribute
      • Rooms by Floor Height
      • Rooms by Orientation
      • Faces by BC
      • Faces by Type
    • 3 :: Serialize
      • Object to String
      • String to Object
      • Dump Objects
      • Load Objects
      • Dump Compressed Objects
      • Load Compressed Objects
      • Dump gbXML
      • Load gbXML OSM IDF
      • Update HBJSON
      • Validate Model
Powered by GitBook
On this page
  • Inputs
  • Outputs
Export as PDF
  1. Components
  2. 0 :: Create

Straight Skeleton

PreviousSet StoryNext1 :: Visualize

Last updated 3 years ago

-

Get the straight skeleton of any horizontal planar geometry.

This is can also be used to generate core/perimeter sub-polygons if an offset is input AND the straight skeleton is not self-intersecting. In the event of a self-intersecting straight skeleton, the output line segments can still be used to assist with the manual creation of core/perimeter offsets.

This component uses a modified version of the the polyskel package (https://github.com/Botffy/polyskel) by Armin Scipiades (aka. @Bottfy), which is, itself, a Python implementation of the straight skeleton algorithm as described by Felkel and Obdrzalek in their 1998 conference paper Straight skeleton implementation (https://github.com/Botffy/polyskel/blob/master/doc/StraightSkeletonImplementation.pdf).

Inputs

  • floor_geo [Required]

Horizontal Rhino surfaces for which the straight skeleton will be computed.

  • offset

An optional positive number that will be used to offset the perimeter of the geometry to output core/perimeter polygons. If a value is plugged in here and the straight skeleton is not self-intersecting, perim_poly and core_poly will be ouput.

Outputs

  • polyskel

A list of line segments that represent the straight skeleton of the input _floor_geo. This will be output from the component no matter what the input _floor_geo is.

  • perim_poly

A list of breps representing the perimeter polygons of the input floor_geo. This will only be ouput if an offset is input and the straight skeleton is not self-intersecting.

  • core_poly

A list of breps representing the core polygons of the input floor_geo. This will only be ouput if an offset is input and the straight skeleton is not self-intersecting, and the offset is not so great as to eliminate the core.

[source code]