private static Handle? hnd = null;
[CommandMethod("zoomxref")]
public void zoomxref()
{
hnd = null;
var pneo
= new PromptNestedEntityOptions
("\nSelect xref object"); var pner = Ed.GetNestedEntity(pneo);
if (pner.Status != PromptStatus.OK)
{
return;
}
var id = pner.ObjectId;
if (id.Database.UnmanagedObject == Db.UnmanagedObject)
{
Ed.WriteLine("Select xref object");
return;
}
foreach (ObjectId conId in pner.GetContainers())
{
if (conId.Database.UnmanagedObject == pner.ObjectId.Database.UnmanagedObject)
{
id = conId;
}
}
using (Transaction trx = Doc.TransactionManager.StartTransaction())
{
var ent = id.GetEntity();
hnd = ent.Handle;
trx.Commit();
}
var doc = Application.DocumentManager.Open(pner.ObjectId.Database.Filename, false);
doc.SendStringToExecute("zoomxrefobject ", true, false, false);
}
[CommandMethod("zoomxrefobject", CommandFlags.NoHistory)]
public void zoomxrefobject()
{
if (!hnd.HasValue) return;
var id = Db.GetObjectId(false, (Handle)hnd, 0);
var ss
= SelectionSet
.FromObjectIds(new ObjectId
[] { id
}); Ed.Command("_Zoom", "_Object", ss, "");
}