|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
15.11.2011, 12:23 | #1 | |
Что прописать в acad.lsp чтобы всегда загружались пользовательские лисп команды?
Инженер-конструктор
Москва
Регистрация: 25.02.2008
Сообщений: 142
|
||
Просмотров: 18924
|
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Добавь в конце файла acad.lsp строки
(load "one.lsp") (load "two.lsp") (load "three.lsp") Папку c:\commands надо прописать в пути доступа AutoCAD к файлам поддержки. Настроить AutoCAD так, чтобы файл acad.lsp загружался с каждым чертежем. Вместо файла acad.lsp можно использовать файл acad.mnl (записать там те же строки). |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Вообще-то лучше не редактировать acad*.lsp. Намного проще сделать свой лисп и засунуть его либо в автозагрузку, либо (для варианта подгрузки собственного меню) использовать mnl-файл.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
LISP. Общее. Загрузка файла. Вызовы функций Посты #47 и #48
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
В случае малого количества файлов: "one.lsp"; "two.lsp"; "three.lsp", наверное проще всего воспользоваться автозагрузкой.
Я тоже не любитель использования файла acad.lsp. Но вот если создать свой acad.lsp (а не портить стандартный), использовать СВОЙ профиль, где папка с ТВОИМ acad.lsp будет первой путях, то очень может быть...
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
В первой теме были в куче "кони, люди".
Категорически против того Поэтому акцентировал внимание на СОБСТВЕННОМ профиле и СОБСТВЕННОМ acad*.lsp
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... Последний раз редактировалось Alan, 27.01.2013 в 19:15. |
|||
|
||||
Инженер-конструктор Регистрация: 25.02.2008
Москва
Сообщений: 142
|
Спасибо всем ответившим. Прошел год. К сожалению безболезненного решения по подгрузке файлов lsp вне зависимости от настроек автокада видимо нет. В любом случае есть свои "побочные" эффекты.
Лично я все-таки остановился на автозагрузке файлов. Проблему с большим количеством файлов решил путем компоновки большого количества отдельных файлов с командами в гораздо меньшее количество файлов созданных по принципу схожести выполняемых операций. Не всегда удобно в плане работы с ними, зато меньше файлов подгружать. Еще хотел бы пояснить на примерах, для чего нужно было "чтобы файлы подгружались ВСЕГДА": 1 Пример: Конструктор не особо разбирающий в тонкостях настройки автокада попросил установить ему простую lisp программку для суммирования чисел из текстовых примитивов (как пример). Через какое-то время программка перестает работать и исчезает из автозагрузки потому что он что-то поменял в профиле, поставил доп. программу и т.п. Соответственно появляется проблемма этот lisp восстановить. Для знающего человека не проблема, но для большинства... А если таких людей много? Замучают! 2 Пример: Существуют lisp команды, которые созданы для поддержки выполнения Стандартов оформления в организации. Но каждый пользователь все равно уникален и захочет настраивать автокад немного по-своему. Запрещать это бессмысленно и не нужно. Но опять же в результате различных манипуляций lisp команды могут начать слетать. Хорошо если под рукой есть сисадмин и может быстро все исправить, но иногда он может быть в отпуске, заболеть, уйти на обед и не вернуться и т.д. Поэтому такие "неожиданности" будут очень портить жизнь рядовому конструктору. Автоматизация упрощая одно, усложняет другое, но попробовав ее, отказаться уже невозможно . |
|||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Цитата:
Цитата:
|
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Полной "вне зависимости" достигать не надо. Должна быть одна основная "настройка" - профиль. Всё остальное прилагается. |
|||
|
||||
Инженер-конструктор Регистрация: 25.02.2008
Москва
Сообщений: 142
|
Логика в том, что этому товарищу ДРУГИЕ знающие люди могут что-то понаставить. Это раз. А во-вторых, некоторые программки имеют инсталлер и у "не особо разбирающихся в тонкостях" хватает ума и способностей их самостоятельно установить. А потом выясняется, что программка пропала, потому что установили СПДС со своим профилем. А иногда действительно логики вроде бы нет, когда в настройки не лазили, ничего не меняли а программка исчезла из автозагрузки и хрен поймешь как это объяснить.
Ну и где здесь невежество и жадность? Не вижу ни того ни другого. Цитата:
В том то вся и проблема - надо избавиться от зависимости от профиля! Чтобы говоря простым языком команда написанная на lisp была уравнена в правах с командами LINE СIRCLE и т.д. Другой вопрос, что это невозможно и вполне вероятно неправомерно. Но это уже другая история. Еще раз подчеркиваю, основная задача по сути заключается в поиске условно говоря "защиты от дурака" для lisp команд. Чтобы не было вероятности их "неподгружения". Полной "вне зависимости" достигать не надо когда есть 3 грамотных сисадмина под рукой, а когда их нет, как в большинстве фирм в России, то конструкторы сами совмещают все возможные профессии и программирование в том числе. Поэтому, многие и работают на голых автокадах, потому что так хотя бы есть уверенность, что никакая из команд внезапно не "отвалится". А за эффективность работы у нас не доплачивают. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Если команда вызывается кнопкой, то загрузку нужного лиспа можно прописать в макросе этой кнопки. Например, так:
Код:
Последний раз редактировалось skkkk, 27.01.2013 в 18:39. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Вот придумываете лисапед себе на голову... Все уже есть, и очень давно: http://autolisp.ru/2012/06/10/app-au...-another-path/
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
Полностью согласен.
О чём и писал в пп. 6,9 К сожалению в Автокад"е другого способа практически нет. Способ с *.mnl ИМХО менее универсален. А вот из acad*.lsp (я обычно использую acaddoc.lsp) можно вызывать любой ЛИСП. Например: Код:
Что касается профиля/профилей Первое, что я делаю после первого запуска установленного Автокада - это создаю профиль "по умолчанию", но не тот, который создаёт сам Автокад в HCU\..........\Profiles\<<Профиль без имени>> - а свой с именем acad. (который сохраняю еще и в файл acad.arg) Тогда ярлык вызова Автокада выглядит так "D:\Program Files\AutoCAD 2008\acad.exe" /p "D:\Program Files\AutoCAD 2008\acad.arg" И никаких дополнительных путей и текстов в автозагрузку в этот профиль не записываете. Для чего это делается? Потом начинается "улучшение Автокада" разными сторонними ЛИСПами, но для этих улучшений сделайте свои поименованные профили. Конструктор 1, сделает свой профиль - konstr1, со своими дополнительными путями, прожками и автозагрузками и т.д. У меня вызывается так с одного рабочего стола Автокад "для электрика", "для технолога" и т.д. Когда понадобится "чистый" Автокад, без всех приблуд, вы вызываете его вот тем самым вышеописанным ярлыком с профилем acad. И будет Вам счастье, а не вопросы "Как избавиться от CS Studio или прога - Конструктор 1?", если она вам в этот момент не нужна
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
|
||||
в конец
acad*.lsp ;--------------------------------------------------------------------------------------- ;c:\Program Files\Autodesk\AutoCAD 2011\Support\acad2011.lsp ;;; TC71 2012-07-03 ;;; (load "NAME.lsp") (load "1-LOAD-ME-TC71") ; ;------------------------------------------------------------------------- ; ; ;;; (load "NAME") ; без .lsp (load "CF") (load "flatten") (load "Flatten2") (load "math") (load "pltools") (load "CopyBlock-VVA") (load "AsmiTools-Mpl") (load "AsmiTools_Talon") (load "AsmiTools_Ttc") (load "color sheme") (load "00003-Kr_DeleteAllObjectScale-V001") (load "LOADQSP") (load "LSTATT") (load "norm-blocks") (load "page_setup") (load "PL_Lib") (load "PL_XRefChgr") (load "rename-all-blocks-in-all-docs-in-select-folder") (load "SUMMATOR") (load "z0") (load "FAST_SELECT") (load "layout") (load "get-last-select") (load "NumInc") (load "DDCHPROP") (load "DTextTL") (load "easyplot") (load "LTEXTRACT") ; ; ;--------------------------------------------------------------------------------------- ; ;; Silent load. (princ) 1-LOAD-ME-TC71.lsp ;;; ;;; предварительно записываем файл (acad2011.lsp) в ;;; c:\Program Files\Autodesk\AutoCAD 2011\Support\acad2011.lsp ;;; в нем (acad2011.lsp) прописаны ;;; *.lsp в автозагрузку (из папок по путям доступа) в том числе (в конце) ;;; файл который вы сейчас читаете (load "1-LOAD-ME-TC71") ;;; ;;; здесь подгружаются *.arx ;;; (arxload "NAME.arx") (arxload "DWGConvert2010x64.arx") (arxload "ExplodeProxy2010x64.arx") (arxload "GsTest.arx") ;(arxload "MdiTab18.arx") ; (arxload "qqarx.arx") ; (arxload "qqdelphidll.arx") ; (arxload "SelSim2010x64.arx") ; (setvar "CMDECHO" 1) ; ;;; ;;; здесь подгружаются *.vlx ;;; (load "NAME.vlx") (load "sysvar.vlx") ;(load "viewsblk.vlx") не срабатывает, грузить через портфель ; (princ) Последний раз редактировалось perpetule, 27.01.2013 в 20:22. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
perpetule, тэги [code][lisp][/lisp][/code] придуманы не просто так.
P.S. Когда количество файлов превысит все допустимые пределы, каково будет редактировать такой файлик?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
запуск программы из AutoCADа | kminas | Программирование | 19 | 15.06.2012 13:42 |