Проект по продвижению BIM-комплементарных решений на российском рынке
0 Пользователей и 3 Гостей просматривают эту тему.
Единственное, что смущает - частое использование ed.Regen(); Не вызовет ли это "тормоза" когда объектов в модели будет очень много?
RecordGraphicsModified пробовали? FlushGraphics?
Или начальное содержимое текста сохранять в переменной, очищать его и потом уже пустым передавать в InplaceTextEditor. Если text.IsModified не выполняется - восстановить исходное значение
Вызовет. Зависит от чертежа, конечно.
или RecordGraphicsModified плюс QueueForGraphicsFlush
но (!!!) для всех вставок этого блока и не внутри транзакции
Вся проблема у меня был в том, что я метод RecordGraphicsModified вызывал с аргументом false, а надо было true (кстати, в чем разница?)
Что самое интересное - работает и так:Код - C# [Выбрать]selectedBlock.RecordGraphicsModified(true);doc.TransactionManager.FlushGraphics();и так:Код - C# [Выбрать]selectedBlock.RecordGraphicsModified(true);db.TransactionManager.QueueForGraphicsFlush();Лично для меня не ясно в чем разница этих методов
Цитата: Александр Пекшев aka Modis от 12-03-2018, 18:15:36Вся проблема у меня был в том, что я метод RecordGraphicsModified вызывал с аргументом false, а надо было true (кстати, в чем разница?)Разница в том, что при false ты отмечал, что графика не менялась, а при true отмечаешь, что она изменилась. Соответственно TransactionManager.QueueForGraphicsFlush() делать было нечего - чего перерисовывать если графика не меняется.
Я не понял - как я это могу сделать НЕ внутри транзакции?
Тогда логичный вопрос - в каких случаях нужно false? Зачем это?