Grasshopper Docs

Community documentation for Grasshopper add-ons & plugins

Topologic

ADDON. Version 1.3.0. Released on 2019-Dec-25. Provides 192 components. Created by wassimj. Features 0 video tutorials.
Topologic is a software modelling library enabling hierarchical and topological representations of architectural spaces, buildings and artefacts through non-manifold topology (NMT). Topologic is designed as a core library and additional plugins to visual data flow programming (VDFP) applications and parametric modelling platforms commonly used in architectural design practice. These applications provide workspaces with visual programming nodes and connections for architects to interact with Topologic and perform architectural design and analysis tasks. Topologic is well-suited to create a lightweight representation of a building as an external envelope and the subdivision of the enclosed space into separate spaces and zones using zero-thickness internal surfaces. Because Topologic maintains topological consistency, a user can query these cellular spaces and surfaces regarding their topological data and thus conduct various analyses. For example, this lightweight and consistent representation was found to be well-matched with the input data requirements for energy analysis simulation software. Because Topologic allows entities with mixed dimensionalities and those that are optionally independent (e.g. a line, a surface, a volume) to co-exist, structural models can be represented in a coherent manner where lines can represent columns and beams, surfaces can represent walls and slabs, and volumes can represent solids. In addition, non-building entities, such as structural loads can be efficiently attached to the structure. This creates a lightweight model that is well-matched with the input data requirements for structural analysis simulation software.
About
Aperture
Bitwise
Cell
CellComplex
CellUtility
Cluster
Context
Dictionary
Edge
EdgeUtility
Face
FaceUtility
Graph
Shell
ShellUtility
Topology
TopologyUtility
Vertex
VertexUtility
Wire
WireUtility

Topology

Topology.AddApertures
Adds Apertures to a Topology.
Topology.AddContents
Adds this Topology as a content (non-constituent member) to another Topology of a specific type
Topology.Analyze
Prints the topological information of a Topology.
Topology.Apertures
Returns the Apertures of the input Topology.
Topology.ByGeometry
Creates a Topology by geometry.
Topology.ByImportedBRep
Imports a Topology from a BRep file (.brep).
Topology.ByVerticesIndices
Creates a Topology by a list of Vertices and a 2D list of indices of the Vertices in the first argument
Topology.CellComplexes
Returns the CellComplexes constituent to the Topology.
Topology.Cells
Returns the Cells constituent to the Topology.
Topology.CenterOfMass
Returns the center of mass of any Topology.
Topology.Centroid
Returns the centroid of any Topology.
Topology.ClosestSimplestSubshape
Returns the sub-topology that is the closest and the simplest (i.e. has the lowest dimensionality) to the selector.
Topology.Contents
Returns the non-constituent members of the input Topology.
Topology.Contexts
Returns the Topologies containing the input topology as a content.
Topology.Dictionary
Returns the dictionary of a Topology.
Topology.Difference
Performs the Difference operation between the input Topology and another Topology.
Topology.Dimensionality
Returns the dimensionality of the Topology.
Topology.Divide
Divides the input Topology with another Topology.
Topology.Edges
Returns the Edges constituent to the Topology.
Topology.ExportToBRep
Exports a Topology to a BRep file (.brep).
Topology.Faces
Returns the Faces constituent to the Topology.
Topology.Filter
Filter a list of topologies by type. This methods returns a list of topologies of the type specified in the typefilter.
Topology.Geometry
Creates a geometry from the Topology.
Topology.Impose
Imposes another Topology on the input Topology.
Topology.Imprint
Imprints another Topology on the input Topology.
Topology.Intersect
Performs the Intersection operation between the input Topology and another Topology.
Topology.IsSame
Checks if two Topologies are the same.
Topology.Merge
Merges the input Topology and another Topology.
Topology.RemoveContents
Removes contents (non-constituent members) from a Topology.
Topology.SelfMerge
Merges the sub-topologies of the input Topology.
Topology.SetDictionaries
Sets a list of dictionaries for a Topology.
Topology.SetDictionary
Sets a dictionary for a Topology.
Topology.ShallowCopy
Copies a Topology without its contents.
Topology.Shells
Returns the Shells constituent to the Topology.
Topology.Slice
Slices the input Topology with another Topology.
Topology.Type
Returns the type associated to the Topology.
Topology.TypeAsString
Returns the instance type as a string.
Topology.Union
Unions the input Topology and another Topology.
Topology.Vertices
Returns the Vertices constituent to the Topology.
Topology.Wires
Returns the Wires constituent to the Topology.
Topology.XOR
Performs an XOR operation between the input Topology and another Topology.

