Этот код дает мне вывод всех штриховок на моем чертеже, но текст перезаписан означает, что выход перезаписан, как я могу преодолеть эту проблему?
[CommandMethod("FindAllHatches")] public static void FindAllHatches() { Document acDoc = Application.DocumentManager.MdiActiveDocument; acDoc.Editor.WriteMessage("\nSearching for Hatches"); var db = acDoc.Database; using (Transaction transaction = db.TransactionManager.StartTransaction()) { ObjectId idModelSpace = SymbolUtilityServices.GetBlockModelSpaceId(db); BlockTableRecord modelSpace = transaction.GetObject(idModelSpace, OpenMode.ForRead) as BlockTableRecord; foreach (var objId in modelSpace) { var entity = transaction.GetObject(objId, OpenMode.ForRead); Hatch hatch = entity as Hatch; if (hatch == null) continue; //not hatch acDoc.Editor.WriteMessage("\nFound Hatch Area={0}", hatch.Area); } } }
Что я уже пробовал:
Попробуйте сгенерировать выходные данные вертикально, чтобы каждая область отображалась отдельно
@j@y123
пространство имен allhatch
{
публичный класс Class1
{
[CommandMethod ("ха")]
public static void FindAllHatches()
{
Документ acDoc = приложение.Класс documentmanager.MdiActiveDocument;
acDoc.Редактор.Метода writemessage("\nSearching для люков");
var db = acDoc. Database;
используя (транзакций = дБ.Вопросы.Starttransaction тогда())
{
ObjectId idModelSpace = SymbolUtilityServices.GetBlockModelSpaceId(db);
BlockTableRecord modelSpace = транзакция.GetObject(idModelSpace, OpenMode.ForWrite) как
BlockTableRecord;
по каждому элементу (ВАР, находящемуся в моделях)
{
var entity = транзакция.Функция getobject (, находящемуся, параметр openmode.ForRead);
Люк Люк = сущность как Люк;
if (hatch = = null)
продолжить; / / не Люк
MText actext = новый MText();
actext.SetDatabaseDefaults();
actext.Высота = 16;
actext.Ширина = 2;
actext. Contents = ("\n область штриховки = " + hatch. Area);
acDoc.Редактор.WriteMessage ("\n область штриховки: "+ hatch. Area);
модельное пространство.AppendEntity(actext);
операция.AddNewlyCreatedDBObject(actext, true);
}
операция.Совершать();
}
}
}
}
@j@y123
Это весь код для того же самого