Assigning material method - question.

I have a few problems when I assign materials which I think
I’ve solved but what to ask/hi-light some of the issues and understand if I
using 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 the
Material Editor I right click on the material, hit assign, and select any
object. Now I hit the plus and reveal the Level
name : Colour
field. I can the just add a * so that material is on
everything. All good so far.

If I want a different material assigned to an individual
layer I do the same (In the Material Editor RC on the material, hit assign. Select
an 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 assigning
by 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 me
but I just can’t get it to work.

I think it might a syntax error because I then used the
Assign Material tool/dialog and select only the material, not a colour, and it
automatically adds 0-255 into the field for me.

If I add 0-255 into the field in the Material Editor as I
was 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 wondered
why 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 expected
    it should work. I now think the issues I was having with materials being dropped
    is down to the references. In older versions of MS if a file being referenced in
    had no material table the material table in the live file would apply. If the reference
    file had materials then they would prevail.

    I currently have 2 reference files without materials
    attached and can sometimes get materials to apply, but then they sometimes get
    dropped. The 2 files have element on the same levels but differ colours and I
    need to apply by level (hence needed to set the colours to *). So I’m thinking I
    need to attach materials per file, which is fine and I’m about to test this and
    it will hopefully be the best workflow.

    Does assigning materials through the level manager work well
    now(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 test
    myself later ;-) 

    I have a relate question that  you, or others, might know. Is there  a way to force a file’s materials to  update
    from library
    without having to open it?

    I’m now working with external MAT/PAL. I have changed my
    config MS_LOCAL_MATERIALS to 0. I have 2 reference files both picking up the
    same .PAL file. I then reference them into a new file and render it. They pick
    up the materials. I then open the .PAL file and edit the materials and save
    back to it.

    The materials in the reference files not update. I realise I
    have 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, then
    localization of used materials is controlled by the Copy Materials Locally On
    Use toggle.> I don’t get this toggle in my Material Editor dialog under
    settings. Does this even do what I need?

     

    Cheers,

     

    Richard

    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