Код LISP при запуске AutoCAD не работает после сброса сети

У меня есть сеть с несколькими различными дисками, на которой установлен AutoCAD.

У меня есть подпрограмма запуска LISP для AutoCAD, которая загружает множество других файлов.lsp, которые вызываются пользовательскими командами в AutoCAD, расположенными на различных дисках в сети.

До вчерашнего дня все работало нормально, без ошибок, всегда загружались все файлы.lsp. Но после сброса пары дисков в сети файлы.lsp, расположенные на этих дисках, больше не распознаются.

Ничего не изменилось программно. Я заново добавил все сетевые расположения к путям "Надежный" и "Файл поддержки" в параметрах AutoCAD и убедился, что загрузочный LISP загружен в меню "ПРИЛОЖЕНИЕ".

Есть идеи?

1 ответ

Предполагая, что вы используете Startup Suite как часть APPLOAD В диалоговом окне команды для автоматической загрузки LISP-программы "Startup" (которая затем загружает другие программные файлы) я бы вместо этого предложил использовать acaddoc.lsp файл для автоматической загрузки ваших программ, так как это гораздо более надежный метод загрузки.

Для загрузки программ с помощью acaddoc.lsp выполните следующую процедуру:

  1. Проверьте, действительно ли acaddoc.lsp уже существует. Для этого откройте AutoCAD для нового пустого чертежа и введите в командной строке AutoCAD:

    (findfile "acaddoc.lsp")
    
    • Если при этом возвращается допустимый путь к файлу, в следующих шагах перейдите к пути к файлу и откройте и измените существующий acaddoc.lsp используя Блокнот Windows или другой текстовый редактор.

    • Если приведенное выше выражение возвращает nil откройте Блокнот Windows (или другой текстовый редактор / редактор кода) и создайте новый acaddoc.lsp в надежном пути поиска файлов поддержки AutoCAD.

  2. На новой линии в acaddoc.lsp введите желаемое load или же autoload выражения для загрузки ваших пользовательских программ, например:

    (load "MyProgram.lsp" "MyProgram.lsp failed to load.")
    
    (autoload "MyProgram.lsp" '("MyCommand"))
    
  3. Сохраните новый / измененный файл и откройте новый чертеж в AutoCAD, чтобы автоматически загрузить его.


Некоторый Фон на acaddoc.lsp файл

Предоставить небольшую справочную информацию о характере и поведении acaddoc.lsp файл в AutoCAD: при открытии чертежа AutoCAD выполняет поиск в рабочем каталоге (то есть в каталоге, в котором находится активный чертеж) и во всех путях поиска файлов поддержки (перечисленных в Files вкладка Options диалог) для файла с именем файла acaddoc.lsp,

В более поздних выпусках AutoCAD, в которых SECURELOAD системная переменная присутствует, в этом поиске будут учитываться только пути, которые также перечислены как Надежные пути 1.

Когда такой файл будет найден, AutoCAD прекратит поиск и продолжит загрузку файла acaddoc.lsp в пространство имен активного чертежа.

Загрузка файла LISP просто означает, что содержимое файла читается, и любые найденные в нем выражения LISP оцениваются интерпретатором LISP.

Таким образом, большинство пользователей будут использовать acaddoc.lsp автоматически загружать пользовательские программы при открытии чертежа, чтобы такие программы были доступны во время сеанса рисования. Это более надежный и переносимый метод, чем использование Startup Suite для той же цели.


Похожие файлы автозагрузки

Кроме того, обратите внимание, что acaddoc.lsp это не единственный файл, который автоматически ищется и загружается в активный чертеж...

При первоначальном открытии приложения AutoCAD несколько файлов автоматически загружаются, а другие снова загружаются при каждом открытии каждого чертежа.

Большинство этих файлов являются частью самого приложения и, следовательно, не должны быть изменены, однако другие зарезервированы для пользовательской настройки и могут быть изменены и созданы, если они еще не существуют.

Ниже приведен порядок загрузки различных файлов, которые автоматически загружаются в AutoCAD, с кратким описанием каждого элемента:

  • acad.rx
    Этот файл загружает различные приложения ObjectARX при запуске AutoCAD.

  • acad20##.lsp
    Этот файл загружает acad20##doc.lsp файл в версиях, которые не загружают такой файл автоматически. Этот файл не должен быть изменен.

  • acad.lsp
    Загрузка этого файла зависит от настроек ACADLSPASDOC системная переменная:

    • ACADLSPASDOC = 0 (по умолчанию) Нагрузки acad.lsp только первый чертеж, открытый в сеансе AutoCAD, и не будет загружаться для каждого последующего открытого чертежа.

    • ACADLSPASDOC = 1 Грузы acad.lsp в каждый открытый рисунок.

    Этот файл зарезервирован для пользовательской настройки и предназначен для использования в процедурах запуска для конкретного приложения, так как все функции и переменные, определенные в acad.lsp Файл доступен только на первом чертеже.

    Если функции требуются на всех чертежах, а не изменять значение ACADLSPASDOC, функции и программы должны быть перемещены из acad.lsp подать в acaddoc.lsp файл.

  • acad20##doc.lsp
    Этот файл автоматически загружается при каждом открытии чертежа и загружает autoload определение функций и другие служебные функции, необходимые для AutoCAD. Этот файл не должен быть изменен.

  • acaddoc.lsp
    Как описано выше, если он найден, этот файл автоматически загружается в каждый чертеж, открытый в сеансе AutoCAD. Этот файл полезен для загрузки библиотеки функций AutoLISP, которые будут доступны при каждом открытии чертежа.

    acaddoc.lsp файл всегда загружается с каждым рисунком, независимо от настроек ACADLSPASDOC системная переменная.

    Так как AutoCAD будет искать рабочий каталог до путей поиска файлов поддержки и загрузит первый acaddoc.lsp файл найден, пользователи могут иметь разные acaddoc.lsp файл в каждом каталоге чертежей, который будет загружать определенные процедуры AutoLISP для определенных типов чертежей или заданий. 2

  • acad.dvb
    Этот файл автоматически загружает проекты VBA для версий, в которых включен VBA.

  • Основной CUI/CUIX и связанные файлы
    CUIx Файл содержит несколько файлов на основе XML и файлов изображений, каждый из которых содержит данные для элемента пользовательского интерфейса, который можно настроить. CUIx файлы заменяют CUI, MNU, MNS, а также MNC файлы, которые использовались для определения меню в предыдущих выпусках.

    Основной файл CUIx определяет большинство элементов интерфейса в AutoCAD.

  • Enterprise CUI/CUIX и связанные файлы
    Предприятие CUIx Файл, как правило, контролируется менеджером CAD и доступен многим пользователям, как правило, из общей сетевой папки.

    Этот файл предназначен только для чтения для пользователей, чтобы предотвратить изменение данных в файле. Менеджер САПР создаст предприятие CUIx файл путем изменения основного CUIx файл, а затем сохранить файл в общую сетевую папку.

  • acetmain.mnl
    Этот файл загружает группы меню Express Tools.

  • Экспресс инструменты LISP & MNL файлы
    Здесь загружаются различные файлы LISP и меню, необходимые для программ Express Tools.

  • Программы Startup Suite
    Файлы программ, находящиеся в Startup Suite, теперь загружаются в порядке их появления в APPLOAD Диалог.

    Как отмечалось выше, в некоторых версиях AutoCAD Startup Suite известен как темпераментный, поэтому я рекомендую использовать acaddoc.lsp для загрузки функций и программ, необходимых во время сеанса рисования.

  • (S::STARTUP)
    Эту функцию после инициализации можно использовать для выполнения операций после инициализации чертежа в редакторе чертежей.

    Поскольку acad.lsp а также acaddoc.lsp файлы загружаются в начале процедуры инициализации чертежа, команды, выданные во время выполнения из этих файлов, могут быть неудачными, поскольку командная строка может не инициализироваться на чертеже.

  • acad.exe переключатель командной строки /b
    Переключатель командной строки /b может использоваться для запуска скрипта при запуске приложения AutoCAD. Любые операции скрипта, вызываемые таким образом, будут выполняться после завершения инициализации чертежа.

    Переключатели командной строки можно установить в свойствах значка ярлыка приложения AutoCAD в поле редактирования "Цель".


Сноски

1 Это было введено для защиты от "вирусов" AutoCAD, в которых файл чертежа будет отправлен третьему лицу вместе с сопровождающим acaddoc.lsp файл, находящийся в той же папке, чтобы при открытии файла чертежа AutoCAD автоматически оценивал вредоносный файл. acaddoc.lsp файл.

2 Это возможно только в том случае, если SECURELOAD системная переменная установлена ​​в 0,

Другие вопросы по тегам