Александр, огромное спасибо за ссылку на пример, пытаюсь разобраться и почему-то не получается добавить multiviewblockreference в model space. Скомпилировал пример запустил его, до ввода точки блок таскаетя за курсором и даже поворачивается при изменении угла rotation, но почему-то после указания или ввода координат точки исчезает и не добавляется в пространство модели.
Не совсем понимаю механизм вот этой транзакции:
Using Trans As AcadDbServices.Transaction = Db.TransactionManager.StartTransaction
EntityToDrag.Location = CurrentCursorPosition
Dim Bt As AcadDbServices.BlockTable = Trans.GetObject(Db.BlockTableId, Autodesk.AutoCAD.DatabaseServices.OpenMode.ForRead, False)
Dim Btr As AcadDbServices.BlockTableRecord = Trans.GetObject(Bt(AcadDbServices.BlockTableRecord.ModelSpace), Autodesk.AutoCAD.DatabaseServices.OpenMode.ForWrite, False)
Btr.AppendEntity(EntityToDrag)
Trans.AddNewlyCreatedDBObject(EntityToDrag, True)
Trans.Commit()
End Using
Кстати на форуме тоже самое, там почему-то блок не добавляется в model space
upd:
Нашел еще одну ссылку
http://forums.autodesk.com/t5/AutoCAD-Architecture/MVBlock-and-jig/m-p/2000890#M12655на этом же форуме (кстати хороший форум!), разбираюсь пока.
upd:
Код по второй ссылке работает, если внести соответсвующие исправления связанные с глюком в 2006 версии, который исправили в 2007, смысл транзакции теперь стал понятен.
Спасибо Александр, за наводку!