olga94 Posted May 24 Report Share Posted May 24 (edited) Здравствуйте Уважаемые специалисты NanoCAD! Проблемы в следующем: в настройки программы добавляю путь к шаблону листа (см. рисунок), сразу после это пытаюсь выполнить команду "Лист по шаблону.." и окно, где лежит шаблон открывается. Если заходить в другие папки, например, чтобы открыть чертеж, ТО если выполнить затем опять команду "Лист по шаблону..", то окно открывается в другой папке. Короче говоря, путь где лежит шаблон листа не сохраняется! Подскажите пожалуйста, как можно вероятно с помощью лиспа, указать NanoCAD-у, что при запуске команды "Лист по шаблону.." открыть папку такую-то? Заранее спасибо! Edited May 24 by olga94 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted May 24 Report Share Posted May 24 35 минут назад, olga94 сказал: в настройки программы добавляю путь к шаблону листа это путь к шаблону нового документа создать лист по шаблону можно из любого файла чертежа более эффективным будет добавить ссылку на каталог с шаблонами в "Быстрый доступ" windows Спойлер 1 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted May 24 Report Share Posted May 24 37 минут назад, olga94 сказал: Короче говоря, путь где лежит шаблон листа не сохраняется! Указанные настройки относятся к шаблонам ДОКУМЕНТОВ (*.dwt), а не листов. Эти шаблоны используются для создания новых файлов. Лист по шаблону - это функция считывания уже настроенных листов в документах и шаблонах. Но диалог выбора файла имеет собственную логику, не зависящую от настроек программы. 1 Quote Link to comment Share on other sites More sharing options...
olga94 Posted May 24 Author Report Share Posted May 24 (edited) 22 минуты назад, EdwardSt сказал: Но диалог выбора файла имеет собственную логику, не зависящую от настроек программы. Скажите пожалуйста, можно ли переопределить действие команды "ШЛИСТ" или "РЛИСТ/опция Шаблон"? Например, если эта команда запущена, то делай то-то: открой каталог, например, с помощью lisp, vbs или scr? Edited May 24 by olga94 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted May 24 Report Share Posted May 24 27 минут назад, olga94 сказал: Например, если эта команда запущена, то делай то-то: открой каталог, например, с помощью lisp, vbs или scr? Нет, внутри команды лисп-выражения в нанокаде не работают. В отличие от АС, кстати... Quote Link to comment Share on other sites More sharing options...
doctorraz Posted May 24 Report Share Posted May 24 14 минут назад, EdwardSt сказал: Нет, внутри команды лисп-выражения в нанокаде не работают. дык filedia 0 рлист ш <имя файла> <имя листа> правда имя файла шаблона гвоздями прибито будет имя листа тоже, ----------------- но можно, запросить у юзера файл (открыть раннее определенный каталог) дать выбрать файл через dbx прочитать его (список листов) на дизеле (или другом окошке) вытащить пользователю список листов, чтоб он выбрал скормить разведданые в РЛИСТ --------------- можно еще прикрутить настройки, что бы пользователь мог менять каталог, окно о программе и т.д. ================== делов то)))) проще ж чем ссылку в быстрый доступ добавить))) Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted May 24 Report Share Posted May 24 Я имелл ввиду не только диалог выбора файла. Например, в АС на запрос числа можно ответить лисповским приложением (+ 1 3), и в АС попадет введенное число 4. В нане такие фокусы не проходят. Число вычисляется, а в команду не попадает. Т.е., лисповским выражением (в принципе это может быть вызов функции со сколь угодно сложным алгоритмом внутри) отвечать внутри команды не получается. У автора ветки проблема сводится к сохранению пути к некоей папке с собственными шаблонами в виде настройки. К сожалению, для данной команды стандартной настройки нет. Поэтому остается создавать функцию-обертку, в которой будет сначала извлекаться САМОСТОЯТЕЛЬНО сохранённый путь к файлам шаблонов, попутно чонить еще будет сделано, а потом (command "РЛИСТ" ... и т.д.. Или программно (не на лиспе!) реализовать myРЛИСТ. Как-то так... 16 минут назад, doctorraz сказал: делов то)))) проще ж чем ссылку в быстрый доступ добавить))) Именно!))) Quote Link to comment Share on other sites More sharing options...
doctorraz Posted May 24 Report Share Posted May 24 3 минуты назад, EdwardSt сказал: Или программно (не на лиспе!) реализовать myРЛИСТ. противоречит ТЗ... уже прилетало за самодеятельность от ТС'ов добавлено через 3 минут 4 минуты назад, EdwardSt сказал: Например, в АС на запрос числа можно ответить лисповским приложением (+ 1 3), и в АС попадет введенное число 4. В нане такие фокусы не проходят хоть не лисповские работают 10+50 500/2.5 на том спасибо))) Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted May 24 Report Share Posted May 24 1 час назад, doctorraz сказал: хоть не лисповские работают Это, действительно, хорошо. Просто ответ в виде лиспа позволял бы сложные функции подсовывать. Или, например, на запрос указания последовательно двух элементов (setq a (entlast)) и далее (entnext a). Но с наной так не забалуешь... 1 Quote Link to comment Share on other sites More sharing options...
olga94 Posted May 24 Author Report Share Posted May 24 (edited) Если сделать это: [HKEY_USERS\S-1-5-21-264982528-3618619439-659895271-1123\SOFTWARE\Nanosoft\nanoCAD x64\23.0\Profiles\<<Default>>\IO\OpenProjects] "OpenInitDir"="путь к папке с шаблонами для листов....". то данный каталог ("путь к папке с шаблонами для листов....") всегда будет открываться по команде "Лист по шаблону... (ШЛИСТ)". НО это работает только для профиля <<Default>> в данном примере. Проблема: 1) Если пользователь перейдет в другой профиль, то не работает. 2) Если добавить это в файл в "nProfUser.ini", то это сработает один раз при установке NanoCAD и опять же для одного текущего профиля. Есть ли у Вас какие-то идеи на этот счет, как можно было бы это использовать, чтобы "OpenInitDir" прописывалась автоматически для каждого профиля? Edited May 24 by olga94 2 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted May 24 Report Share Posted May 24 1 час назад, olga94 сказал: Есть ли у Вас какие-то идеи на этот счет, как можно было бы это использовать, чтобы "OpenInitDir" прописывалась автоматически для каждого профиля? Хорошо, что вам удалось найти место, где эта переменная хранится. Теперь нет необходимости заморачиваться собственным управлением переменными. Предполагаю, что на шарпе умельцы влегкую отредактируют ветку(и) реестра. Но ввиду явно нечастого использования такой настройки, может и редактировать прямо в реестре? Quote Link to comment Share on other sites More sharing options...
doctorraz Posted May 24 Report Share Posted May 24 (edited) 46 минут назад, EdwardSt сказал: Предполагаю, что на шарпе умельцы влегкую отредактируют ветку(и) реестра комбайн из за этого заводить))) (vl-registry-write "HKEY_CURRENT_USER\\Software\\Nanosoft\\nanoCAD x64\\23.0\\Profiles\\SPDS\\IO\\OpenProjects" "OpenInitDir" <Путь к нужной папке> ) ;_ _endvl-registry-write вполне достаточно то же самое для ветки деф и механики ну и закинуть в автозагрузку upd или что бы путь был всегда один сделать свою команду, сперва чиним реестр, потом шлист применится после следующего запуска применится сразу ----------- только как по мне, так себе идея.. это же путь поиска шаблонов документов... ------- upd только возможно нана этот путь еще гденить пользует, но это не точно Edited May 24 by doctorraz 2 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted May 24 Report Share Posted May 24 2 часа назад, doctorraz сказал: только как по мне, так себе идея.. это же путь поиска шаблонов документов... Плюсую незачеркнутому Quote Link to comment Share on other sites More sharing options...
olga94 Posted June 27 Author Report Share Posted June 27 (edited) Если кому нужен, то рабочий лисп для задания пути к шаблонам листов (не требует перезапуска NanoCAD, достаточно запустить 1 раз под текущим профилем программы): (defun c:InstLayTemplate() (vl-load-com) (setq key (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar "CPROFILE") "\\IO\\OpenProjects")) (vl-registry-write key "OpenInitDir" "\\\\SERVER\\NanoCAD\\Template") (alert "ГОТОВО, можете выполнять вставку Листов ПО Шаблону!") ) Edited June 27 by olga94 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.