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

ADN Club => AutoLisp / VisualLISP и DCL => Тема начата: Алексей Кулик от 25-12-2017, 08:14:12

Название: Как правильно менять пути к растрам? (ACAD 2013)
Отправлено: Алексей Кулик от 25-12-2017, 08:14:12
Не могу корректно поменять пути к растрам (если конкретно - то заменить абсолютные на относительные). Суть в том, что я получаю указатель на растр через
Код - Auto/Visual Lisp [Выбрать]
  1. (vl-remove-if-not '(lambda (x) (= (car x) 350)) (dictsearch (namedobjdict) "acad_image_dict"))
и меняю в соответствующем указателе DXF группу 1. И вроде бы все хорошо, файл теоретически находится. Но после выполнения обновления растра AutoCAD его "теряет".
Собственно вопрос - что я упускаю? Почему замены только группы 1 недостаточно и что надо сделать дополнительно?
Название: Re: Как правильно менять пути к растрам? (ACAD 2013)
Отправлено: Александр Ривилис от 25-12-2017, 12:19:54
Через dxf не получится.
Название: Re: Как правильно менять пути к растрам? (ACAD 2013)
Отправлено: Алексей Кулик от 25-12-2017, 12:21:01
Что самое интересное - если устанавливать абсолютные пути подобным методом, то все срабатывает на ура.
Относительные пути - только .NET, получается (VBA исключаем сразу и бесповоротно)?
Название: Re: Как правильно менять пути к растрам? (ACAD 2013)
Отправлено: Александр Ривилис от 25-12-2017, 13:32:56
Что самое интересное - если устанавливать абсолютные пути подобным методом, то все срабатывает на ура.
А какая длина абсолютного пути у тебя получилась? Если > 230 (приблизительно) то работать не должно ни в .NET, ни в ObjectARX
Название: Re: Как правильно менять пути к растрам? (ACAD 2013)
Отправлено: Алексей Кулик от 25-12-2017, 13:35:56
Значительно меньше, значительно. Но дело-то в том, что абсолютный путь устанавливается вполне корректно, а вот относительные - фигушки. Буду рыть .NET, что остается :)
Название: Re: Как правильно менять пути к растрам? (ACAD 2013)
Отправлено: Алексей Кулик от 26-12-2017, 09:41:46
В общем и целом, в очередной раз спасибо Александру Ривилису :) Подтвердил мои подозрения, ткнул на статью http://adn-cis.org/izmenenie-putej-k-rastram-v-chertezhe-s-absolyutnyix-na-otnositelnyie.html - так что сейчас перерабатываю .NET-код.
Лично мои выводы: вставлять можно растры как угодно. Абсолютные пути устанавливать можно хоть как. Относительные пути для растров - не лиспом.