buildingSMART / buildingSMART/IFC4.x-development
Proposal for extending Pset_DoorCommon with a property `HasHoldOpenDevice`
- Dominant language
- Python
- Stars
- 234
- Forks
- 123
- Avg merge
- 15h 4m
- Merged PRs (30d)
- 5
Description
`Pset_DoorCommon` has no property to indicate whether a door is fitted with a hold-open/release device (e.g. an electromagnetic door holder tied into the fire alarm system). This is common, code-referenced door hardware — comparable in nature to `SelfClosing` and `HasDrive`, which already exist in this Pset — but there is currently no standard way to flag it.
## Background / problem
Fire and smoke doors are frequently held open in daily use by an electromagnetic (or similar) hold-open device, which releases the door on a signal from the fire alarm system so it can self-close. This is standard, code-referenced practice internationally:
- UK: covered under BS 7273-4 ("door holders")
- EU: devices covered by EN 1155 (controlled door closing devices with hold-open function)
- US: "electromagnetic door holders", referenced in NFPA 72 / IFC (International Fire Code) 703.2.2
- Germany: "Feststellanlage"
- Sweden: "magnetuppställning"
This is functionally analogous to two properties already present in `Pset_DoorCommon`:
- `SelfClosing` (IfcBoolean) — indicates the door closes automatically
- `HasDrive` (IfcBoolean) — indicates the door has an automatic drive/actuator
Both of these describe door-level behavior driven by attached hardware that could equally be modeled as a separate object (a closer, a motor/actuator) — so there's clear precedent for a simple boolean flag living on the door itself rather than requiring a separate linked element. A hold-open/release device fits the same pattern and is currently the gap.
## Proposal
Add a new property to `Pset_DoorCommon`, applicable to `IfcDoor` and `IfcDoorType`:
| Name | Property Type | Data Type | Description |
|---|---|---|---|
| `HasHoldOpenDevice` | IfcPropertySingleValue | IfcBoolean | Indication of whether this object is fitted with a hold-open device that keeps the door open during normal use and releases it automatically (e.g. on activation of the fire alarm system) to allow it to close (TRUE), or not (FALSE). |
Happy to help draft the change and provide a pull-request in the repo if maintainers are open to this addition.
Contributor guide
Research direction
Start by reviewing the existing Pset_DoorCommon definition and the SelfClosing and HasDrive properties to compare conventions. Confirm how properties applicable to IfcDoor and IfcDoorType are represented in the repository and follow the IFC specification change workflow. Done means the proposal is accepted and the new HasHoldOpenDevice property is consistently defined and documented.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100