Often an object will be modelled that might have several kids of material that are applicable to it, but these material choices wont be decided on until sometime later.
The ability to assign a material by level:color is great for this kind of "late" binding of materials, but it is not always the most intuitive method to use because you are relying on a level name and colour number that might not be properly descriptive of the object / material relationship. It also does not work for shared/parametric cell definitions where the level name might not be available to the material tool.
The ability to apply a material directly to a face or entire solid is great for "early" binding of materials, but can be hard to swap out later to try different options, especially if it is baked into something like a parametric cell.
I propose that material assignment be able to be done by a "Material Hook" property that can be added to an element (ie like an Item Type) that is independent of level,color, or the specific element id, and can have any custom text value to act as an identifier. eg "window frame"
The actual material assignment then could then be made to the hook, rather (as well as) then level:color or element/surface.
Perhaps this hook could be made part of the material projection tool, so that when a projection is added to an element, you can specify the Material Hook value too.
This will have the positive effect of separating the kinds of material in the palette (eg. Steel, Aluminium, Wood, Plastic) fromthe containment an element has in the design (eg. Window frame) that might be sitting on the "Wall Openings" level.
Material hooks would act as an intermediary grouping mechanism for applying materials. More fine grained and flexible than levels, but not as specific as directelement application.
It would be easy to swap out the material in the material tables, by grabbing the material hook and dragging it onto an alternative material.
The material hooks could also be overridden for special render operations - like the commonly requested ability to render out a "select/mask by colour id per material" layer for photoshop postprocessing.
Regards
Robert
Hi Robert, how do you see the behaviour of this feature if attaching an Item Type with a material property type to an element that has already got a material attached?