ifcopenshell.api.geometry.add_window_representation
¶
Module Contents¶
- class ifcopenshell.api.geometry.add_window_representation.Usecase¶
- convert_si_to_unit(value)¶
- execute()¶
- class ifcopenshell.api.geometry.add_window_representation.WindowLiningProperties¶
- initialize_properties(unit_scale: float) None ¶
- FirstMullionOffset: float | None = None¶
Distance from the first lining to the mullion center. Optional, defaults to 300mm.
- FirstTransomOffset: float | None = None¶
Optional, defaults to 300mm.
- LiningDepth: float | None = None¶
Optional, defaults to 50mm.
- LiningOffset: float | None = None¶
Offset to the wall. Optional, defaults to 50mm.
- LiningThickness: float | None = None¶
Optional, defaults to 50mm.
- LiningToPanelOffsetX: float | None = None¶
Offset from the wall. Optional, defaults to 25mm.
- LiningToPanelOffsetY: float | None = None¶
Offset from the lining. Optional, defaults to 25mm.
- MullionThickness: float | None = None¶
Mullion thickness (horizontal distance between panels).
Applies to windows of types: DoublePanelVertical, TriplePanelBottom, TriplePanelTop, TriplePanelLeft, TriplePanelRight.
Optional, defaults to 50mm.
- SecondMullionOffset: float | None = None¶
Distance from the first lining to the second mullion center.
Applies to windows of type: TriplePanelVertical.
Optional, defaults to 450mm.
- SecondTransomOffset: float | None = None¶
Applies to windows of type: TriplePanelHorizontal. Optional, defaults to 600mm.
- ShapeAspectStyle: None = None¶
Optional. Deprecated argument.
- TransomThickness: float | None = None¶
Transom thickness (vertical distance between panels), works similar way to mullions.
Applies to windows of types:DoublePanelHorizontal, TriplePanelBottom, TriplePanelTop, TriplePanelLeft, TriplePanelRight.
Optional, defaults to 50mm.
- class ifcopenshell.api.geometry.add_window_representation.WindowPanelProperties¶
- initialize_properties(unit_scale: float) None ¶
- FrameDepth: float | None = None¶
Frame thickness by Y axis. Optional, defaults to 35 mm.
- FrameThickness: float | None = None¶
Frame thickness by X axis. Optional, defaults to 35 mm.
- PanelOperation: None = None¶
Optional, value is never used. Defines the basic ways to describe how window panels operate.
- PanelPosition: None = None¶
Optional, value is never used
- ShapeAspectStyle: None = None¶
Optional. Deprecated argument.
- ifcopenshell.api.geometry.add_window_representation.add_window_representation(file: ifcopenshell.file, *, context: ifcopenshell.entity_instance, overall_height: float | None = None, overall_width: float | None = None, partition_type: Literal['SINGLE_PANEL', 'DOUBLE_PANEL_HORIZONTAL', 'DOUBLE_PANEL_VERTICAL', 'TRIPLE_PANEL_BOTTOM', 'TRIPLE_PANEL_HORIZONTAL', 'TRIPLE_PANEL_LEFT', 'TRIPLE_PANEL_RIGHT', 'TRIPLE_PANEL_TOP', 'TRIPLE_PANEL_VERTICAL'] = 'SINGLE_PANEL', lining_properties: WindowLiningProperties | dict[str, Any] | None = None, panel_properties: list[WindowPanelProperties | dict[str, Any]] | None = None, unit_scale: float | None = None) ifcopenshell.entity_instance ¶
units in usecase_settings expected to be in ifc project units
- Parameters:
context (ifcopenshell.entity_instance) – IfcGeometricRepresentationContext for the representation.
overall_height (float, optional) – Overall window height. Defaults to 0.9m.
overall_width (float, optional) – Overall window width. Defaults to 0.6m.
partition_type (str, optional) – Type of the window. Defaults to SINGLE_PANEL.
lining_properties (Union[WindowLiningProperties, dict[str, Any]]]) – WindowLiningProperties or a dictionary to create one. See WindowLiningProperties description for details.
panel_properties (list[Union[WindowPanelProperties, dict[str, Any]]]]) – A list of WindowPanelProperties or dictionaries to create one. See WindowPanelProperties description for details.
unit_scale (float, optional) – The unit scale as calculated by ifcopenshell.util.unit.calculate_unit_scale. If not provided, it will be automatically calculated for you.
- Returns:
IfcShapeRepresentation for a window.
- Return type:
ifcopenshell.entity_instance
- ifcopenshell.api.geometry.add_window_representation.create_ifc_window(builder, lining_size: mathutils.Vector, lining_thickness: list, lining_to_panel_offset_x, lining_to_panel_offset_y_full, frame_size: mathutils.Vector, frame_thickness, glass_thickness, position: mathutils.Vector, x_offsets: list = None)¶
lining_thickness and x_offsets are expected to be defined as a list, similarly to create_ifc_window_frame_simple thickness argument
- ifcopenshell.api.geometry.add_window_representation.create_ifc_window_frame_simple(builder: ifcopenshell.util.shape_builder.ShapeBuilder, size: mathutils.Vector, thickness: list, position: mathutils.Vector = V(0, 0, 0).freeze())¶
thickness of the profile is defined as list in the following order: (LEFT, TOP, RIGHT, BOTTOM)
thickness can be also defined just as 1 float value.
- ifcopenshell.api.geometry.add_window_representation.mm(x: float) float ¶
mm to meters shortcut for readability
- ifcopenshell.api.geometry.add_window_representation.window_l_shape_check(lining_to_panel_offset_y_full, lining_depth, lining_to_panel_offset_x: list, lining_thickness: list)¶
lining_thickness and lining_to_panel_offset_x expected to be defined as a list, similarly to create_ifc_window_frame_simple thickness argument
- ifcopenshell.api.geometry.add_window_representation.DEFAULT_PANEL_SCHEMAS¶