dragonfly_energy.gbxml.geometry module¶
Parameters for customizing the geometry in gbXML files.
- class dragonfly_energy.gbxml.geometry.GBXMLGeometryFormat(merge_method=None, include_shell_geometry=False, include_space_boundaries=False, exclude_roofs=False, exclude_shades=False, exclude_plenums=False, opening_simplification=None, triangulate_openings=False, triangulate_non_planar=False, rect_geo_format='BoundingRectangle', explicit_holes=False, ignore_multipliers=False, ignore_ceiling_adjacencies=False)[source]¶
Bases:
objectCustomize the representation of geometry within a gbXML.
- Parameters:
merge_method –
An optional text string to describe how the rooms are merged into gbXML Spaces during the translation. Specifying a value here can be an effective way to reduce the number of Spaces in the resulting gbXML and, ultimately, yield a faster simulation ime in the destination engine with fewer results to manage. Note that rooms will only be merged if they form a continuous volume. Otherwise, there can be multiple gbXML Spaces per zone or story, each with an integer added at the end of their identifiers. (Default: None). Choose from the following options.
None - No merging will occur
Zones - Rooms in the same zone will be merged
PlenumZones - Only plenums in the same zone will be merged
Stories - Rooms in the same story will be merged
PlenumStories - Only plenums in the same story will be merged
include_shell_geometry – Boolean for whether shell geometry should be included vs. just the minimal required non-manifold geometry. (Default: False).
include_space_boundaries – Boolean for whether space boundaries should be included vs. just the minimal required non-manifold geometry. (Default: False).
exclude_roofs – Boolean to note whether the sloped roof geometries in the RoofSpecifications of the model are accounted for in the gbXML (False) or all rooms are simply extruded to their floor_to_ceiling_height (True). Setting to True is useful when exporting destination software that has no means of accounting for sloped roofs (eg. TRACE 3D Plus or HAP). (Default: False)
exclude_shades – Boolean to note whether to include shade geometries in the gbXML as Surface elements (False) or whether they are excluded (True). Setting this to True is useful when exporting to destination software that does not account for shading geometry (eg. TRACE 700) since this will ensure that the extra Spaces for Detached Shades and Attached Shades are excluded from the gbXML. (Default: False).
exclude_plenums – Boolean to indicate whether ceiling/floor plenum depths generate distinct separated plenum Spaces during the translation (False) or they are simply included with the parent room geometry (True). Setting this option to True is useful when the destination software allows for a more direct means of assigning plenum depths, which does not require explicit plenum geometry (eg. TRACE 700). (Default: False).
opening_simplification –
Optional text to note the method by which openings (including both windows and doors) are simplified as part of the translation to gbXML. (Default: None). Choose from the following options.
None - No sub-face simplification will occur
Rectangularized - Rect openings left as they are; all others rectangularized
MergeAdjWindows - Adjacent windows are merged; doors are left as is
MergeAdjWinToRect - Adjacent windows merged and the result rectangularized
SingleWindow - All doors removed; windows are merged into one per wall
SingleRectWindow - All doors removed; one rectangular window per wall
triangulate_openings – Boolean to note whether openings (including both windows and doors) are triangulated if they have more than 4 sides (True) or whether they are left as they are (False). This triangulation is necessary when exporting to destination software that does not support openings with more than 4 vertices (eg. EnergyPlus/ OpenStudio). (Default: False).
triangulate_non_planar – Boolean to note whether any non-planar shade geometry in the model should be triangulated. This may be necessary when the model may contain non-planar geometry and destination software provides no means of correcting it. (Default: False).
rect_geo_format –
Text string to note how the rectangular geometry for all Surfaces is written into the gbXML. BoundingRectangle sets the width and height of the rectangular geometry using the bounding rectangle around the geometry, which results in an overestimated area for non-rectangular geo. SimpleArea will set the rectangle width always equal to geometry area and the height always equal to one, ensuring accurate areas and making it easy to check the geometry area in the gbXML. SimpleAreaForNonRectOnly will report the width and height of rectangular Face3D correctly but use simpler areas for non-rectangular geometry. (Default: BoundingRectangle). Choose from the following.
BoundingRectangle
SimpleArea
SimpleAreaForNonRectOnly
explicit_holes – Boolean to note whether holes in Surfaces should be represented explicitly with their own PolyLoop or the hole and boundary should be collapsed into a single PolyLoop that winds inwards to cut out the holes. (Default: False).
ignore_multipliers – Boolean to note whether story multipliers are accounted for in the gbXML by explicitly converting multipliers to geometry (False) or whether they are completely ignored (True). Given that gbXML has no support for assigning multipliers to Spaces and is a non-manifold geometry schema that relies on all geometry being modeled explicitly, this parameter should almost never be set to True. However, if the destination software supports a means of assigning the multipliers to spaces after importing the gbXML (eg. TRACE 700), it may be useful to set this to True. (Default: False).
ignore_ceiling_adjacencies – Boolean to note whether adjacencies between stories are correctly accounted for (False) or they are ignored as part of the translation (True). Given that gbXML is fundamentally a non-manifold geometry schema, this parameter should almost never be set to True. However, if the destination software supports simulating each story as a distinct entity, this may be useful. (Default: False).
- Properties:
merge_method
include_shell_geometry
include_space_boundaries
exclude_roofs
exclude_shades
exclude_plenums
opening_simplification
triangulate_openings
triangulate_non_planar
rect_geo_format
explicit_holes
ignore_multipliers
ignore_ceiling_adjacencies
- classmethod from_dict(data)[source]¶
Create a GBXMLGeometryFormat object from a dictionary.
- Parameters:
data – A GBXMLGeometryFormat dictionary in following the format below.
{ "type": "GBXMLGeometryFormat", "merge_method": "Zones", "include_shell_geometry": True, "include_space_boundaries": True, "exclude_roofs": False, "exclude_shades": False, "exclude_plenums": False, "opening_simplification": "MergeAdjacentWindows", "triangulate_openings": False, "triangulate_non_planar": False, "simple_rect_areas": False, "explicit_holes": False, "ignore_multipliers": False, "ignore_ceiling_adjacencies": False }
- MERGE_METHODS = ('None', 'Zones', 'PlenumZones', 'Stories', 'PlenumStories')¶
- OPENING_SIMPLIFICATIONS = ('None', 'Rectangularized', 'MergeAdjWindows', 'MergeAdjWinToRectSingleWindow', 'SingleRectWindow')¶
- RECTANGULAR_FORMATS = ('BoundingRectangle', 'SimpleArea', 'SimpleAreaForNonRectOnly')¶
- property exclude_plenums¶
Get or set a boolean for whether plenums are excluded.
- property exclude_roofs¶
Get or set a boolean for whether sloped roofs are excluded.
- property exclude_shades¶
Get or set a boolean for whether shades are excluded.
- property explicit_holes¶
Get or set a boolean for whether holes are represented explicitly.
- property ignore_ceiling_adjacencies¶
Get or set a boolean for whether adjacencies between stories are ignored.
- property ignore_multipliers¶
Get or set a boolean for whether story multipliers are ignored.
- property include_shell_geometry¶
Get or set a boolean for whether shell geometry is included.
- property include_space_boundaries¶
Get or set a boolean for whether space boundaries are included.
- property merge_method¶
Get or set text for how rooms are merged into gbXML Spaces.
Choose from the options below:
None
Zones
PlenumZones
Stories
PlenumStories
- property opening_simplification¶
Get or set text for how openings are simplified.
Choose from the options below:
None
Rectangularized
MergeAdjWindows
MergeAdjWinToRect
SingleWindow
SingleRectWindow
- property rect_geo_format¶
Get or set text for how rectangular geometry is formatted.
Choose from the options below:
BoundingRectangle
SimpleArea
SimpleAreaForNonRectOnly
- property triangulate_non_planar¶
Get or set a boolean for whether non planar shades are triangulated.
- property triangulate_openings¶
Get or set a boolean for whether openings with >4 vertices are triangulated.