Graph

Graph.AddEdges
Adds the list of Edges to the Graph
Graph.AddVertices
Adds the list of Vertices to the Graph
Graph.AdjacentVertices
Returns a list of Vertices that are connected to the input Vertex by an Edge.
Graph.AllPaths
Returns all paths it could find, within the input number of seconds, that connect the two input Vertices.
Graph.ByTopology
Creates a Graph from any Topology.
Graph.Connect
Connects the two input Vertices with an Edge.
Graph.ContainsEdge
Returns True if the input Graph contains the input Edge. Returns False otherwise.
Graph.ContainsVertex
Returns True if the input Graph contains the input Vertex. Returns False otherwise.
Graph.DegreeSequence
Returns a list of Vertex degrees in a non-increasing order.
Graph.Density
Returns the ratio of the number of Edges to the total number of Edges the Graph could have.
Graph.Diameter
Returns the number of Edges of the shortest path between the most distanced Vertices.
Graph.Edge
Returns the Edge, if one exists, that connects the two input Vertices.
Graph.Edges
Returns a list of all the Edges in a Graph.
Graph.IsComplete
Returns True if the Graph has a density of 1. Returns False otherwise.
Graph.IsErdoesGallai
Returns True if the input sequence satisfies the Erdoes Gallai theorem. It returns False otherwise.
Graph.IsolatedVertices
Returns a list of Vertices that are not connected by Edges.
Graph.MaximumDelta
Returns the maximum Vertex degree in a Graph.
Graph.MinimumDelta
Returns the minimum Vertex degree in a Graph.
Graph.Path
Returns the first path found between the input Vertices.
Graph.RemoveEdges
Removes the input Edges from the Graph.
Graph.RemoveVertices
Removes the input Vertices from the Graph.
Graph.ShortestPath
Returns the path with the fewest number of Edges between the two input Vertices.
Graph.ShortestPaths
Returns all paths with the fewest number of Edges between the two input Vertices.
Graph.TopologicalDistance
Returns the number of Edges of the shortest path connecting the two input Vertices.
Graph.Topology
Returns the Topology of the Graph.
Graph.VertexDegree
Returns the number of Edges connected to the input Vertex.
Graph.Vertices
Returns a list of all the Vertices in a Graph.
Graph.VerticesAtCoordinates
Returns a list of Vertices in the Graph located at the input coordinates within the input tolerance distance.

Face

Face.AddApertureDesign
Adds an Aperture design to a Face.
Face.AddInternalBoundaries
Adds internal boundaries (Wires) to a Face.
Face.AdjacentFaces
Returns the Faces adjacent to the Face.
Face.ByEdges
Creates a Face by a list of Edges.
Face.ByExternalInternalBoundaries
Creates a Face by an external boundary (Wire) and internal boundaries (Wires).
Face.ByWire
Creates a Face by a closed planar Wire.
Face.Cells
Returns the Cells incident to the Face.
Face.Edges
Returns the Edges constituent to the Face.
Face.ExternalBoundary (Face.FaceExternalBoundary)
Returns the external boundary (Wire) of the Face.
Face.InternalBoundaries
Returns the internal boundaries (Wires) of the Face.
Face.SharedEdges
Returns the shared Edges between two Faces.
Face.SharedVertices
Returns the shared Vertices between two Faces.
Face.Shells
Returns the Shells incident to the Face.
Face.Type
Returns the type associated to Face.
Face.Vertices
Returns the Vertices constituent to the Face.
Face.Wires
Returns the Wires constituent to the Face.

Cell

