buildingSMART / buildingSMART/IFC4.x-development

Proposal to reintroduce Productivity for IfcTaskTime and `SCHEDULEOFRATES` for work schedule predefined type

Open
#78 2 comments 0 reactions 0 assignees View on GitHub
allocated allocated-core allocated-cost allocated-sequence ifc-update-out
Dominant language
Python
Stars
234
Forks
123
Avg merge
15h 4m
Merged PRs (30d)
5

Description

In IFC2X (not even IFC2X3) there was an attribute called `Productivity` for IfcProcess which had the same function as `UnitBasis` in IfcCostItems.

In costing land, a cost rate of 5$ per 3m2 can be described using a `IfcCostSchedule.PredefinedType=SCHEDULEOFRATES` and a `CostItem.CostValue.AppliedValue=5` and `CostItem.CostValue.UnitBasis.ValueComponent=3` and `CostItem.CostValue.UnitBasis.UnitComponent = m2`.

In sequencing land, we want to describe productivity rates. Examples include: 30m2 per day. Or 0.5hours per m2. 10 Foo (Piles, Beams, Furniture, Equipment) per day. 1,000 bricks per day. Etc. It's basically the same as cost rates except that instead of currency, it's time. Also note here I am _not_ talking about things like 1.5 man hours per m2... man hours are a resource productivity rate and a separate topic to pure task productivity rates.

It seems as though the once-removed `Productivity` attribute (which has a data type of `IfcMeasureWithUnit`, exactly the same as `UnitBasis`) satisfies this need.

I propose for productivity rates to follow a similar model to cost rates, and reintroduce the `Productivity` attribute. However, it shall be introduced to `IfcTaskTime`, not to `IfcProcess` as it once was. Therefore we can describe a productivity rate of 30m2 per day using a `IfcWorkSchedule.PredefinedType=SCHEDULEOFRATES` and a `IfcTask.TaskTime.ScheduleDuration=P1D` and `IfcTask.TaskTime.Productivity.ValueComponent=30` and `IfcTask.TaskTime.Productivity.UnitComponent=m2`.

Note that if this change is made, corresponding documentation must be written about how the schedule of rates work.

Documentation on schedule of rates for costs are also rather sparse, so perhaps both can be improved at the same time.

Thoughts?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.