Некоторые тонкости работы с внешними ссылками.
Сегодня в скайпе достаточно долго общались на предмет "много внешних ссылок большого объема, работать почти невозможно. Кто виноват, что делать и как дальше жить?"
Не претендуя на истину в последней инстанции, хочу попытаться рассмотреть некоторые вопросы настройки системы, сети и AutoCAD.
Ну, касательно сети много не скажешь - понятно, что никакого WiFi или (брррр!) коаксиала. Нормальная витая пара с пропускной способностью не ниже 100 мегабит.
ОС: места на системном диске - побольше, винты - побыстрее. Остальное - по вкусу. В нашем случае не это критично.
Осталась самая малость: настроить сам AutoCAD. Поехали!
Во избежание непредсказуемых вопросов предположим, что вся контора работает по крайней мере на одной версии AutoCAD. Неважно, на какой - 2005, 2008 или 2013. Главное, что черезполосицы нет.
Далее. Набор ПО одинаков: если у кого-то AutoCAD Architecture, то у остальных либо AA, либо (как минимум) установлены соответствующие ObjectEnabler'ы. Теоретически в настройках можно сделать так, чтобы AutoCAD пытался сам вылезти в интернет и скачать соответствующий ObjectEnbaler. Практически подобное, как правило, нереализуемо: всем подряд проектировщикам никто доступа в интернет не даст. Так что это головная боль местных сисадминов / сапровцев.
Теперь будет очень много копий со справки, с моими комментариями. Хотите - читайте, не хотите - сразу комментируйте
Системная переменная | Описание | Пояснение (с возможными рекомендациями) | ||||||
proxynotice | Показывает уведомление о наличии в файле прокси-объектов.
|
Лично я ставлю в 1. Хотя бы для того, чтобы понимать, что в файле может "работать не так". | ||||||
proxyshow | Управляет показом прокси-объектов
|
Обычно ставлю в 1. В таком случае уже многократно упоминавшийся ExplodeAllProxy сработает нормально |
Эти переменные достаточно широко известны, теперь переходим к тому, что напрямую касается внешних ссылок.
Системная переменная | Описание | Пояснение (с возможными рекомендациями) | ||||||||
demandload | Задает условия подгрузки приложений и ObjectEnabler'ов
|
Ставлю равным 2. В таком случае при proxyshow = 1, proxynotice = 1 у меня: а) не грузится ничего лишнего б) файл более-менее нормально отображается в) я в курсе того, что в файле есть "лишнее" и могу это очистить. Соответственно я готов к проблемам при печати файла или использования буфера обмена. |
Прежде чем продолжим, немного теории в моем понимании.
Есть такой параметр, который мало кто трогает - индексы. Фактически индекс для dwg - это как содержание для книги. Работать удобнее, но хорошее содержание запросто утяжеляет книгу.
Индексов в dwg практически два: пространственный и слоевой.
Пространственный индекс организовывает объекты по их положению в трехмерном пространстве. Такой индекс может оказаться полезным при подгрузке подрезанной внешней ссылки: считываются только объекты внутри контура подрезки.
Слоевой указатель (или индекс) содержит в себе перечень всех слоев с указанием объектов, которые на них лежат. Если в файле такой индекс есть, и этот файл подгружается как внешняя ссылка, то объекты с замороженных слоев считываться не будут.
Индексы можно создавать как принудительно при сохранении файла, так и возложить эту высокую миссию на AutoCAD.
Для ручного создания индексов вызовем окно "Сохранить как" и в выпадающем списке "Сервис" (в английской версии - Tools) выберем Параметры (Options). А там напрямую указано, какой индекс создавать.
Но каждый раз туда не набегаешься, поэтому обратимся к справке:
Системная переменная | Описание | Пояснение (с возможными рекомендациями) | ||||||||
indexctl | Управляет созданием индексов и их сохранением в файле
|
Обычно не трогаю, для больших файлов (благо их немного пока) предпочитаю создавать индексы принудительно |
Сама по себе indexctl имеет весьма посредственное влияние. Для комфортной работы понадобится еще кое-что:
Системная переменная | Описание | Пояснение (с возможными рекомендациями) | ||||||
treedepth | Задает максимальное число ветвлений древовидного пространственного индекса.
|
Системная переменная хранится в чертеже, поэтому либо меняем в шаблоне, либо используем соответствующие лиспы / arx / dll, меняющие эту переменную. По умолчанию значение 3020. В картографии, например, можно попытаться использовать либо 0, либо отрицательное значение. |
||||||
treemax | Самая непонятная для меня переменная. С одной стороны, она ограничивает память компьютера на обработку индексов. С другой - позволяет обрабатывать чертежи, созданные на более мощных компьютерах. | Не экспериментировал. Значение по умолчанию 10 000 000 не менял ни разу. |
Так, с индексами вроде бы все. Осталась совсем мелюзга:
Системная переменная | Описание | Пояснение (с возможными рекомендациями) | ||||||
xloadctl | Регулирует режим подгрузки ссылок.
|
По умолчанию значение 2. Т.е. файл ссылки копируется в каталог, установленный в xloadpath либо каталог расположения временных файлов AutoCAD и "подсасывается" уже оттуда. Насколько я понял логику системной переменной: если установить xloadctl в 0, то ссылка будет проигнорирована. При 1 ссылка будет загружена оттуда, где она физически находится. При 2 файл копируется на локальную машину и подгружается уже с нее. Теоретически при значении 2 работа на локальной машине будет наиболее быстрой, но при 0 можно будет просмотреть основной чертеж без попытки нахождения внешних ссылок. А при 1 на локальной машине ничего лишнего не будет появляться. Правда, и нагрузка на сервер / сеть будет аховая Однозначной рекомендации дать не могу. Все зависит от конкретной ситуации. |
||||||
xloadpath | Папка для временных файлов внешних ссылок | Имеет значение только для xloadctl = 2. По умолчанию совпадает с каталогом временных файлов AutoCAD.
В некоторых случаях (например, есть свободный HDD с увеличенным быстродействием) можно ее заменить. Да и чистить отдельный каталог, понимая, что в нем находится, всяко проще. Пару раз для эксперимента менял значение, но заметного прироста производительности не обнаружил |
Есть еще некоторые переменные, которые могут оказать серьезное влияние на скорость открытия и обработки файла - как содержащего внешние ссылки, так и без оных. Но об этом чуть позже (работы многовато навалилось).