Для сокращения вопроса даю не полный код.Зря.
Надеюсь для понимания проблемы этого шаблонаНет.
кода будет достаточно.
2) Где правильнее делать tr.commit в теле цикла for..Next или в конце блока Using?в конце блока Using конечно-же
Откуда берутся примитивы, которые ты добавляешь?Примитивы я создаю динамическим выделением памяти в других подпрограммах
в конце блока Using конечно-жеНу вообщем-то у меня и было сделано в конце блока Using,
не хватает tr.AddNewlyCreatedDBObject(ent, true);
не хватает tr.AddNewlyCreatedDBObject(ent, true);В полной версии кода это строка есть.
все типы элементов прокатывают, только для типа элемента MLeader такая ошибка (использую acad 2012)Ну например добавляешь не в текущую базу. Или в нём есть какие-то ссылки на посторонние базы.
Возможно не хватает этого:Скорее даже вот такого:
MLeader leader = new MLeader();
leader.SetDatabaseDefaults();
но без кода - никуда))
MLeader leader = new MLeader();
leader.SetDatabaseDefaults();
leader.SetDatabaseDefaults(db);Блин а вот такой строки у меня нет
Блин а вот такой строки у меня нетТы добавляешь в текущую базу?
У меня просто без db
leader.SetDatabaseDefaults()
Ты добавляешь в текущую базу?
Я добавляю открываемую методом ReadDWGFile(...)Значит нужно использовать leader.SetDatabaseDefaults(db) с этой базой.
Ура!
Убрал из кода создания выноски
строку
leader.SetDatabaseDefaults()
и все заработало!