bonjour Je souhaite supprimer du dessin (pas purger) toutes les références de blocs dont le nom est "LEGENDE". j'applique ce code, mais rien ne se passe : public static void KillLegendes(Database db, Editor ed)
{
List<BlockAttribute> result = new List<BlockAttribute>();
using (Transaction tr = db.TransactionManager.StartTransaction())
{
BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);
foreach (ObjectId id in bt)
{
BlockTableRecord btr = (BlockTableRecord)tr.GetObject(id, OpenMode.ForRead);
if (!(btr.IsAProxy || btr.IsFromExternalReference || btr.IsLayout))
{
foreach (ObjectId brId in btr.GetBlockReferenceIds(true, false))
{
BlockReference br = (BlockReference)brId.GetObject(OpenMode.ForWrite);
BlockTableRecord owner = (BlockTableRecord)br.OwnerId.GetObject(OpenMode.ForRead);
if (owner.IsLayout)
{
if (btr.Name.ToLower() == "legende")
{
br.Erase(true);
}
}
}
}
}
}
} Avez-vous une idée ? Merci