|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Адаптация древних lisp-приложений под AutoCad 2016
Регистрация: 12.01.2015
Сообщений: 261
|
||
Просмотров: 16422
|
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
Так и хочется отправить в тему "Поиск исполнителей"
По ссылке сходил, глянул. Хорошо gomer сказал Цитата:
P.S. Сам взяться не могу, отбываю в отпуск.
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
Не благодарный это труд. Не в этом вопрос. Фирма переходит на AutoCad 2016 и возникают проблемы с многолетними наработками.
Повторюсь с главным вопросом: как в AutoCad 2016 обойти отсутствие в путях поиска по умолчанию текущего каталога? Впрочем на мой век хватит. На горизонте завершение трудовой деятельности, а больше эти наработки никому не нужны. |
|||
![]() |
|
||||
Прочитал, но до конца так и не понял. Что значит текущий каталог? Папка, в которой находится открываемый чертеж? Что нужно загружать? Сперва я подумал, что речь идет о лиспах, но потом увидел, что имеются в виду какие-то "файлы поддержки". Что такое "файл прототипа"?
В общем, нужны пояснения. Видео, картинки или очень подробное описание в наиболее общепринятой терминологии.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
Цитата:
А что мешает добавить необходимый каталог в пути поиска и сохранить в профиле? Профиль - ключевое слово! Всё равно используется "уникальный", т.е. самодельный ярлык. Что есть в твоём/вашем понимании текущий каталог? Каталог с открытым чертежом/файлом Автокада или папка/каталог окна свойств ярлыка программы? Смотрим ХЕЛП Цитата:
Ну и запуск программы решается более простым способом, а не vd.scr Каким образом? Это следующая проблема, обычно решаемая при переводе ЛИСП-текстов в ЛИСП-программку. Описано в литературе и обсуждалось неоднократно. ИМХО Не правильно открывать файл "C:\LSP_WIN\GIDROLOG.IYA\VODOPROPUSK\vd.dwg", начинать работу надо с чертежа-прототипа, например, так в комстроке запуска /t "C:\LSP_WIN\GIDROLOG.IYA\VODOPROPUSK\vd.dwT"
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... Последний раз редактировалось Alan, 26.01.2016 в 19:06. |
|||
![]() |
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Цитата:
Цитата:
![]() Если Вам они были нужны, то найдется и другие, кому они необходимы, Вы ж не единственный в стране специалист в данной области! И вообще, мне кажется, самое плодотворное время будет как раз на пенсии!!! Это сейчас ни на что не хватает времени! Извините, пока собирался с мыслями, Alan уже все прописал более развернуто Последний раз редактировалось Владимир_М, 26.01.2016 в 18:27. |
|||
![]() |
|
||||
Регистрация: 17.06.2010
Сообщений: 438
|
Цитата:
Как вариант можно прописать в пути поддержки "C:\\LSP_WIN", в scr и lsp изменить во все load добавить относительный путь до нужного файла. Код:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
Спасибо всем за проявленное внимание и терпение.
Offtop: Моя терминология оставляет желать лучшего. Программировать начал не от хорошей жизни в лихие 90-е, когда квалифицированного программиста было практически не сыскать, а молодежь переквалифицировалась в челноков. Папка, в которой находится текущий файл чертежа. В ранних версиях AutoCad'а "Рабочий каталог" не задавался. Прототип - устаревший термин, заменен на шаблон. Цитата:
Цитата:
Offtop: PS Alan, Хорошего отдыха! |
|||
![]() |
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
Пжл...
Один вопрос вдогонку. Данная программа нужна для ЕДИНИЧНОГО расчёта в каком-то разовом чертеже или может применяться в разных чертежах? Тогда меняется подход к запуску и завершению её работы. Зачем например по кнопке ВЫХОД закрывать Автокад?
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
Цитата:
Результат работы программы вычерчивания во вложении. |
|||
![]() |
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
Цитата:
ИМХО. Самое правильное и простое решение всё-таки создать профиль с путями и запускать Автокад с этим профилем. Вот пример инсталляции и запуска известно программы, в адаптации которой я тоже принимал посильное участие Цитата:
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... Последний раз редактировалось Alan, 27.01.2016 в 15:26. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
Каюсь. В данном случае автокад используется через одно место. Он нужен только для работы lisp'а. При двухмониторной системе после заполнения таблицы на соседнем мониторе потребность в программе отпадает.
PSЕсли есть допуск к системным папкам автокада. ----- добавлено через ~46 мин. ----- PS PS Наверное я не достаточно точно высказался: Это фрагмент оформленный в самостоятельную программу. Последний раз редактировалось trushev, 27.01.2016 в 15:54. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Что значит "если есть доступ к системным папкам"?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Правом на изменение чего? Папок (точнее, их содержимого)? Или их перечня?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
А кто-то мешает создать свою и внести ее в общий перечень?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
Вариант уже рассматривался:
или я чего-то не догоняю. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Для пользовательских настроек программ это {localappdata}\имя программы или {userappdata}\имя программы. Вот там можно хранить что угодно - доступ пользователю есть всегда. Но значения {localappdata} и {userappdata} должны определяться программно - это "пространство имен" Windows. В каждой версии Windows они могут быть свои. Вот тогда программа будет работать везде и всегда. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
trushev, для твоего "примера" программы лично я вижу только один вариант развития. Полная переработка.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
Цитата:
я бы причесал в прожку за пару часов. Но я в отпуск хочу.
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
|
|||
![]() |
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
Цитата:
А вот без теории, изложенной в п.23 уважаемым ShaggyDoc, работать не желательно.
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Вот для решения подобных вопросов и придуманы профили. Имеете профиль для своей программы, в свойствах профиля записываете всё, что требуется (в том числе пути поиска) для своей программы. И делаете ярлык для запуска AutoCAD с именем профиля в командной строке. Запись профиля в реестр можно сделать из reg-файла, редактируя его вручную для разных версий Windows. Это можно сделать и без программирования. И совсем изящно будет если сделать некую программу-стартер, которая будет и профиль создавать, и файл автозагрузки генерировать и удалять все это после выхода. Но это сложнее. |
|||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
Цитата:
Цитата:
Никогда не работал с кнопками. Несложно скомпоновать функции под кнопку, перенеся вспомогательные в тело основной. При запуске с кнопки будут ли действовать пути поиска из профиля? Последний раз редактировалось trushev, 29.01.2016 в 10:11. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Неважно каким способом запущена лисп-функция. Если в текущем профиле есть требуемые пути - они и будут использоваться.
Пути поиска записаны в реестре в ветке, наподобие: HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R17.1\ACAD-6001:409\Profiles\ruCAD\General В ключе ACAD в виде строки с разделителем ; и перечислены все пути, например: E:\ruCAD\Install\LocalAppData\ru\CAD-2008\AppData\AutoCAD\R17.1\;E:\ruCAD\Install\LocalAppData\ru\CAD-2008\AppData\AutoCAD\;C:\Acad\AutoCAD 2008\support;C:\Acad\AutoCAD 2008\fonts;C:\Acad\AutoCAD 2008\help;C:\Acad\AutoCAD 2008\Express;C:\Acad\AutoCAD 2008\support\color; Свой путь надо подставлять в начало, тогда он и будет обрабатываться в первую очередь. Проще всего из REGEDIT экспортировать существующие настройки в reg-файл, а потом откорректировать, как надо. Например Код:
"Выполнив" этот файл получите новые настройки, причем изменится только переменная ACAD. Причем это будет сделано только для текущего пользователя и не надо спрашивать администратора, т.к. ветка HKEY_CURRENT_USER всегда доступна для записи текущему пользователю Windows. А "текущий каталог" - очень скользкое понятие в Windows, это всем не обязательно каталог чертежа. Потому и вопросы были сразу. |
|||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
Ура! Нашел. Спасибо gomer, http://forum.dwg.ru/showthread.php?t=128781
(strcat (getvar 'dwgprefix) "имя файла") |
|||
![]() |
|
||||
Цитата:
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
Александр Наумович, весьма польщен Вашим вниманием.
Подвожу итог способов решения проблемы с наименьшими затратами в порядке поступления: 1. В пакете загружающем lisp заменить (load "имя файла") на (load (strcat (getvar 'dwgprefix) "имя файла")) Не понял почему, но после этого находятся и DCL и вспомогательные текстовые файлы. 2. В строку запуска программы с рабочего стола добавить ключ /s с путем к файлам поддержки Заменяет ранее установленные пути. 3. От Александр Ривилис, установить LEGACYCODESEARCH = 1. Последний раз редактировалось trushev, 04.02.2016 в 10:11. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
Цитата:
Командная строка файла пуск.lnk: "C:\Program Files\Autodesk\AutoCAD 2014\acad.exe" - запуск автокада "C:\LSP_WIN\VODOPROPUSK\vd.dwg" - загрузка чертежа прототипа /b "c:\lsp_win\VODOPROPUSK\vd" - активация пакета Пакет (load "vd") загружает лисп. По завершению работы автокад закрывается очищая память от себя и прочего хлама. А вот с кнопкой совсем запутался. Макрос на кнопку: ^C^C(if (not c:vp_gid) (load ".../appdata/local/vd.lsp"));vp_gid; Не получается добиться корректной работы. При запуске с кнопки не находит файлы readme.txt (клавиша "Инструкция") и spravka.txt (справочной информации) |
|||
![]() |
|
||||
Регистрация: 12.01.2015
Сообщений: 261
|
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В AutoCAD 2016 некорректно открываются файлы, созданные в AutoCAD 2014 | Nadija_arh | AutoCAD | 4 | 11.01.2016 22:09 |
Как добавить префикс к однострочному тексту в AutoCAD 2016 | andrey_artphoto | AutoCAD | 5 | 27.05.2015 17:11 |