|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
21.10.2003, 14:30 | #1 | |
В какой файл Acad прописывает пути из Support File Searh Pat
Проектирование обустройства нефтяных месторождений
Самара
Регистрация: 28.08.2003
Сообщений: 352
|
||
Просмотров: 5559
|
|
||||
Конструктор, инженер-механик на пенсии Регистрация: 03.10.2003
Новосибирск
Сообщений: 6,953
|
Цитата:
|
|||
|
||||
Регистрация: 28.08.2003
Сообщений: 7
|
Цитата:
Цитата:
|
|||
|
||||
Регистрация: 02.10.2003
С-Петербург
Сообщений: 38
|
В Express другая штука, я тоже парился этим и разобрался как подгружать менюху не лазя по реестру -ты все равно не узнаешь какой у меня на машине стоит профиль, а если узнаешь, то все равно толку не будет! А делается это так:
В файл имеющийся на всякой машине и автоподгружаемый например acad2000.lsp нужно прописать строку типа (load "support/CAD Tools/allunits.lsp"), а этот allunits содержит примерно следующее (setq wr (strcat "(" "load" (chr 32) (chr 34) "flint.mnl" (chr 34) ")" ) ;_ end of strcat ff (findfile "support/acad2000.lsp") rr (open ff "r") ) ;_ end of setq (setq fr (read-line rr)) (while (and (not (eq fr nil)) (not (eq wr fr))) (setq fr (read-line rr)) ) ;_ end of while (close rr) (defun ad_lin () (setq rr (open ff "a")) (write-line (strcat (chr 59) (chr 59) (chr 59)) rr) (write-line wr rr) (close rr) ) ;_ end of defun (setq alrt "\nПриложение <Flint menu> установлено." alr "\nПерезагрузите AutoCAD или откройте другой файл." ) ;_ end of setq (if (eq wr fr) (alert "\nПриложение <Flint menu> уже установлено ранее." ) ;_ end of alert (progn (ad_lin) (alert (strcat alrt alr alt) ) ;_ end of alert ) ;_ end of progn ) ;_ end of if (prin1) Далее надо подгрузить меню в строку меню юзера Это просто: создаем файл Flint.mnl ; Place the Flint Tools pulldown to the left of the last pulldown already loaded (defun Flint-init-placemenu( / n ) (if (menugroup "Flint") (progn (setq n 1) (while (< n 24) (if (menucmd (strcat "P" (itoa n) ".1=?")) (setq n (+ n 1)) (progn (if (> n 3) (setq n (- n 2)) (setq n 3) );if (menucmd (strcat "p" (itoa n) "=+Flint.pop1" )) (setq n 25) );progn );if );while );progn (command "menuload" "support/Flint/flint.mnu" ) );if );defun Flint-init-placemenu (Flint-init-placemenu) (prompt "\nAutoCAD Flint Menu loaded.") (princ) Он вставляет эту менюху предпоследней перед хелпом-можно куда угодно Я делал инсталяшку для своего меню и у меня получилось-инсталятор забрасывает файло куда надо а остальное автоматом, причем нет волокиты с профилем-лепит на текущий! могу выслать пример и помогу если что [email protected] |
|||
|
||||
Сообщений: n/a
|
(setq pref (vla-get-preferences (vlax-get-acad-object)))
(setq files (vlax-get-property pref 'Files)) (setq supp (vlax-get-property files 'SupportPath)) Это получить... (if (vlax-property-available-p files 'SupportPath t) (progn (setq blpath "C:\\furnitures\\blocks" mainpath "C:\\furnitures\\Main" ) (if (null (vl-string-search blpath supp)) (setq supp (strcat supp ";" blpath)) ) (if (null (vl-string-search mainpath supp)) (setq supp (strcat supp ";" mainpath)) ) ) ) (vlax-put-property files 'SupportPath supp) А это установить... |
|||
|
||||
Регистрация: 02.06.2004
Сообщений: 52
|
Тема старая, но вернутся к ней меня подтолкнуло огромное любопытство. Узнал из форума, а также нашел самостоятельно несколько вариантов загрузить свое меню в AutoCAD. но остался один вопрос:
Куда Express прописывает себя, чтобы при запуске AutoCAD производилась установка меню? До сих пор сижу ломаю голову. ПОМОГИТЕ избавится от навязчивой идеи, подскажите пожалуйста. |
|||
|
||||
Регистрация: 02.06.2004
Сообщений: 52
|
Неужели ни кто не знает ответа на этот вопрос.
Вопрос еще в том, что все файлы которые предлагают под загрузку программ пользователя можно поместить куда угодно и сколько угодно, а загружаться будет только первый найденный. Т.е. если мне необходимо чтобы программа была непременно загружена нужно поискать файл acad.lsp или acaddoc.lsp, а если их несколько, то и определить какой загрузится и только тогда в него вписывать свои команды. А Express, насколько я понял, этого не делает. Значит есть еще путь. Прошу Вас не молчите, пишите хоть какие-то варианты. |
|||