public void selectBlock(string blockName)
{
BlockTableRecord btr = null;
Editor ed = doc.Editor;
using (tr = db.TransactionManager.StartTransaction())
{
BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForWrite);
foreach (ObjectId objId in bt)
{
btr = (BlockTableRecord)tr.GetObject(objId, OpenMode.ForWrite);
if (blockName == btr.Name)
{
TypedValue[] tvs = new TypedValue[] {
new TypedValue(
(int)DxfCode.Operator,
"<or"
),
new TypedValue (
(int)DxfCode.BlockName,
btr.Name
),
new TypedValue(
(int)DxfCode.Operator,
"or>"
)
};
SelectionFilter sf = new SelectionFilter(tvs);
PromptSelectionResult psr = ed.SelectAll(sf);
ed.WriteMessage("\nFound {0} entit{1}.", psr.Value.Count, (psr.Value.Count == 1 ? "y" : "ies"));
}
}
}
}
public void SelectBlock(string blockName)
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
using (Transaction tr = db.TransactionManager.StartTransaction())
{
ObjectIdCollection ids;
BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);
foreach (ObjectId objId in bt)
{
BlockTableRecord btr = (BlockTableRecord)tr.GetObject(objId, OpenMode.ForRead);
if (btr.Name == blockName)
{
ids = btr.GetBlockReferenceIds(true, false);
ed.WriteMessage("\nFound {0} entit{1}", ids.Count, (ids.Count == 1 ? "y" : "ies"));
}
}
}
}
ed.SetImpliedSelections(ids);
?
public void selectBlock2(string blockName)
{
Database db = HostApplicationServices.WorkingDatabase;
Document doc = Application.DocumentManager.MdiActiveDocument;
Editor ed = doc.Editor;
TypedValue[] tvs = new TypedValue[] {
new TypedValue(0, "INSERT"),
new TypedValue(2, blockName)
};
SelectionFilter sf = new SelectionFilter(tvs);
PromptSelectionResult psr = ed.SelectAll(sf);
if (psr.Status == PromptStatus.OK)
{
ed.SetImpliedSelection(psr.Value.GetObjectIds());
}
}
public void explodeBlock(string blockName)
{
Editor ed = doc.Editor;
using (tr = db.TransactionManager.StartTransaction())
{
BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead, false, true);
if (bt.Has(blockName)) {
ObjectId btrid = bt[blockName];
if (!btrid.IsEffectivelyErased) {
BlockTableRecord btr = (BlockTableRecord)tr.GetObject(btrid, OpenMode.ForRead, false, true);
ObjectIdCollection brefIds = btr.GetBlockReferenceIds(true, false);
foreach (ObjectId objid in brefIds) {
BlockReference br = (BlockReference)tr.GetObject(objid, OpenMode.ForWrite);
br.ExplodeToOwnerSpace();
}
}
}
}
}
Code - C#: [Select]
public void explodeBlock(string blockName) { Editor ed = doc.Editor; using (tr = db.TransactionManager.StartTransaction()) { //>>>>>>>>>>>>