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

ADN Club => Ошибки в AutoCAD и вертикальных приложениях => Тема начата: Doublefish от 08-06-2017, 10:53:32

Название: Длина пути до файла внешней ссылки
Отправлено: Doublefish от 08-06-2017, 10:53:32
Добрый день
Если задать путь до файла внешней ссылки растрового изображения например длиной 250 символов - ошибка eFileAccessErr
Подскажите пожалуйста, какова максимальная длина пути для внешней ссылки растрового изображения?
Для внешней ссылки DWG длина пути до файла 255 символов задается нормально, а почему для внешней ссылки растрового изображения с длиной пути более  200 символов появляется ошибка eFileAccessErr?
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Александр Пекшев aka Modis от 08-06-2017, 10:56:00
Может потому, что сам Windows не поддерживает такие пути? Сам файл (не в автокаде) вы можете открыть, удалить или переместить?
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Александр Ривилис от 08-06-2017, 11:03:08
Подскажите пожалуйста, какова максимальная длина пути для внешней ссылки растрового изображения?
Думаю, что она такая же как и максимальная длина пути в Windows (возможно за вычетом нескольких байт). Специальных ограничений нет.
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Doublefish от 08-06-2017, 12:10:05
По факту разница  в длине пути у внешней ссылки dwg и растрового изображения есть: если путь до файла вн. ссылки одинаковый и > 200 и < 255 символов, то для ссылки dwg ошибки нет, а для растра есть!

Хотелось бы узнать на сколько путь для вн. ссылки растрового изображения меньше чем 255 символов, чтобы избежать ошибки eFileAccessErr, может быть об этом где нибудь написано на сколько он меньше и какова максимальная длина?

Примечание: ошибка возникает при задании относительного пути у внешней ссылки растра!
Т.е. полный путь в данном случае складывется из пути папки главного файла dwg + указанный относительный путь до файла растра и вот он почему то должен быть менее 200 символов, иначе eFileAccessErr.
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Александр Ривилис от 08-06-2017, 12:13:11
может быть об этом где нибудь написано на сколько он меньше и какова максимальная длина?
Это нигде официально не записано. Официально записано, что длина имени файла может быть до 255 байт: https://knowledge.autodesk.com/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/About-the-maximum-length-of-the-file-name-of-the-Autodesk-AutoCAD.html
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Александр Ривилис от 08-06-2017, 12:18:55
Примечание: ошибка возникает при задании относительного пути у внешней ссылки растра!
Т.е. полный путь в данном случае складывется из пути папки главного файла dwg + указанный относительный путь до файла растра и вот он почему то должен быть менее 200 символов, иначе eFileAccessErr.
Так а длина полного пути к растровому файлу какой получается? Небось как раз около 255?
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Doublefish от 08-06-2017, 12:26:57
Речь идет о длине пути до растра внешней ссылки, если задан относительный путь до растра.
Опытным путем установлено что если длина пути до файла получается менее 200 символов, то ошибки нет, а вот если до файла растра длина пути получается в пределах примерно от 200 до 255 символов - то ошибка eFileAccessErr (при этом если внешняя ссылка dwg, то ошибки то нет, поэтому и возник вопрос).
Проверял в AutoCAD 2014 и 2016.

Это баг ?
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Александр Ривилис от 08-06-2017, 12:28:20
Это баг ?
Возможно.
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Doublefish от 08-06-2017, 12:29:31
Надо пример сделать?
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Александр Ривилис от 08-06-2017, 12:31:54
Если ты вручную (без кода) делаешь тоже самое, то тоже возникает ошибка?
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Doublefish от 08-06-2017, 12:57:05
Если вставлять вручную растровое изображение с относительным путем, то даже если длина до файла от корня диска составляет 257 символов, то никакой ошибки нет, растр вставляется и отображается. Но если чертеж сохранить и открыть - то растр уже со статусом "Не найден" и не отображается.

Ошибка возникает при программном задании относительного пути внешней ссылки растрового изображения если длина полного пути до файла более 200 символов (+- несколько символов, точную границу не удалось выявить, т.к. на разных файлах она почему то немного отличается ).
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Александр Ривилис от 08-06-2017, 12:58:30
Да. Похоже, что с относительными путями какой-то баг. Вручную добавил файл с относительным путём (суммарная длина около 230) - он добавился. Файл сохранился, но после открытия файла AutoCAD не находит растр. При абсолютном пути находит нормально.
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Александр Ривилис от 08-06-2017, 13:04:25
Перепроверил в AutoCAD 2018.0.2 - поведение аналогичное. Отправлю в Autodesk.
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Александр Ривилис от 08-06-2017, 13:46:44
Запрос отправил. Перспектив для старых версий (2014...2016) не вижу. Подождём.
Название: Re: Длина пути до файла внешней ссылки
Отправлено: Александр Ривилис от 13-06-2017, 11:52:36
Такое поведение в Autodesk подтвердили. Без весомого 'business case' ( http://adn-cis.org/forum/index.php?topic=2640.0 ) рассчитывать на исправление не приходится.