Динамически блоки с операцией Растянуть (Stretch)
Средствами API невозможно создать динамический блок с операцией Растяни.
Одним из возможных путей обойти это ограничение – это создать набор чертежей с динамическими блоками. Эти чертежи должны быть созданы с использованием пользовательского интерфейса AutoCAD. Такие рисунки можно вставить при необходимости в любой другой чертеж с использованием AutoCAD API.
Чтобы создать такие чертежи при помощи пользовательского интерфейса AutoCAD нужно сделать следующее:
1) Откройте новый чертеж и создайте динамический блок (назовём его «Дверь») с несколькими операциями Растяни.
2) Выполните команду ПБЛОК (WBLOCK) в редакторе AutoCAD, выберите «Дверь» из раскрывающегося списка и укажите путь к новому чертежу (назовём его DoorDynBlock.dwg).
Динамический блок будет записан в файл "DoorDynBlock.dwg" как отдельный элемент.
Новый чертеж ("DoorDynBlock.dwg") может быть вставлен в любой другой чертеж как динамический блок с операциями Растянуть.
Ниже пример кода и пример чертежа:
- [CommandMethod("InsertDynBlock", CommandFlags.Session)]
- public void InsertDynBlockMethod()
- {
- try
- {
- Document activeDoc
- = Application.DocumentManager.MdiActiveDocument;
- using (DocumentLock dl = activeDoc.LockDocument())
- {
- Database db = activeDoc.Database;
- string dynBlockDwgPath
- = @"C:\Temp\DynBlockWithStretchActions.dwg";
- using (Database dynBlkDb = new Database(false, true))
- {
- dynBlkDb.ReadDwgFile(
- dynBlockDwgPath,
- System.IO.FileShare.Read,
- true,
- ""
- );
- db.Insert("TestDyn", dynBlkDb, true);
- }
- }
- }
- catch (System.Exception ex)
- {
- Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(ex.Message);
- }
- }
Загрузить файл DynBlockWithStretchActions.dwg
Источник: http://adndevblog.typepad.com/autocad/2013/02/dynamic-block-with-stretch-action.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=188
Опубликовано 26.08.2013