Cell.AdjacentCells
Returns the Cells adjacent to the Cell.
Cell.ByFaces
Creates a Cell by a set of Faces.
Cell.ByShell
Creates a Cell from a Shell. The Shell must be closed, otherwise an exception is thrown.
Cell.CellComplexes
Returns the CellComplexes which contain the Cell.
Cell.Edges
Returns the Edges constituent to the Cell.
Cell.ExternalBoundary
Returns the external boundary (Shell) of the Cell.
Cell.Faces
Returns the Faces constituent to the Cell.
Cell.InternalBoundaries
Returns the internal boundaries (Shells) of the Cell.
Cell.SharedEdges
Return the shared Edges between two Cells.
Cell.SharedFaces
Return the shared Faces between two Cells.
Cell.SharedVertices
Return the shared shared Vertices between two Cells.
Cell.Shells
Returns the Shells constituent to the Cell.
Cell.Type
Returns the type associated to Cell.
Cell.Vertices
Returns the Vertices constituent to the Cell.
Cell.Wires
Returns the Wires constituent to the Cell.

CellComplex

CellComplex.ByCells
Creates a CellComplex by a set of Cells.
CellComplex.ByFaces
Creates a CellComplex from the space enclosed by a set of Faces. Parts of the Faces which do not enclose any space will be discarded.
CellComplex.Cells
Returns the Cells constituent to the CellComplex.
CellComplex.Edges
Returns the Edges constituent to the CellComplex.
CellComplex.ExternalBoundary
Returns the external boundary (Cell) of the CellComplex.
CellComplex.Faces
Returns the Faces constituent to the CellComplex.
CellComplex.InternalBoundaries
Returns the internal boundaries (Faces) of the CellComplex.
CellComplex.NonManifoldFaces
Returns the non-manifold Faces of the CellComplex.
CellComplex.Shells
Returns the Shells constituent to the CellComplex.
CellComplex.Type
Returns the type associated to CellComplex.
CellComplex.Vertices
Returns the Vertices constituent to the CellComplex.
CellComplex.Wires
Returns the Wires constituent to the CellComplex.

FaceUtility

FaceUtility.AdjacentCells
Returns a list of Cells that are the adjacent to the input Face.
FaceUtility.AdjacentShells
Returns a list of Shells that are the adjacent to the input Face.
FaceUtility.Area
Returns the area of a Face.
FaceUtility.ByVertices
Creates a Face (of any type) by a set of Vertices.
FaceUtility.InternalVertex
Returns a Vertex inside the Face.
FaceUtility.IsInside
Checks if a Vertex is located inside a Face within a tolerance value.
FaceUtility.NormalAtParameters
Returns the normal (vector) at a parameter of a Face.
FaceUtility.ParametersAtVertex
Returns the UV parameters at a given Vertex on a Face.
FaceUtility.TrimByWire
Trims a Face with a Wire. The portion of the Face inside the Wire will be returned.
FaceUtility.VertexAtParameters
Returns the Vertex at a given parameter of the Face.
FaceUtility.InternalVertex
Returns a Vertex inside the Face.

Cluster

Cluster.ByTopologies
Creates a Cluster by a set of Topologies.
Cluster.CellComplexes
Returns the CellComplexes constituent to the Cluster.
Cluster.Cells
Returns the Cells constituent to the Cluster.
Cluster.Edges
Returns the Edges constituent to the Cluster.
Cluster.Faces
Returns the Faces constituent to the Cluster.
Cluster.Shells
Returns the Shells constituent to the Cluster.
Cluster.Type
Returns the type associated to Cluster.
Cluster.Vertices
Returns the Vertices constituent to the Cluster.
Cluster.Wires
Returns the Wires constituent to the Cluster.

Edge

Edge.AdjacentEdges
Returns the Edges adjacent to the Edge.
Edge.ByStartVertexEndVertex
Creates a straight Edge by the startVertex and endVertex.
Edge.EndVertex
Returns the end Vertex of the Edge.
Edge.SharedVertices
Returns the shared Vertices between two Edges.
Edge.StartVertex
Returns the start Vertex of the Edge.
Edge.Type
Returns the type associated to Edge.
Edge.Vertices
Returns the Vertices at the ends of the Edge.
Edge.Wires
Returns the Wires incident to the Edge.

Shell

