ok...solved.
foreach (Handle h in lstQuote)
{
using (Dimension dime = B2UtilCad.B2Entity.b2Entity.GetObjectFromObjectId(d, h, OpenMode.ForRead) as Dimension)
{
IdMapping myMap = new IdMapping();
ObjectIdCollection myObjs = new ObjectIdCollection();
using (Transaction t = dbSezioni.TransactionManager.StartTransaction())
{
BlockTable myBT = dbSezioni.BlockTableId.GetObject(OpenMode.ForWrite) as BlockTable;
BlockTableRecord myBTR = myBT[BlockTableRecord.ModelSpace].GetObject(OpenMode.ForWrite) as BlockTableRecord;
dbSezioni.WblockCloneObjects(myObjs, myBTR.ObjectId, myMap, DuplicateRecordCloning.Replace, false);
myObjs.Dispose();
t.Commit();
}
}
lstHnDaSezioneComplessiva.Add(h);
}
private void EsportaSezioneInAltroDB(Document docOrigine, IList<Handle> lstHn, Database dbSezioni, Point3d ptins)
{
try
{
ObjectIdCollection objIdColl = new ObjectIdCollection();
foreach(Handle hn in lstHn)
{
ObjectId id = B2UtilCad.B2Entity.b2Entity.GetHandleAsObjectID(docOrigine,hn);
objIdColl.Add(id);
}
docOrigine.Database.Wblock(dbSezioni, objIdColl, ptins, DuplicateRecordCloning.Ignore);
objIdColl.Dispose();
}
catch(Autodesk.AutoCAD.Runtime.Exception ex)
{
System.Diagnostics.Trace.WriteLine("errore EsportaSezioneInAltroDB "+ ex.Message);
throw ex;
}
}
Edited by Daniel: added code tags