IFC4.3.x-development
IFC4.3.x-development copied to clipboard
Standardisation of colour properties
A luminaire control register typically contains the colour of the light fitting. I was looking for the appropriate property to put this in and found a lot of colour properties (but none for IfcLightFixture) that I think could be consolidated.
For example, an IfcAirTerminal has a "FinishColour" which seems similar to what I'm after.
However, an IfcShadingDevice has a "SurfaceColour" which seems suspiciously similar too.
IfcFireSuppressionTerminal/FIREHYDRANT separates BodyColour and CapColour.
IfcCableSegment/FIBERTUBE has FiberTubeColour which is actually an enum of colours.
My gut feel is that similar to how a common element property set can exist for dimensions (length, width, height, diameter) there can also be a similar common property set for all elements for a simple colour label.
This luminaire control register would find a "colour" property useful. Architectural finish schedules would also find it useful.
Then of course there is the debate whether or not it is semantically correct to have a property describing colour (e.g. typically as a schedulable property) which may contradict the surface style. I think that's OK, but others may disagree.
Here is a list of all properties with "Colour" in their name:
- BodyColour - colour of the body of a fire hydrant
- BulbLiquidColour - enum of colour of the liquid in fire sprinkler bulbs
- CapColour - cap colour of fire hydrant.
- Colour - incorrectly given the description of "Stratum colour", it seems to randomly be used in a number of psets including pipe fittings/segments, sanitary terminals, and duct fittings/segments but nothing else. Weird.
- ColourAppearance - I think
- ColourCode - Connector colour of a distribution port. I'm not an MEP guy, so I'm not 100% sure about what this exactly is.
- ColourRenderingIndex - a lamp CRI value, looks good to me
- ColourTemperature - temperature in Kelvin for a lamp, looks good to me
- ConnectorAColour - specifically for cable segment connectors. Maybe an MEP expert can review this?
- ConnectorBColour - specifically for cable segment connectors. Maybe an MEP expert can review this?
- FiberColour - for an IfcCableSegment/FIBERSEGMENT it's the colour of a single fibre.
- FiberTubeColour - for an IfcCableSegment/FIBERTUBE it's the colour of a single fibre tube.
- FinishColour - the finish colour, suspiciously only applicable to air terminals and cooled beams.
- GlassColour - glass colour for door window glazing
- JacketColour - colour of a cable fitting jacket for certain types of cables and cable segments. Seems to be duplicated in a number of psets (e.g. applies both to IfcCableSegment and IfcCableSegment/OPTICALCABLESEGMENT - so as a user, where should I look? Seems confusing)
- MainColour - main colour only applicable to a furniture
- MaterialColour - colour of road marking (road linework, symbols, etc)
- SheathColours - enum of sheath colours for IfcCableSegment/CORESEGMENT. At this point, I really think an MEP person should review the colours and whether jacket / sheath / tube can be consolidated.
- StratumColour - stratum colour that only applies to IfcGeotechnicalStratum
- SurfaceColour - surface colour that suspiciously only applies to IfcShadingDevice. Weird.
Happy to put forward a proposal, but before I do I thought I'd post this summary of the current situation so others can comment.
Also see https://github.com/bSI-InfraRoom/IFC-Specification/issues/326#issuecomment-991872906
I must say, now that we worked out the Material Set material labels, it feels odd to me to continue along this route.
Not all of them, but most of these above are redundant with a Material Set and then either a surface style or a IfcMaterialProperties.
So my proposal would be:
- delete all properties regarding to coloured parts (things like CapColour, FinishColour, ConnectorAColour)
- advise users to use their material set association of choice (could be single/mls/mps/mcs)
- define a standard Colour property on Pset_MaterialCommon or whatnot
- Maybe, just maybe, propose several if we can't make a choice
| PropName | Type |
|---|---|
| ColourRGBA | ListValue<NormalisedRatio> |
| ColourLabel | SingleValue<Label> |
| ColourEnum (probably not. should be IDS territory) | EnumValue<PEnum_Colour> |
| ColourSpectral | tbd |
- Deleting coloured parts sound good
- Advising to use material set association of choice sounds good
- Sounds good to me :)
- I would vote for colour label - the purpose of this is human labeling and scheduling, so rgba will not mean anything to people. Sometimes it'll be things like "Black" and sometimes it'll be fancy branded colour names like "Rose Pink" depending on the manufacturer, and of course in some other cases it'll be a RAL/PANTONE/etc.