C3D-GEOCHECK · Check for aerial/geo image (read-only) done
Scan model space for raster/image entities behind the points.
C# payload
// READ-ONLY: is a geolocation/aerial image live in this drawing?
using System;
using Autodesk.AutoCAD.DatabaseServices;
var db = Db;
using (var tr = db.TransactionManager.StartTransaction())
{
// look for RasterImage entities (aerial tiles) or an underlay
var ms = (BlockTableRecord)tr.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(db), OpenMode.ForRead);
int rasters = 0;
foreach (ObjectId id in ms)
{
var e = tr.GetObject(id, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity;
if (e == null) continue;
if (e.GetType().Name.IndexOf("Raster", StringComparison.OrdinalIgnoreCase) >= 0
|| e.GetType().Name.IndexOf("Image", StringComparison.OrdinalIgnoreCase) >= 0)
{ rasters++; Log($" {e.GetType().Name} on layer '{e.Layer}' h={e.Handle}"); }
}
Log($"raster/image entities in model space: {rasters}");
tr.Commit();
}
Result
Log
raster/image entities in model space: 0
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.