doc.TransactionManager.StartTransaction();
и 64doc.TransactionManager.StartTransaction();
опечатки, не с документом (doc) транзакция, а с базой (db)
так работаетAutodesk.AutoCAD.ApplicationServices.TransactionManager наследник Autodesk.AutoCAD.DatabaseServices.TransactionManager. Так что в данном случае можно использовать любой из них. Но если бы тебе понадобилось вызвать TransactionManager.FlushGraphics(), то doc.TransactionManager.FlushGraphics(), а не doc.Database.TransactionManager.FlushGraphics()
Код - C# [Выбрать]
Transaction tr = doc.Database.TransactionManager.StartTransaction();
или так
Код - C# [Выбрать]
Transaction tr = Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction();
Импортозамещение на нанотехнологииУ нас на форуме это не обсуждается!
По задумке должен менять цвет только примитивам внутри блоков имеющих вхождения в ModelSpaceДа. Можно было бы сделать проще. Просто пройти по всем BlockTableRecord в BlockTable и менять цвет для всех Entity в BlockTableRecord. После этого выполнить Editor.Regen(). Тут и рекурсия не нужна.
Возможно слегка за рамками этого топа.Поэтому создай для этого вопроса отдельную тему.