Поменять путь для pdf как правильно?

Автор Тема: Поменять путь для pdf как правильно?  (Прочитано 8502 раз)

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

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

  • ADN OPEN
  • Сообщений: 22
  • Карма: 0
При загрузке dwg нужно проверить конкретную pdf-подложку и, если необходимо, изменить имя файла для нее.
Пробую это делать в dwgFileOpened. Все бы хорошо, но при выполнении pPdf->setSourceFileName(...) Автокад сначала ищет по диску предыдущий файл.
Есть более правильный вариант для такой операции?
И еще, (пока не встречалось, но пользователи же изобретательные. :) )  Как правильно сделать то же самое, если dwg включен как xref в другой dwg?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поменять путь для pdf как правильно?
« Ответ #1 : 12-12-2016, 19:13:04 »
Все бы хорошо, но при выполнении pPdf->setSourceFileName(...) Автокад сначала ищет по диску предыдущий файл.
В смысле ищет в ReadDwgFile?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 22
  • Карма: 0
Re: Поменять путь для pdf как правильно?
« Ответ #2 : 12-12-2016, 19:37:18 »
Все бы хорошо, но при выполнении pPdf->setSourceFileName(...) Автокад сначала ищет по диску предыдущий файл.
В смысле ищет в ReadDwgFile?
Нет, ищет в момент выполнения setSourceFileName. До вызова этой функции обращений к pdf-файлу еще не производилось. Смотрю в ProcessMonitor.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поменять путь для pdf как правильно?
« Ответ #3 : 12-12-2016, 19:51:19 »
Ну в любом случае изменить имя файла ты можешь только этим методом. А управлять тем, что "Автокад сначала ищет по диску предыдущий файл" ты не можешь.
Кстати, ты задаёшь абсолютный путь?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 22
  • Карма: 0
Re: Поменять путь для pdf как правильно?
« Ответ #4 : 12-12-2016, 20:09:11 »
Ну в любом случае изменить имя файла ты можешь только этим методом. А управлять тем, что "Автокад сначала ищет по диску предыдущий файл" ты не можешь.
Жаль, особенно если в dwg попадется абсолютный путь.

Кстати, ты задаёшь абсолютный путь?
Относительный. И в dwg обычно относительный, но случаи разные бывают...

Может можно mapFile или findFile задействовать?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поменять путь для pdf как правильно?
« Ответ #5 : 12-12-2016, 20:14:16 »
Может можно mapFile или findFile задействовать?
Теоретически можно. А практически есть большая вероятность сделать AutoCAD неработоспособным. Это же тебе нужно делать свой класс AcDbHostApplicationServices, переопределять большинство его методов, в том числе и findFile.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение