.NET

Reply
Active Contributor
dheselwood
Posts: 35
Registered: ‎11-17-2003
Message 1 of 3 (424 Views)

Purging

424 Views, 2 Replies
01-19-2010 03:56 AM
Need a bit of help with purging materials from a drawing. I have managed to purge all items within a named object table like layers and blocks but those in the Named Object dictionary table are confusing me a little.

Do I need to itterate through the named objects dictionarys to get the AEC_MATERIAL_DEFS dictionary then purge the contents from there?

Thanks for any help.
Daniel
*Expert Elite*
_gile
Posts: 2,077
Registered: ‎04-29-2006
Message 2 of 3 (424 Views)

Re: Purging

01-19-2010 04:27 AM in reply to: dheselwood
Hi,

This will purge all non referenced materials

{code}ObjectIdCollection ids = new ObjectIdCollection();
using (Transaction tr = db.TransactionManager.StartTransaction())
{
DBDictionary matDict = (DBDictionary)tr.GetObject(db.MaterialDictionaryId, OpenMode.ForRead, false);
foreach (DBDictionaryEntry entry in matDict)
{
string key = entry.Key;
if ((key != "ByBlock") && (key != "ByLayer") && (key != "Global"))
ids.Add(entry.Value);
}
db.Purge(ids);
foreach (ObjectId id in ids)
{
DBObject obj = (DBObject)tr.GetObject(id, OpenMode.ForWrite);
obj.Erase();
}
tr.Commit();
}{code} Edited by: _gile on Jan 19, 2010 1:28 PM
Gilles Chanteau
Active Contributor
dheselwood
Posts: 35
Registered: ‎11-17-2003
Message 3 of 3 (424 Views)

Re: Purging

01-19-2010 04:33 AM in reply to: dheselwood
I see, you can directly access the materialdictionaryID - I thought it would need itterating through each named dictionary to find the materials dictionary.

Thanks Gile.

You are not logged in.

Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.

Need installation help?

Start with some of our most frequented solutions to get help installing your software.

Ask the Community