Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: simson43 от 19-11-2018, 11:47:49

Название: вставка внешней ссылки
Отправлено: simson43 от 19-11-2018, 11:47:49
Добрый день.
как вставить внешнюю ссылку с полным путем?

делаю например так
Код - C# [Выбрать]
  1. ObjectId xRefId = db.OverlayXref(@"D:\Чертеж2.dwg", name);
встает с относительным.
Название: Re: вставка внешней ссылки
Отправлено: Александр Ривилис от 19-11-2018, 17:43:41
Версия AutoCAD 2018 или 2019?
Название: Re: вставка внешней ссылки
Отправлено: simson43 от 19-11-2018, 17:55:45
19
Название: Re: вставка внешней ссылки
Отправлено: Александр Ривилис от 19-11-2018, 18:00:16
Код - C# [Выбрать]
  1. [CommandMethod("TestOverlayXref")]
  2. public void MyCommand() // This method can have any name
  3. {
  4.   // Put your command code here
  5.   Document doc = Application.DocumentManager.MdiActiveDocument;
  6.   if (doc == null) return;
  7.   Editor ed = doc.Editor;
  8.   Database db = doc.Database;
  9.   object refPathDef = 0;
  10.   if (Application.Version.Major >= 22) {
  11.     refPathDef = Application.GetSystemVariable("REFPATHTYPE");
  12.     Application.SetSystemVariable("REFPATHTYPE", 2);
  13.   }
  14.   ObjectId idXref = db.OverlayXref(@"D:\Чертеж2.dwg", "Чертеж2");
  15.   if (Application.Version.Major >= 22) {
  16.     Application.SetSystemVariable("REFPATHTYPE", refPathDef);
  17.   }
  18. }

Системная переменная REFPATHTYPE (https://knowledge.autodesk.com/ru/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2018/RUS/AutoCAD-Core/files/GUID-CCC90130-7575-4901-8905-FBB4553DAA3F-htm.html)
Название: Re: вставка внешней ссылки
Отправлено: simson43 от 19-11-2018, 18:02:47
Это только для 19? Хотелось бы чтоб и на других работало.
Где подробнее об этом почитать бы. Или я опять плохо гуглю
Название: Re: вставка внешней ссылки
Отправлено: Александр Ривилис от 19-11-2018, 18:04:06
Это только для 19?
Это для 2018 и 2019. Посмотри описание переменной. Мой код учитывает версию.
Название: Re: вставка внешней ссылки
Отправлено: simson43 от 19-11-2018, 18:06:24
Хорошо. Спасибо!
Т е нет никакого свойства отвечающего за тип пути?
Название: Re: вставка внешней ссылки
Отправлено: Александр Ривилис от 19-11-2018, 18:28:21
Т е нет никакого свойства отвечающего за тип пути?
Не понял. О чем ты? После того как ты вставил внешнюю ссылку, ты можешь поменять путь с относительного на абсолютный, т.е. вместо ".\\Чертеж2.dwg" сделать "D:\\Чертеж2.dwg". Отдельного свойства, говорящего о том какой тип пути (относительный или абсолютный) нет.
Название: Re: вставка внешней ссылки
Отправлено: simson43 от 19-11-2018, 20:45:10
Разобрался помогло спасибо!
А до автокад 2018 все вставляется с полным путем и так?
Название: Re: вставка внешней ссылки
Отправлено: simson43 от 21-11-2018, 16:26:05
т е в 2016 автокаде, например,  я не смогу добавить внешнюю ссылку с относительным путем?
Название: Re: вставка внешней ссылки
Отправлено: Александр Ривилис от 21-11-2018, 18:25:34
т е в 2016 автокаде, например,  я не смогу добавить внешнюю ссылку с относительным путем?
Изучай: https://through-the-interface.typepad.com/through_the_interface/2015/11/creating-autocad-xrefs-as-overlays-with-relative-paths-using-net.html
Название: Re: вставка внешней ссылки
Отправлено: simson43 от 21-11-2018, 20:00:31
Еще раз спасибо)