Shell.ByFaces
Creates a Shell by a set of connected Faces.
Shell.Cells
Returns the Cells bounded by the Shell.
Shell.Edges
Returns the Edges constituent to the Shell.
Shell.Faces
Returns the Faces constituent to the Shell.
Shell.IsClosed
Checks if the Shell is closed.
Shell.Type
Returns the type associated to Shell.
Shell.Vertices
Returns the Vertices constituent to the Shell.
Shell.Wires
Returns the Wires constituent to the Shell.

Vertex

Vertex.ByCoordinates
Creates a Vertex by XYZ coordinates.
Vertex.Coordinates
Returns the coordinates of the Vertex.
Vertex.Edges
Returns the Edges incident to the Vertex.
Vertex.Type
Returns the type associated to Vertex.
Vertex.X
Returns the X coordinate of the Vertex.
Vertex.Y
Returns the Y coordinate of the Vertex.
Vertex.Z
Returns the Z coordinate of the Vertex.

Wire

Wire.ByEdges
Creates a Wire by a set of Edges.
Wire.Edges
Returns the Edges constituent to the Wire.
Wire.Faces
Returns the Faces containing the Wire.
Wire.IsClosed
Checks if the Wire is closed.
Wire.Type
Returns the type associated to Wire.
Wire.Vertices
Returns the Vertices constituent to the Wire.

Bitwise

Bitwise.AND
Performs a bitwise AND operation between the arguments (in their binary form).
Bitwise.NOT (Bitwise.AND)
Performs a bitwise NOT operation between the arguments (in their binary form).
Bitwise.OR
Performs a bitwise OR operation between the arguments (in their binary form).
Bitwise.XOR
Performs a bitwise XOR operation between the arguments (in their binary form).
Topology.SharedTopologies
Performs a bitwise Or operation between the arguments (in their binary form).

CellUtility

CellUtility.ByLoft
Creates a Cell by lofting through a set of Wires.
CellUtility.Contains
Check if a Vertex is contained in a Cell or not.
CellUtility.InternalVertex
Returns a Vertex inside the Cell.
CellUtility.Volume
Returns the volume of a Cell.
CellUtility.InternalVertex
Returns a Vertex inside the Cell.

EdgeUtility

EdgeUtility.AdjacentWires
Returns a list of Wires that are the adjacent to the input Edge.
EdgeUtility.ByVertices
Create an Edge (of any type) by a set of Vertices.
EdgeUtility.ParameterAtVertex
Returns the parameter at a given Vertex on the Edge.
EdgeUtility.VertexAtParameter
Returns the Vertex at a given parameter of the Edge.

TopologyUtility

TopologyUtility.AdjacentTopologies
Returns a list of Topologies that are the adjacent to the input Topology.
TopologyUtility.Rotate
Rotates a Topology
TopologyUtility.Scale
Scales a Topology.
TopologyUtility.Translate
Translates (moves) a Topology a certain distance according to x, y, z values.

Dictionary

Dictionary.ByKeysValues
Create a Dictionary by keys and values
Dictionary.SetValueAtKey
Sets the value of a Dictionary at a given key
Dictionary.ValueAtKey
Retrieves the value of a Dictionary at a given key

WireUtility

WireUtility.AdjacentCells
Returns a list of Cells that are the adjacent to the input Wire.
WireUtility.AdjacentShells
Returns a list of Shells that are the adjacent to the input Wire.
WireUtility.RemoveCollinearEdges
Remove collinear edges in a Wire.

Aperture

Aperture.ByTopologyContext
Creates an Aperture by a Topology and a Context.
Aperture.Topology
Returns the underlying Topology.

VertexUtility

VertexUtility.AdjacentEdges
Returns a list of Edges that are the adjacent to the input Vertex.
VertexUtility.Distance
Returns the distance between two Topologies.

About

About.Version
Returns the current version of Topologic.

Context

Context.Topology
Returns the associated Topology to the Context.

ShellUtility

ShellUtility.ByLoft
Creates a Shell by lofting through a set of Wires.

Site design © Robin Rodricks.   Topologic and associated data © 2020 wassimj.  
Rhinoceros and Grasshopper are registered trademarks of Robert McNeel & Associates.  Hosted by GitHub

Report an Issue  |  Terms of Service