Document doc = AcadApp.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
using (doc.LockDocument())
{
using (Transaction tr = db.TransactionManager.StartTransaction())
{
BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
DBObjectCollection objs
= new DBObjectCollection
(); BlockTableRecord btr = tr.GetObject(bt[blkName], OpenMode.ForWrite) as BlockTableRecord;
// blkName = BlockReference name
foreach (ObjectId objID in btr)
{
DBObject obj = tr.GetObject(objID, OpenMode.ForRead) as DBObject;
{
Entity acEnt = obj as Entity;
acEnt.UpgradeOpen();
// change color, linetype
}
}
// Update existing block references
foreach (ObjectId objID in btr.GetBlockReferenceIds(false, true))
{
BlockReference acBlkRef = tr.GetObject(objID, OpenMode.ForWrite) as BlockReference;
acBlkRef.RecordGraphicsModified(true);
}
tr.Commit();
}
}