Thanks for your respond,
Using link is a key issue of work flow for design team which will enable different type of work moving on parallely and be updated in the real time,
this is essential for design firms to organize the their teams, so live links are important.
if each time when rendering people need to bind the links into the container file, things become complicated and not reliable. Binding in revit may make mistakes and elements might be lost (this happens 8 times out 10 if the model complicated enough) if each time when people update their design they need to bind, for big project, the complication may be much more difficult then rendering itself...
when a material's element id is conflict with an existing one, is it possible to create a new element id just view them as a different material , let user to assign them specific materials later , even though they are in the same name they might be different when they are in the container.
My observation: in the current solution materials from the links and native materials in the "container" are in groups i.e.
group 0 are native materials for the native elements for the container,
group 1 for link1,
group 2 for link2;
guess there is situation like this: material A in link 1 which is also existing in the link2, since each time it may differ that the links loading into the container, so A may appears in link 1 group or link 2 group but randomly, in the users eyes this becomes mythical, we can only see material lost.
To resovle this,
Option 1,as above mentioned just view them as different material and create new element id, means in both group for link 1 and link2 there is a material A.
Option 2, only keep 2 group of materials: group 1, is the original group0 for native element, leave as it is; group 2. the new group for all the links, means what ever link 1, link 2, link3, they all go to the new group, means which click which ever link all materials from links are all listed there,so there will not be materials which is actually loaded (might from other link),and existing in the container already but not able to be found by users.
I personally prefer the ooption 1...
I am designer but not a programmer, and my English is pretty limited especially for this kind of description, hope I had made every thing clear enough, my ideas are only for your reference, I believe you will resolve the issue in a much more sophisticated way.
Supermicro 4028GR TR2|Intel xeon E5 2697 V3| windows 10| revit 2019 |Titan V+ Quadro GV100+RTX 2080 Ti