I have a few problems when I assign materials which I thinkI’ve solved but what to ask/hi-light some of the issues and understand if Iusing a reasonable workflow as I might be a bit in the past with my methodology.
I start by assigning a base material to everything. In theMaterial Editor I right click on the material, hit assign, and select anyobject. Now I hit the plus and reveal the Levelname : Colour field. I can the just add a * so that material is oneverything. All good so far.
If I want a different material assigned to an individuallayer I do the same (In the Material Editor RC on the material, hit assign. Selectan element to assign a material onto it’s level)
Now in the assignment field I have Level name : 0 for example.I have conditions what I want to apply a * to the colour value, essentially assigningby level and the colour attribute is irrelevant.
If I add a * the material drops the whole assignment. I think this might be a syntax error by mebut I just can’t get it to work.
I think it might a syntax error because I then used theAssign Material tool/dialog and select only the material, not a colour, and itautomatically adds 0-255 into the field for me.
If I add 0-255 into the field in the Material Editor as Iwas doing with the * again it fails and drops the assignment.
Interestingly I noticed that if I added 0-254 it worked.
So I can get this to work but this seemed odd and I wonderedwhy and if I misunderstanding something here. Any ideas?
Can someone confirm this is a reasonable method?
Also will this work in the same way with external MAT/PALs?I’m currently running locally but plan to work external by editing the config.
Many thanks
Richard
Running - SS3 081109292
Hi Richard,
Yes this all sounds kosher for a standard Microstation material assignment workflow.
The " * " wildcards are overridden by more specific assigments,
so you might start with a gerneral material and apply it to everything ie. assigment = " * : * "
As you realise everything on level XXX needs a more specific material you could assign " XXX : * "
As you drill down to items drawn in different colours on the same level, you might start assigning the colour as per the colour table ie. " XXX : 53 " you can use comma and hypens to assign to multiple colours eg. " 53, 56, 100-103"
Finally you might assign by attaching the material directly to each geometric object / face.
You can also set the material "ByLevel" in you level manager.
The reason the colour number are limited to 0 - 254 is that these are the colour table numbers used to draw geometry. Look at Setting->ColorTable. you will notice colour 255 is marked "B" for background. It not a colour you can draw with...
Hi Robert,
Thanks for the reply. Everything you said was how I expectedit should work. I now think the issues I was having with materials being droppedis down to the references. In older versions of MS if a file being referenced inhad no material table the material table in the live file would apply. If the referencefile had materials then they would prevail.
I currently have 2 reference files without materialsattached and can sometimes get materials to apply, but then they sometimes getdropped. The 2 files have element on the same levels but differ colours and Ineed to apply by level (hence needed to set the colours to *). So I’m thinking Ineed to attach materials per file, which is fine and I’m about to test this andit will hopefully be the best workflow.
Does assigning materials through the level manager work wellnow(is this what you were suggesting?). This does seem a neat way of working,but does it work ok with external PALs? I’m being lazy in asking and will testmyself later ;-)
I have a relate question that you, or others, might know. Is there a way to force a file’s materials to updatefrom library without having to open it?
I’m now working with external MAT/PAL. I have changed myconfig MS_LOCAL_MATERIALS to 0. I have 2 reference files both picking up thesame .PAL file. I then reference them into a new file and render it. They pickup the materials. I then open the .PAL file and edit the materials and saveback to it.
The materials in the reference files not update. I realise Ihave to open the file and update from library.
Is there a way of doing this automatically, like the old keyin reload materials?
The config help states <If set to zero, or undefined, thenlocalization of used materials is controlled by the Copy Materials Locally OnUse toggle.> I don’t get this toggle in my Material Editor dialog undersettings. Does this even do what I need?
Cheers,
SS3 081109292
As far as I'm aware yes you can leave you sub models un-assigned and do material assignments in a master assembly file.
As for the local materials, I think there is another config var that has some baring on this. I can't remember it off hand but I'm sure a search for local materials in the viz forums will find it.
You also have to make sure your assignment table is configured to look at and use external materials be they pal or dgnlib. This is per file and the delivered seed files make everything local, so you might want to make the table edit in your seed for any new render files you create. Once your models only refer to external material libraries edits to those materials filter through to all your models.
Richard,
The "Copy Materials Locally" is now removed, you can use the 'Local material > Update from library" to copy the external material locally and then keep it synch with external materail.
As Robert mentioned , if you make an assignment in the Master file , it should get reflected in the ref as well.
Also, assigning materails from level manager will help to apply the materails to all the elements on that level.
Rg,
Nilesh
communities.bentley.com/.../136670.aspx