Active Contributor
Posts: 47
Registered: ‎03-16-2012
Message 1 of 2 (188 Views)

Reg: How to get the unreferenced image in dwg.

188 Views, 1 Replies
01-08-2013 07:06 AM

How to get the unreferenced image in dwg?using DB.ReadDWGFile Method .Do any one have sample ?? :smileyindifferent:

With Regards,
*Expert Elite*
Posts: 2,104
Registered: ‎04-29-2006
Message 2 of 2 (163 Views)

Re : Reg: How to get the unreferenced image in dwg.

01-08-2013 09:54 AM in reply to: varadan01



You can get the Raster definitions from the ACAD_IMAGE_DICT dictionary and use the Database.Purge() method to get the unreferenced ones.


Here's a little sample:


        public void Test()
            Document doc = AcAp.DocumentManager.MdiActiveDocument;
            Database db = doc.Database;
            Editor ed = doc.Editor;

            using (Database sideDb = new Database())
                sideDb.ReadDwgFile(@"C:\Temp\ImagesTest.dwg", System.IO.FileShare.ReadWrite, false, "");
                using (Transaction tr = sideDb.TransactionManager.StartTransaction())
                    DBDictionary NOD =
                        (DBDictionary)tr.GetObject(sideDb.NamedObjectsDictionaryId, OpenMode.ForRead);
                    if (NOD.Contains("ACAD_IMAGE_DICT"))
                        DBDictionary imgDict =
                            (DBDictionary)tr.GetObject((ObjectId)NOD["ACAD_IMAGE_DICT"], OpenMode.ForRead);
                        ObjectIdCollection ids = new ObjectIdCollection();
                        foreach (DBDictionaryEntry entry in imgDict)
                        foreach (DBDictionaryEntry entry in imgDict)
                            if (ids.Contains(entry.Value))
                                ed.WriteMessage("\n" + entry.Key);


Gilles Chanteau
Post to the Community

Have questions about Autodesk products? Ask the community.

New Post
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.