Jump to content

Создание листа по шаблону


Recommended Posts

Здравствуйте Уважаемые специалисты NanoCAD!

 

Проблемы в следующем: в настройки программы добавляю путь к шаблону листа (см. рисунок), сразу после это пытаюсь выполнить команду "Лист по шаблону.." и окно, где лежит шаблон открывается. Если заходить в другие папки, например, чтобы открыть чертеж, ТО если выполнить затем опять команду "Лист по шаблону..", то окно открывается в другой папке. Короче говоря, путь где лежит шаблон листа не сохраняется!

 

Подскажите пожалуйста, как можно вероятно с помощью лиспа, указать NanoCAD-у, что при запуске команды "Лист по шаблону.." открыть папку такую-то?

Заранее спасибо!

111.png

Edited by olga94
Link to comment
Share on other sites

35 минут назад, olga94 сказал:

в настройки программы добавляю путь к шаблону листа

это путь к шаблону нового документа

создать лист по шаблону можно из любого файла чертежа

более эффективным будет добавить ссылку на каталог с шаблонами в "Быстрый доступ" windows

Спойлер

image.thumb.png.46a05b1b9d66f63531bedfc1eba6252c.png

 

  • Like 1
Link to comment
Share on other sites

37 минут назад, olga94 сказал:

Короче говоря, путь где лежит шаблон листа не сохраняется!

Указанные настройки относятся к шаблонам ДОКУМЕНТОВ  (*.dwt), а не листов.

Эти шаблоны используются для создания новых файлов.

Лист по шаблону - это функция считывания уже настроенных листов в документах и шаблонах.

Но диалог выбора файла имеет собственную логику, не зависящую от настроек программы.

  • Like 1
Link to comment
Share on other sites

Posted (edited)
22 минуты назад, EdwardSt сказал:

Но диалог выбора файла имеет собственную логику, не зависящую от настроек программы.

Скажите пожалуйста, можно ли переопределить действие команды "ШЛИСТ" или "РЛИСТ/опция Шаблон"?

Например, если эта команда запущена, то делай то-то: открой каталог, например, с помощью lisp, vbs или scr?

Edited by olga94
Link to comment
Share on other sites

27 минут назад, olga94 сказал:

Например, если эта команда запущена, то делай то-то: открой каталог, например, с помощью lisp, vbs или scr?

Нет, внутри команды лисп-выражения в нанокаде не работают.

В отличие от АС, кстати...

Link to comment
Share on other sites

14 минут назад, EdwardSt сказал:

Нет, внутри команды лисп-выражения в нанокаде не работают.

дык

filedia 0

рлист ш

<имя файла>

<имя листа>

правда имя файла шаблона гвоздями прибито будет имя листа тоже,

-----------------

но можно, запросить у юзера файл (открыть раннее определенный каталог)

дать выбрать файл

через  dbx прочитать его (список листов)

на дизеле (или другом окошке) вытащить пользователю список листов, чтоб он выбрал

скормить разведданые в РЛИСТ

---------------

можно еще прикрутить настройки, что бы пользователь мог менять каталог, окно о программе и т.д.

==================

делов то))))

проще ж чем ссылку в быстрый доступ добавить)))

Link to comment
Share on other sites

Я имелл ввиду не только диалог выбора файла.

Например, в АС на запрос числа можно ответить лисповским приложением (+ 1 3), и в АС попадет введенное число 4.

В нане такие фокусы не проходят. Число вычисляется, а в команду не попадает.

Т.е., лисповским выражением (в принципе это может быть вызов функции со сколь угодно сложным алгоритмом внутри) отвечать внутри команды не получается.

 

У автора ветки проблема сводится к сохранению пути к некоей папке с собственными шаблонами в виде настройки.

К сожалению, для данной команды стандартной настройки нет. Поэтому остается создавать функцию-обертку, в которой будет сначала извлекаться САМОСТОЯТЕЛЬНО сохранённый путь к файлам шаблонов, попутно чонить еще будет сделано, а потом (command "РЛИСТ" ... и т.д..

Или программно (не на лиспе!) реализовать myРЛИСТ. Как-то так...

16 минут назад, doctorraz сказал:

делов то))))

проще ж чем ссылку в быстрый доступ добавить)))

Именно!)))

Link to comment
Share on other sites

3 минуты назад, EdwardSt сказал:

Или программно (не на лиспе!) реализовать myРЛИСТ.

противоречит ТЗ...

уже прилетало за самодеятельность от ТС'ов

добавлено через 3 минут
4 минуты назад, EdwardSt сказал:

Например, в АС на запрос числа можно ответить лисповским приложением (+ 1 3), и в АС попадет введенное число 4.

В нане такие фокусы не проходят

хоть не лисповские работают 

10+50

500/2.5

на том спасибо)))

Link to comment
Share on other sites

1 час назад, doctorraz сказал:

хоть не лисповские работают

Это, действительно, хорошо.

Просто ответ в виде лиспа позволял бы сложные функции подсовывать.

Или, например, на запрос указания последовательно двух элементов (setq a (entlast)) и далее (entnext a).

Но с наной так не забалуешь...

  • Like 1
Link to comment
Share on other sites

Posted (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 by olga94
  • Like 2
Link to comment
Share on other sites

1 час назад, olga94 сказал:

Есть ли у Вас какие-то идеи на этот счет, как можно было бы это использовать, чтобы "OpenInitDir" прописывалась автоматически для каждого профиля?

Хорошо, что вам удалось найти место, где эта переменная хранится.

Теперь нет необходимости заморачиваться собственным управлением переменными.

 

Предполагаю, что на шарпе умельцы влегкую отредактируют ветку(и) реестра.

Но ввиду явно нечастого использования такой настройки, может и редактировать прямо в реестре?

 

Link to comment
Share on other sites

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 by doctorraz
  • Like 2
Link to comment
Share on other sites

2 часа назад, doctorraz сказал:

только как по мне, так себе идея.. это же путь поиска шаблонов документов...

Плюсую незачеркнутому

Link to comment
Share on other sites

  • 1 month later...
Posted (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 by olga94
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Tell a friend

    Love Официальный форум компании Нанософт Разработка? Tell a friend!
×
×
  • Create New...