View Full Version : AutoCAD 2006 Materials within Blocks appear to have a mind of their own
vavalexus
2007-06-07, 10:26 AM
Can anyone help me with further problem:
I create block in Autocad 2006 and attache materials form library to it (so I import it from library to a drawing and then attach it). For exampl I use 2 materials in first block – material-1 and material-2.
Then I create second block. I use the same materials taken from the library – material-1 and material-2.
Now I start a new file, insert the block/Xref to the drawing.
On inserting block-1 for three times I got duplications of materials that Autocad automaticly renames:
Material-1
Material-1*1*
Material-1*2*
Material-2
Material-2*1*
Material-2*2*
On inserting block-2 for three times I got duplications of materials further on:
Material-1*3*
Material-1*4*
Material-1*5*
Material-2*3*
Material-2*4*
Material-2*5*
So from actually 2 used materials I got 12! And I cannot now change initial materials and see that all blocks change according to it!
(I know that in AutoCad 2007 it works just fine, but due to my post http://discussion.autodesk.com/thread.jspa?messageID=5617548 I cannot use Autocad upper the 2006.)
Even worth. I create dynamic blocks, put them all together, attach same materials, clear duplication in materials. Check – if I change material it changes in all block. Yea, that’s right! Happy am I, but just for awhile! Make a tool pallete from these block. Then save, close. Start new drawing. Insert these block from the toolpallete. And all materials attached previously to my block now became GLOBAL! I have a list of duplicated materials in materials library of a drawing indeed, but neither of them is attached to blocks!
If I do not clear duplication in materials on creation of dynamic block (thus I cannot correct initial ones further on!) I have a bit better picture, but even though some of them (block made of solid) still swap its own materials with global when inserting. So it is total mess-up! I can’t figure it out!
fhoffnar
2007-06-07, 08:49 PM
I've had lots of problems blocking solids, have you tried using GROUP instead? That may work better in this situation.
Good luck :beer:
vavalexus
2007-06-08, 07:21 AM
No, grouping won't do. It is dynamic block.
It's strange, even though it's a mess with materials that get duplicated each time on inserting of the block but at least I can work with it anyway. But, for the solids, as you wrote, I'm reeeally having problems applying materials! It's always becoming with global materials!
Now I'm torn in two! Neither of two Autocads (2006 or 2008) doesn't give me want I want!
2006 - mess with materials and can't attach material to a solid block (it will just loose it on inserting),
2008 is a total **ck with polyline render! Autodesk keeping their mouth shut on this issue advising using solids - nonsense, what about dynamic blocks then! If they make solids to be able to stretch within dynamic block then I'd think of that!
fhoffnar
2007-06-08, 11:36 AM
Have you tried pre-loading the library materials into the drawing prior to the block insertion?
vavalexus
2007-06-08, 02:14 PM
It doesn't help!
You see, in the drawing in which I keep all dynamic blocks there a a lot of duplicated materials and I can preload only original ones. I attach few blocks. Within the drawing they are ok, but try making a tool palette of dynamic blocks from these to ones and then insert it into the new drawing. They loose all their materials. Maybe you will be able to do something with them. They have two materials - silver and white plastic.
vavalexus
2007-06-08, 02:33 PM
One thing to add.
If I each of these blocks stored in a file place in the drawing with use of INSERT command (as a ordinary block, not from dynamic block palette), then explode it (to make it back to dynamic block), then it is all fine with materials. But it is so uncomfortable! I want using palettes.
vavalexus
2007-06-08, 03:01 PM
Hurrah! I've found the solution myself!!! :)))
Dynamic blocks added to a tool palette tend to loose their materials on insertion into the new drawing. On the contrary, ordinary blocks keep materials quite well. So I pasted to the tool palette from the design center not a dynamic block itself but the block made of file where this dynamic one is kept. And in properties of this block in the tool palette I activated option "explode - yes". So now on inserting into a new file it got exploded and converted to a dynamic block at once! Materials are preserved!
jaberwok
2007-06-08, 07:43 PM
Thank you for posting your solution. I'm sure others will find that useful. :beer:
vavalexus
2007-08-23, 08:15 PM
Thank you for posting your solution. I'm sure others will find that useful. :beer:
Finally! I've found the complete total solution!!!
Here is my thread on the Autodesk discussion forum
http://discussion.autodesk.com/thread.jspa?forumID=154&threadID=603541
Or text itself:
Dear Autodesk! Please answer! I'm not the single one how is having the problem, and you didn't answer to one of these posts!!!
http://discussion.autodesk.com/thread.jspa?messageID=5372616
http://discussion.autodesk.com/thread.jspa?threadID=603254
and there were several more...
______________
I’ve spent more then a month trying to find the way to solve this problem! I have a deadline with my work and I can’t go on because of further problem!
I have made a library of dynamic blocks with explicitly assigned materials to each block (several materials many of which duplicate in other block – for example “white plastic” is used almost in every block). I don’t know where Auctocad finds materials like “white plastic *1*, *2* etc.), but at least it looks and renders as it should be in each file where dynamic block is.
Then I create a tool palette of dynamic blocks – two variants, first one – block from every drawing where dynamic block is stored is put to a tool palette. And second – I use insert command and insert all files where dynamic blocks are in a single drawing (now they are not dynamic, to make it dynamic I have to explode each block, since now it is “dynamic block in a block” - so to reveal it dynamics I have to explode it. I put these non dynamic blocks form DesignCenter to the tool palette and assign in properties “explode when inserted”).
Now to the major problem! If I insert a dynamic block from the palette to a new file this block looses its assign materials. (I have single one which doesn’t but I can’t understand how it happens. I paste a new dynamic block in this very file and resave it, and when I use resaved one it looses materials as rest of block).
Before time being I worked as in second variant – it helped in most of cases since block (not dynamic but made of file) tend to preserve its materials. I just tick in properties to “explode blocks (thus making them dynamic) when inserted”. Problem - if my dynamic block consists of several dynamic blocks – in this case it will for sure loose material of those dynamic blocks stored in a main dynamic block (I hope you understand). Solution (even though inconvenient) – to place in a drawing a block (not dynamic) made of a file of those blocks which are stored in a main dynamic block (again sound not quite well but I hope you’re following me) I wish to insert and then delete it leaving just its references (not to purge it). It worked till today. I have a new block and it renders fine in a drawing where it is stored. I place it in a tool palettes, insert in a new file – looses materials! It is absolutely the same as other but it looses materials (other doesn’t)! I tried to place a dynamic block directly to a palette! It inserts and renders ok in a new drawing (all confused), doesn’t loose materials! Previous blocks behaved just on the contrary! I’m all confused! I spent sooo much time trying to solve it! But it looks unpredictable! I’d reeealy appreciate your help on short notice! I’m really out of time!
I attach a zip with few drawings. Try to render them separately. Then try to place them in a tool palette as dynamic blocs and insert from a tool palette into a new drawing. Render it, see the difference. Try second variant as I mentioned above. (I don't attach it here - no necessity).
Yeeeah! I've solved that f***ing issue! About 5 such topics with this problem, and on AUGI forums as well - not a single answer how to solve it so far on Autodesk forum!
The problem is that these block that do not render correctly do not include in its block reference RM_SDB shaders! Manually through selecting delete all RM_SDB blocks in the drawing and inside the block editor, purge all materials. In block editor assign new materials. Save block. Check with "Edit block or Xref" if now your block includes RM_SDB (usually at the bottom of the list). If yes, make purge and save! Now it will insert to a new drawing and render as needed. It even works now if your dynamic block consists of several dynamic blocks. Just they have to contain EM_SDB shader!
As I understood RM_SDB is a shader that contains information about materials in the block. If we have block that consist just from elements and we assign 2 materials to it we will see in "Edit block or Xref” 2 RM_SDBs. If in our dynamic block there are elements with 2 materials and one more dynamic block (inside of the main dynamic block) with 1 material, we have to get in "Edit block or Xref” 2 RM_SDBs for elements (2 materials) (see hierarchy structure like in the explorer – folder like), and if we open dynamic block – 1 RM_SDB. These RM_SDBs provide preserving materials when insert it in a new drawing. If you do not have them – you’ll get a mess with materials. And there is trick to get it if you already have a block with no RM_SDBs:
First clear all materials in drawing and in block editor. Then remove any of dynamic blocks inside the block editor. Import materials for material librariess (for example “silver and plastic” materials) to the current drawing. Assign it to appropriate parts (non dynamic) of dynamic block. Thus you will create RM_SDB (as many as many materials assigned – for us 2). We clear materials because in my case somehow there were no RM_SDB for these materials in the drawing. And to make this RM_SDB we have to clear all materials and reassign them. After we finish with assignment of materials and deleted dynamic blocks inside main block we save and exit from block editor. After the make purge command thus deleting references to dynamic blocks inside make block. Check if you see 2 RM_SDBs! Then open block editor again and insert dynamic parts that we initially deleted (but make sure you have RM_SDBs for the as well!). Save and exit from block editor. Check "Edit block or Xref” – there gotta be 2 RM_SDBs for non dynamic elements in a main block and as many RM_SDBs in dynamic block inside main block as many materials it contains. So, the rule is – each block or elements in your dynamic block have to contain RM_SDBs!
If you need some additional information regarding this issue you may contact me - vavalexus@newmail.ru.
Alexei / (vavalexus)
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.