Подгрузить внешнюю ссылку AutoCad 2016

Автор Тема: Подгрузить внешнюю ссылку AutoCad 2016  (Прочитано 3783 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Добрый день!
Есть код, корректно работающий в автокад 2019, решил опробовать его в автокад 2016 и ни в какую.. может что-то упускаю
выдает ошибку eFileAccessErr, обычно это проходит после LockDocument()

Код - C# [Выбрать]
  1. Document doc = Application.DocumentManager.MdiActiveDocument;
  2. Database db = doc.Database;
  3.  
  4.             using (DocumentLock dl = doc.LockDocument())
  5.             {
  6.                 using (Transaction tr = db.TransactionManager.StartTransaction())
  7.                 {
  8.                     string fullName = @"D:\1.dwg";
  9.                     string name = Path.GetFileNameWithoutExtension(fullName);
  10.                     BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
  11.                     ObjectId xRefId = db.AttachXref(fullName, name);//в этом месте ошибка eFileAccessErr
  12.  
  13.                     using (BlockReference blkRef = new BlockReference(Point3d.Origin, xRefId))
  14.                     {
  15.                         BlockTableRecord modelBtr = tr.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(db), OpenMode.ForWrite) as BlockTableRecord;
  16.                         modelBtr.AppendEntity(blkRef);
  17.                         tr.AddNewlyCreatedDBObject(blkRef, true);
  18.                     }
  19.  
  20.                     tr.Commit();
  21.                 }
  22.             }

Отмечено как Решение simson43 15-03-2019, 09:32:12

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подгрузить внешнюю ссылку AutoCad 2016
« Ответ #1 : 14-03-2019, 17:58:54 »
simson43,
dwg-файл сохранён в формате какой версии???
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Подгрузить внешнюю ссылку AutoCad 2016
« Ответ #2 : 14-03-2019, 18:04:54 »
Он только созданный.. ещё не сохраненный. А вообще стоит 2013 в настройках в обоих автокадах

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подгрузить внешнюю ссылку AutoCad 2016
« Ответ #3 : 14-03-2019, 18:06:01 »
Он только созданный.. ещё не сохраненный.
Я про файл @"D:\1.dwg"
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Подгрузить внешнюю ссылку AutoCad 2016
« Ответ #4 : 14-03-2019, 18:07:39 »
Так как стоит 2013 в настройках везде, то такой и должен быть, но все возможно, понял, проверю.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подгрузить внешнюю ссылку AutoCad 2016
« Ответ #5 : 14-03-2019, 18:08:59 »
simson43,
Заодно убери:
Код - C# [Выбрать]
  1. BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
P.S.: Ну и надеюсь, что @"D:\1.dwg" не открыт в AutoCAD как отдельный документ или просто как база.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Подгрузить внешнюю ссылку AutoCad 2016
« Ответ #6 : 14-03-2019, 18:11:19 »
Да это для чего то в коде нужно, не прибрал просто)
Спасибо

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подгрузить внешнюю ссылку AutoCad 2016
« Ответ #7 : 14-03-2019, 18:12:19 »
Да это для чего то в коде нужно, не прибрал просто)
Спасибо
И? Что-то помогло, раз ты отметил мой ответ как решение?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Подгрузить внешнюю ссылку AutoCad 2016
« Ответ #8 : 14-03-2019, 18:12:36 »
Ну и надеюсь, что @"D:\1.dwg" не открыт в AutoCAD как отдельный документ или просто как база.
Ну нет

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Подгрузить внешнюю ссылку AutoCad 2016
« Ответ #9 : 14-03-2019, 18:13:06 »
Позже проверю
Случайно отметил, убрал отметку

Оффлайн simson43Автор темы

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Подгрузить внешнюю ссылку AutoCad 2016
« Ответ #10 : 15-03-2019, 09:32:05 »
simson43,
dwg-файл сохранён в формате какой версии???
вы были правы, дело в версии!
Спасибо)