создавать MText, назначить ему Contents и считать получившийся TextБез дополнительной обработки даже это не поможет, символ <> придется менять на считанный размер, это вроде специальный управляющий символ размеров.
Нужно получить текст размера, как его видит пользовательПользователь видит текст размера с форматированием, что противоречит условию задачи.
Не забыть еще o.Dispose() для освобождения памяти.
Единственное, что приходит в голову - создавать MText, назначить ему Contents и считать получившийся Text. Но создавать неуправляемый объект из-за такой ерунды не очень хочется.
Если чертеж большой или много чертежей и размеров к примеру 300.
Оптимальнее будет создать 1 Mtext и работать с ним, чем 300 раз разбивать размеры, а потом вызывать o.Dispose().
Будет принципиальная разница в быстродействии или количестве выделяемой памяти?Функционально разницы не будет.
Очистится только коллекция, объекты, в ней состоящие остаются в памяти?Проверь.
Функция выше, это не то, о чем я писал, объект MText m нужно создать один раз, а не на каждый размерНу я как бы это и спрашиваю, вот у нас например 300 объектов, насколько сильно будет различаться быстродействие этих двух вариантов?
Проверь.Проверил - o.Dispose() вообще не доступно поскольку у класса System.Object нет такого метода) Что бы освободить память надо было проходить по коллекции как по объектам DBObject, и да, если записать этот текст в Object то после выхода из транзакции можно будет с ним работать, а так как Object это вроде бы ссылочный тип то текст таки остается неочищенным. Надеюсь хоть после отработки программы в автокаде это все подчищается, а то чую придется проводить ревизию старых проектов, работают вроде бы без проблем, но вот подчисткой после .Explode() я никогда не занимался.
вот у нас например 300 объектов, насколько сильно будет различаться быстродействие этих двух вариантов?1. врятли кто-то озадачивался именно такой задачей и замерял время.
2. Создать расширение для строки, которое снесет все форматирование.Спасибо за код. Самому такую гору кода писать конечно лень, но раз уже написан - попробовал использовать. В основном работает, но пришлось добавить строчку: