ifcopenshell.api.geometry.add_door_representation

Module Contents

class ifcopenshell.api.geometry.add_door_representation.DoorLiningProperties
initialize_properties(unit_scale: float) None
CasingDepth: float | None = None

Casing cover wall faces around the opening on the left, right and upper sides Casing should be either on both sides of the wall or no casing If LiningOffset is present then therefore casing is not possible on outer wall therefore there will be no casing on inner wall either. Optional, defaults to 5mm.

CasingThickness: float | None = None

Casing thickness by Z-axis. Optional, defaults to 75mm.

LiningDepth: float | None = None

Optional, defaults to 50mm.

LiningOffset: float | None = None

Offset from the outer side of the wall (by Y-axis). Optional, defaults to 0.0.

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 X-axis (unlike windows). Optional, defaults to 25mm.

ShapeAspectStyle: None = None

Optional. Deprecated argument.

ThresholdDepth: float | None = None

Threshold covers the bottom side of the opening. Optional, defaults to 100mm.

ThresholdOffset: float | None = None

Threshold offset by Y-axis. Optional, defaults to 0.0.

ThresholdThickness: float | None = None

Theshold thickness by Z-axis. Optional, defaults to 25mm.

TransomOffset: float | None = None

Distance from the bottom door opening to the beginning of the transom unlike windows TransomOffset which goes to the center of the transom. Optional, defaults 1.525m.

TransomThickness: float | None = None

Vertical distance between door and window panels. Optional, defaults to 0.0.

class ifcopenshell.api.geometry.add_door_representation.DoorPanelProperties
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.

PanelDepth: float | None = None

Frame thickness by Y axis. Optional, defaults to 35 mm.

PanelOperation: None = None

Optional, value is never used. Defines the basic ways to describe how door panels operate.

PanelPosition: None = None

Optional, value is never used

PanelWidth: float = 1.0

Ratio to the clear door opening. Optional, defaults to 1.0.

ShapeAspectStyle: None = None

Optional. Deprecated argument.

class ifcopenshell.api.geometry.add_door_representation.Usecase
convert_si_to_unit(value)
execute()
ifcopenshell.api.geometry.add_door_representation.add_door_representation(file: ifcopenshell.file, *, context: ifcopenshell.entity_instance, overall_height: float | None = None, overall_width: float | None = None, operation_type: Literal['SINGLE_SWING_LEFT', 'SINGLE_SWING_RIGHT', 'DOUBLE_SWING_RIGHT', 'DOUBLE_SWING_LEFT', 'DOUBLE_DOOR_SINGLE_SWING', 'DOUBLE_DOOR_DOUBLE_SWING', 'SLIDING_TO_LEFT', 'SLIDING_TO_RIGHT', 'DOUBLE_DOOR_SLIDING'] = 'SINGLE_SWING_LEFT', lining_properties: DoorLiningProperties | dict[str, Any] | None = None, panel_properties: DoorPanelProperties | 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 door height. Defaults to 2m.

  • overall_width (float, optional) – Overall door width. Defaults to 0.9m.

  • operation_type (str, optional) – Type of the door. Defaults to SINGLE_SWING_LEFT.

  • lining_properties (Union[DoorLiningProperties, dict[str, Any]]]) – DoorLiningProperties or a dictionary to create one. See DoorLiningProperties description for details.

  • panel_properties (Union[DoorPanelProperties, dict[str, Any]]]) – DoorPanelProperties or a dictionary to create one. See DoorPanelProperties 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 door.

Return type:

ifcopenshell.entity_instance

ifcopenshell.api.geometry.add_door_representation.create_ifc_box(builder: ifcopenshell.util.shape_builder.ShapeBuilder, size: mathutils.Vector, position: mathutils.Vector = V(0, 0, 0).freeze()) ifcopenshell.entity_instance
ifcopenshell.api.geometry.add_door_representation.create_ifc_door_lining(builder: ifcopenshell.util.shape_builder.ShapeBuilder, size: mathutils.Vector, thickness: list, position: mathutils.Vector = V(0, 0, 0).freeze()) ifcopenshell.entity_instance

thickness of the profile is defined as list in the following order: (SIDE, TOP)

thickness can be also defined just as 1 float value.

ifcopenshell.api.geometry.add_door_representation.mm(x: float) float

mm to meters shortcut for readability

ifcopenshell.api.geometry.add_door_representation.SUPPORTED_DOOR_TYPES = ('SINGLE_SWING_LEFT', 'SINGLE_SWING_RIGHT', 'DOUBLE_SWING_RIGHT', 'DOUBLE_SWING_LEFT',...