Get references to external files

How to get references to external files

Issue: How to get references to external files (CADNET-110).

Tips: To get references to external files for drawings in the entity block there is an XRef PathName field for raster images CadRasterImage Def is used for external underlay CadDgnUnderlay is used and its UnderlayPath field.

Example:

External drawing:
foreach (CadBaseEntity baseEntity in image.Entities)
{
// if entity is a block
if (baseEntity.TypeName == CadEntityTypeName.INSERT)
{
CadInsertObject insert = (CadInsertObject)baseEntity;
CadBlockEntity block = image.BlockEntities[insert.Name];
// get external reference to object
System.Console.WriteLine(block.XRefPathName);
}
}
External raster image:
foreach (CadBaseObject baseObject in image.Objects)
{
// if entity is an image definition
if (baseObject.TypeName == CadObjectTypeName.IMAGEDEF)
{
CadRasterImageDef rasterImageDef = (CadRasterImageDef)baseObject;
// get external reference to object
System.Console.WriteLine(rasterImageDef.FileName);
}
}
External underlay:
foreach (CadBaseEntity baseEntity in cadImage.Entities)
{
if (baseEntity.TypeName == CadEntityTypeName.DGNUNDERLAY) // or DWFUNDERLAY, or PDFUNDERLAY
{
CadDgnUnderlay dgnFile = (CadDgnUnderlay)baseEntity; // or CadDwfUnderlay, or CadPdfUnderlay
System.Console.WriteLine(dgnFile.UnderlayPath);
}
}