honeybee.shademesh module¶
Honeybee ShadeMesh.
- class honeybee.shademesh.ShadeMesh(identifier, geometry, is_detached=True)[source]¶
Bases:
_Base
A single planar shade.
- Parameters:
identifier – Text string for a unique Shade ID. Must be < 100 characters and not contain any spaces or special characters.
geometry – A ladybug-geometry Mesh3D.
is_detached – Boolean to note whether this object is detached from other geometry. Cases where this should be True include shade representing surrounding buildings or context. (Default: True).
- Properties:
identifier
display_name
is_detached
geometry
vertices
faces
center
area
min
max
type_color
bc_color
user_data
- ToString()¶
Overwrite .NET ToString.
- add_prefix(prefix)[source]¶
Change the identifier of this object by inserting a prefix.
This is particularly useful in workflows where you duplicate and edit a starting object and then want to combine it with the original object into one Model (like making a model of repeated rooms) since all objects within a Model must have unique identifiers.
- Parameters:
prefix – Text that will be inserted at the start of this object’s identifier and display_name. It is recommended that this prefix be short to avoid maxing out the 100 allowable characters for honeybee identifiers.
- duplicate()¶
Get a copy of this object.
- classmethod from_dict(data)[source]¶
Initialize an ShadeMesh from a dictionary.
- Parameters:
data – A dictionary representation of an ShadeMesh object.
- is_geo_equivalent(shade_mesh, tolerance=0.01)[source]¶
Get a boolean for whether this object is geometrically equivalent to another.
The total number of vertices and the ordering of these vertices can be different but the geometries must share the same center point and be next to one another to within the tolerance.
- Parameters:
shade_mesh – Another ShadeMesh for which geometric equivalency will be tested.
tolerance – The minimum difference between the coordinate values of two vertices at which they can be considered geometrically equivalent.
- Returns:
True if geometrically equivalent. False if not geometrically equivalent.
- move(moving_vec)[source]¶
Move this Shade along a vector.
- Parameters:
moving_vec – A ladybug_geometry Vector3D with the direction and distance to move the face.
- reflect(plane)[source]¶
Reflect this Shade across a plane.
- Parameters:
plane – A ladybug_geometry Plane across which the object will be reflected.
- rotate(axis, angle, origin)[source]¶
Rotate this Shade by a certain angle around an axis and origin.
- Parameters:
axis – A ladybug_geometry Vector3D axis representing the axis of rotation.
angle – An angle for rotation in degrees.
origin – A ladybug_geometry Point3D for the origin around which the object will be rotated.
- rotate_xy(angle, origin)[source]¶
Rotate this Shade counterclockwise in the world XY plane by a certain angle.
- Parameters:
angle – An angle in degrees.
origin – A ladybug_geometry Point3D for the origin around which the object will be rotated.
- scale(factor, origin=None)[source]¶
Scale this Shade by a factor from an origin point.
- Parameters:
factor – A number representing how much the object should be scaled.
origin – A ladybug_geometry Point3D representing the origin from which to scale. If None, it will be scaled from the World origin (0, 0, 0).
- to_dict(abridged=False, included_prop=None)[source]¶
Return Shade as a dictionary.
- Parameters:
abridged – Boolean to note whether the extension properties of the object (ie. modifiers, transmittance schedule) should be included in detail (False) or just referenced by identifier (True). Default: False.
included_prop – List of properties to filter keys that must be included in output dictionary. For example [‘energy’] will include ‘energy’ key if available in properties to_dict. By default all the keys will be included. To exclude all the keys from extensions use an empty list.
- triangulate_and_remove_degenerate_faces(tolerance=0.01)[source]¶
Triangulate non-planar faces in the mesh and remove all degenerate faces.
This is helpful for certain geometry interfaces that require perfectly planar geometry without duplicate or colinear vertices.
- Parameters:
tolerance – The minimum distance between a vertex and the boundary segments at which point the vertex is considered colinear. Default: 0.01, suitable for objects in meters.
- BC_COLOR = (R:120, G:75, B:190, A:255)¶
- TYPE_COLORS = {False: (R:120, G:75, B:190, A:255), True: (R:80, G:50, B:128, A:255)}¶
- property area¶
Get the surface area of the shade mesh.
- property bc_color¶
Get a Color to be used in visualizations by boundary condition.
- property center¶
Get a ladybug_geometry Point3D for the center of the shade.
Note that this is the center of the bounding box around this geometry and not the area or volume centroid.
- property display_name¶
Get or set a string for the object name without any character restrictions.
If not set, this will be equal to the identifier.
- property faces¶
Get a tuple of tuples for the faces of the mesh.
- property full_id¶
Get a string with both the object display_name and identifier.
This is formatted as display_name[identifier].
This is useful in error messages to give users an easy means of finding invalid objects within models. If there is no display_name assigned, only the identifier will be returned.
- property geometry¶
Get a ladybug_geometry Mesh3D object representing the Shade.
- property identifier¶
Get or set a text string for the unique object identifier.
This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). As such, this property is used to reference the object across a Model.
- property is_detached¶
Get or set a boolean for whether this object is detached from other geometry.
- property max¶
Get a Point3D for the maximum of the bounding box around the object.
- property min¶
Get a Point3D for the minimum of the bounding box around the object.
- property properties¶
Get object properties, including Radiance, Energy and other properties.
- property to¶
ShadeMesh writer object.
Use this method to access Writer class to write the shade in different formats.
Usage:
shade_mesh.to.idf(shade) -> idf string. shade_mesh.to.radiance(shade) -> Radiance string.
- property type_color¶
Get a Color to be used in visualizations by type.
- property user_data¶
Get or set an optional dictionary for additional meta data for this object.
This will be None until it has been set. All keys and values of this dictionary should be of a standard Python type to ensure correct serialization of the object to/from JSON (eg. str, float, int, list, dict)
- property vertices¶
Get a tuple of ladybug_geometry Point3D for the vertices of the mesh.