well. something like those (they work for labels):
Aim is to have a roof complex structure where external layer is omitted and instead there will be accessory object. But when You label the roof this external layer will be missing. So either custom label is needed where user can add external (tilling, sheet etc) layer definition
or custom label is connected to accessory object and read its parameters.
Maybe question shuold be put in different way:
How to label roof with complex structure and accessory layer on it?