|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
|
|||
![]() |
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
Спасибо за ответы.
Цитата:
Хотел сделать миниустановщик, как в VetCAD. Чтобы установить VetCAD, нужно загрузить файл "SetupVetCAD_XXXX.arx". Он тут же запускается и прописывает нужные пути доступа. Но насколько я понял, это уже средствами arx нужно делать. Хорошо, средствами LISP не получится. В какую тогда сторону смотреть? net или arx?
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Не принципиально, можно еще COM, а еще можно установщиком вначале записать в самом лиспе (в реестре) путь к нему-же. Я обычно ставлю установщиком в %appdata%...
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 14.08.2014 в 17:23. |
|||
![]() |
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
Дима_, пока что прописываю пути явно. В начале накидал переменных с путями.
Кулик Алексей aka kpblc, нашёл твою тему по этому поводу: http://www.caduser.ru/forum/index.ph...#message127730 по прочтению темы придумал, как можно быстро побороться с возможным переименованием имени сервера. Прописываю имя сервера в переменную в начале лиспа, нужные пути получаю strcat'ом
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. Последний раз редактировалось kha, 14.08.2014 в 17:40. |
|||
![]() |
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
Нашёл, в каком месте взять путь к каталогу, из которого произведена последняя загрузка лиспа через диалог _appload.
После загрузки приложения AutoCAD прописывает путь в реестр: [HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\RXXX\ACAD-AXXX:XXX\Profiles\[имя профиля]\Dialogs\Appload] параметр MainDialog Появился ещё один вопрос - как сделать так, чтобы лисп запустился автоматически после его загрузки через диалог _appload?
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
|
|||
![]() |
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
skkkk, первым делом попробовал, но что-то пошло не так.
Сейчас получилось, благодарю ![]() UPD: понял. Я писал (test), а надо было (c:test) круто! теперь можно делать макросы для кнопок чуток попроще. вместо ^C^C(load "test") test можно писать ^C^C(load "test")
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. Последний раз редактировалось kha, 16.08.2014 в 20:51. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,425
|
Добавить самовызов функции.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,425
|
Да, так
![]() Учитывая, что отвечал я с телефона, думаю - мне простительно ![]() ----- добавлено через 21 сек. ----- Только что сел за комп...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Фигней страдаете, господа писатели. Есть нормальный способ загрузки, придуманный автодеском давным давно. Сейчас это выглядит как связка CUIX и MNL. Это самый простой вариант, в котором есть и меню и панели инструментов с иконками. Причем команды подгружаются из строго определенного места. Более того, в cuix можно прописать нужные лиспы и они будут подгружаться автоматически. Хотя ИМХО это уже лишнее. Из mnl все что нужно и так прекрасно подгружается
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,425
|
gomer, http://adn-cis.org/posledovatelnost-...v-autocad.html и http://adn-cis.org/autocad-autoload-security.html видел?
![]() ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Видал, вот из-за таких деятелей и наворотили непотребностей. а ведь все так красиво начиналось... а кончилось фондом помощи детям зимбабве... а кто теперь эти реакторы пользует? Еще раз повторюсь, чтоб не возникало вопросов типа а откуда ж у меня лисп загрузился, нужно разобрать авгиевы конюшни в системе и грузить все из одного места, обычно это
Код:
|
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
С этой стороны не все ли равно, где прописать слово test: в макросе на кнопку или в теле файла *.lsp?
И зачем же каждый раз подгружать лисп? Я вижу, правда два оправданных варианта: 1. Тестирование и отладка кода происходит не во встроенном VLIDE, а в блокноте. Тогда нажатие на кнопку будет каждый раз подгружать измененный код и запускать его на исполнение. 2. Запуск функции необходим при старте Автокада. Дабы не лезть в acad.lsp или acaddoc20XX.lsp, добавляем файл в автозагрузку - и он грузится при старте и тут же исполняется (например, создаются слои, стили размеров, вставляются форматки и т.д.) В случае с кнопкой для рядового пользователя подгружать лисп стоит лишь в том случае, если он еще не загружен. Конечно, загрузка происходит очень быстро и незаметно, но это как-то плохо, не по Фен-Шую что ли... |
|||
![]() |
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
skkkk, чтобы было по Фен-Шую можно поставить проверку на загрузку лиспа: ^C^C(if (= c:test nil) (Load (findfile "test.lsp")) (c:test)).
Хотя да, смысл теряется. Макрос проще выглядит без автозапуска лиспа: ^C^C(if (= c:test nil) (Load (findfile "test.lsp"))) test Как только появляется молоток, сразу же всё вокруг кажется гвоздями ![]() За это спасибо, всё голову ломал, как бы от редактирования acaddoc20XX.lsp уйти.
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. Последний раз редактировалось kha, 18.08.2014 в 18:42. |
|||
![]() |
|
||||
Прошу критики и помидоров, дабы понять, в том ли направлении мыслю в целом.
Код:
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
![]() |
|
||||
1. почему не надо отключать эхо? привзку отключать тут не надо
2. как то не приходило в голову, что у кого то рука поднимется на такое кощунство 3. все привязки делаются только в модели ибо там же и ось и вся ситуация 4. слизано с полещука - что бы функция возвращала nil в случае когда условие не выполняется. перечитал, подумал, наверно соглашусь, лишее... з.ы. проверил 2: Укажите точку: [Другая ось]неверное значение аргумента: AcDbCurve 2130622808 можно спокойно задать другую ось и продолжать ваять
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
||||
Идею понял, но... кроме entsel в самом начале и getpoint 3 раза пользователь ничего не вводит, ему на координаты что ли смотреть?
кстати, ради интереса закомментил - разницы никакой не обнаружил, значит можно совсем убрать
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |