Код LISP при запуске AutoCAD не работает после сброса сети
У меня есть сеть с несколькими различными дисками, на которой установлен AutoCAD.
У меня есть подпрограмма запуска LISP для AutoCAD, которая загружает множество других файлов.lsp, которые вызываются пользовательскими командами в AutoCAD, расположенными на различных дисках в сети.
До вчерашнего дня все работало нормально, без ошибок, всегда загружались все файлы.lsp. Но после сброса пары дисков в сети файлы.lsp, расположенные на этих дисках, больше не распознаются.
Ничего не изменилось программно. Я заново добавил все сетевые расположения к путям "Надежный" и "Файл поддержки" в параметрах AutoCAD и убедился, что загрузочный LISP загружен в меню "ПРИЛОЖЕНИЕ".
Есть идеи?
1 ответ
Предполагая, что вы используете Startup Suite как часть APPLOAD
В диалоговом окне команды для автоматической загрузки LISP-программы "Startup" (которая затем загружает другие программные файлы) я бы вместо этого предложил использовать acaddoc.lsp
файл для автоматической загрузки ваших программ, так как это гораздо более надежный метод загрузки.
Для загрузки программ с помощью acaddoc.lsp
выполните следующую процедуру:
Проверьте, действительно ли
acaddoc.lsp
уже существует. Для этого откройте AutoCAD для нового пустого чертежа и введите в командной строке AutoCAD:(findfile "acaddoc.lsp")
Если при этом возвращается допустимый путь к файлу, в следующих шагах перейдите к пути к файлу и откройте и измените существующий
acaddoc.lsp
используя Блокнот Windows или другой текстовый редактор.Если приведенное выше выражение возвращает
nil
откройте Блокнот Windows (или другой текстовый редактор / редактор кода) и создайте новыйacaddoc.lsp
в надежном пути поиска файлов поддержки AutoCAD.
На новой линии в
acaddoc.lsp
введите желаемоеload
или жеautoload
выражения для загрузки ваших пользовательских программ, например:(load "MyProgram.lsp" "MyProgram.lsp failed to load.")
(autoload "MyProgram.lsp" '("MyCommand"))
Сохраните новый / измененный файл и откройте новый чертеж в 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 для определенных типов чертежей или заданий. 2acad.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
,