First I thought It could be interesting to create a new attribute called "simple profiles" that would be just 1 shape for to use it with any material choosen in the element settings. But then I enlarged the idea and it came to this "free choice material" that doesn't need a new atribute category. I explain it here :
It would be interesting to create a "free choice" material. It means a "material" on the side of the atribute list that wil be replaced by a "real" material from the atribute list, directly in the element settings. This wil be used to create coposites or complex profiles for which the user will choose a specific material while creating element.
For example, I could create a composite with these layers : Paint-plaster-"free choice material"-insulation-cladding. Then, if I create a wall with this coposite, I will decide in the wall settings which real material replaced the "free choice layer" of my wall. (The same way I choose material in a simple wall) It means that with just one composite, I can create much more tipes of walls depending on what is the central layer.
Other example : I create several complex profiles with just one shape of "free choice material". These are usable for any real material in the model. (I don't need to create the same shape for different materials, e.g. if a decorative frame profile can be made of pine wood, oak wood, painted wood, MDF, etc...)
One more : I create a custom shutter or door panel. If some part of this panel is made of "free choice material", this part wil be setted directly in the door or window settings. May be other parts of this panel made of "real" material remain. (E.g. wooden parts of shutters are "free choice" and the iron details are "painted iron") For sure, in most situations, I will make the whole panel in "free choice material", even if we keep this ability of having diverse materials in a library element.
Now I try to have these possibilities with a short quantity of "custom materials" in the atribute list, but it means that I chose which material it is realy at the level of project atributes, and not at the level of element.
Having an attribute free to replace at the level of element settings could be very usefull.
May be something similar could exist for other atributes...
I do exactly the same as you with my custom atributes that change during the process of modeling project. but any change is at the level of project. I would love having the ability of changing at the level of element. (For example having one "blue" and one "red" in the same project)
Here is a simple example of what could be done in a project with "free choice material" :
This profile is quite common in traditional interior design and it has just one shape. (one material)
Here it's made of the material : "interior massive wood".
Imagine that in one projet I use this profile in several rooms and I want it to be oak wood in the first room, pine wood in the second, painted wood in some other place, and even gyps or polished stone etc.
Now I don't have this possibility with just one profile. Sure, It's possible to copy as many time as I need this profile and change the material, that makes very long list of attributes for just one setting changed. I prefer not do that.
If I create a "custom material" in my attribute list, (what I do now) I can change it but it will be the same in all the project. The only way to change it separatly is to force the surface in the element settings, that will make 2 problems: 1/ It will not change the hatches in sections. 2/ It will not count correctly the quantity of specific woods or materials.
The existence of "free choice material" could give me all the possibilities explained above without creating many copies of the profile.
2nd example here : This profil has 2 materials : a cement and a ceramic part.
If I force the surface of the element created with this profile, il will also paint the cement part. So here, "Free choice material" would be used in profile settings instead of ceramic part. The cement will remain. User will be able to repace it by any real material while creating the element. For example "ceramic", "polished stone", etc.
In my idea, to keem an easy management of element settings, it could not be more than 1 "free choice material" in each element.
Here is example of the look of the beam settings box, that allow choosing independantly profile and material.
I already have 349 materials, 626 composites and 381 profiles.
Usally I avoid modifing atributes, because it makes problems by sharing favorites or copy paste elements between diffrerent projects, or by the use of external modules. So I create everyday new ones and then I transfer them to my template. This way 99% of my atributes are the same in every project.
I realy prefer not creating a new atribute that just changes a material part of a composite or a complex, just for one single element in one single project. Even if now I do that much. The result is here above, it brings me to exponential long list of atributes.
Look how many composites here are so similar, just changing one layer. And this list is just for projecting common residential buildings.
In a logical way of building now, there are some building elements whose composition is totally fix (e.g. the gyps pannel walls), so it's no need to adapt the composite or profile corresponding ; and there are some elements that can be adapted or customize in the building site. For these elements, I would love having this feature. (Which looks quite simple to implement...) It will give me the possibility to hardly clean and simplify my composite list, with a higher diversity of structures.
One more little argument is this one : With beam or pillar, by changing a profile, we loose the setted dimensions of the element. It comes back to the "by default" dimensions of the profile.
If we don't need to change profile for juste one other material, by changing the "free" material of this profiled element, there is no reason to loose the setted dimensions.
Yes, I agree with the problem statement but I do think that the proposed solution is a half measure that risks making things even messier. As I see it there is a fundamental issue with components and skins being defined in terms of building materials just as with tools for create geometries presupposing building parts. A more general approach would be good.