.NET

Reply
Valued Contributor
RamanSBV
Posts: 88
Registered: ‎02-28-2012
Message 1 of 3 (162 Views)
Accepted Solution

Getting the Attach Images file details

162 Views, 2 Replies
08-27-2012 03:12 AM

Hi,

 

 

Please guide me

 

For retrieving information about attach DWG file there is a API call "db.GetHostDwgXrefGraph(true)"

 

Similarly is there any API call for Attach Image files

 

Regards,

Raman

 

 

 

Here is a code I've found in my code library,

change it to your needs:

 

 [CommandMethod("ImageName")]
public void GetImageFileName()
{
Document doc=Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed= doc.Editor;
ErrorStatus es = new ErrorStatus();
try
{
using (Transaction tr = db.TransactionManager.StartTransaction())
{
ObjectId imageDictId = RasterImageDef.GetImageDictionary(db);
DBDictionary imageDict = tr.GetObject(imageDictId, OpenMode.ForRead) as DBDictionary;
ObjectId rasterId = ed.GetEntity("\nSelect an image: ").ObjectId;
RasterImage image = tr.GetObject(rasterId, OpenMode.ForRead) as RasterImage;
ObjectId imageDefId = imageDict.GetAt(image.Name);
RasterImageDef imageDef = tr.GetObject(imageDefId, OpenMode.ForWrite) as RasterImageDef;
string filename = imageDef.ActiveFileName;
Application.ShowAlertDialog(filename);
tr.Commit();
}
}
catch (Autodesk.AutoCAD.Runtime.Exception ex)
{
Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage
(ex.Message + "\n" + ex.StackTrace);
}
finally
{
ed.WriteMessage("\n{0}", es.ToString());
}
}

 

~'J'~

ADN Support Specialist
philippe.leefsma
Posts: 631
Registered: ‎06-02-2009
Message 2 of 3 (141 Views)

Re: Getting the Attach Images file details

08-28-2012 01:33 AM in reply to: RamanSBV

Hi There,

 

You can use the static API "RasterImageDef.GetImageDictionary".

 

This will return the id of the RasterImage dictionary. Iterating through its record will give you access to the "RasterImageDef" objects.

 

Regards,

Philippe.



Philippe Leefsma
Developer Technical Services
Autodesk Developer Network

*Expert Elite*
Hallex
Posts: 1,569
Registered: ‎10-08-2008
Message 3 of 3 (135 Views)

Re: Getting the Attach Images file details

08-28-2012 04:58 AM in reply to: RamanSBV

Here is a code I've found in my code library,

change it to your needs:

 

        [CommandMethod("ImageName")]

        public void GetImageFileName()
        {
            Document doc=Application.DocumentManager.MdiActiveDocument;
            Database db = doc.Database;
            Editor ed= doc.Editor;
            ErrorStatus es = new ErrorStatus();
              try
                {
                    using (Transaction tr = db.TransactionManager.StartTransaction())
                    {

                        ObjectId imageDictId = RasterImageDef.GetImageDictionary(db);
                        DBDictionary imageDict = tr.GetObject(imageDictId, OpenMode.ForRead) as DBDictionary;
                        ObjectId rasterId = ed.GetEntity("\nSelect an image: ").ObjectId;
                        RasterImage image = tr.GetObject(rasterId, OpenMode.ForRead) as RasterImage;
                        ObjectId imageDefId = imageDict.GetAt(image.Name);
                        RasterImageDef imageDef = tr.GetObject(imageDefId, OpenMode.ForWrite) as RasterImageDef;
                        string filename = imageDef.ActiveFileName;
                        Application.ShowAlertDialog(filename);

                        tr.Commit();

                    }
               }
            
            catch (Autodesk.AutoCAD.Runtime.Exception ex)
            {
                Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage
                    (ex.Message + "\n" + ex.StackTrace);
            }
            finally
            {
                ed.WriteMessage("\n{0}", es.ToString());
            }
        }

 

~'J'~

_____________________________________
C6309D9E0751D165D0934D0621DFF27919
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 or visit the Installation and Licensing Forum to get help installing your software.