Перейти к содержанию

Рекомендуемые сообщения

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

Кстати, может стоить попробовать осуществить запуск из лиспа досовской команды "CMD>hh.exe …".

Вроде в акаде такая конструкция была осуществима


Это понятно. В крайнем случае можно получить доступ через VBA. Правда там придется для CHM городить MAP и ALIAS.

Я пробую понять что именно работает и как-то все становится все более печально. Если функция не работает, то зачем она показана ?
В NC20 появились новые функции, которых не было в NC11. Сомнительно, чтобы это было сделано случайно. Видимо, кто-то этим занимался, ставил "галочки" на подключение .... но описания этих функций нет и в помине.

Один хороший человек сказал, что нельзя быть САПРовцем и не быть программистом. Похоже, что разработчики nanoCAD с этим категорически не согласны.

 

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

Не знаю, в этом ли дело, но команда (acad_helpdlg) в справке указана как "externally defined function".

Т.е. она не является внутренней командой акада.

Команда (help) действительно неопределенна, о чем честно написано в справке по лиспу для нанокада.


 Это в какой именно Справке ?

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 58
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Популярные посты

С учетом того, что многие функции nanoCAD LISP показаны, как "Функции неопределенные", число работающих функций LISP nanoCAD 20 сократилось до 336 из 365. Но зато обнаружены функции VL-LOAD-COM и V

Изменила цикл while, убрала pause в (command "_move" ...), вернула блокировку по сравнению с вариантом Кудряшова А. Проверила под 20.3 и 21.0 AVP_NC.lsp

Принципиальное отличие nanoCAD от AutoCAD  в строке вызова команды: AutoCAD: (command "._move" (vlax-vla-object->ename Viewport) "" "0,0" pause)  nanoCAD: (command "move" (vlax-vla-object-

Изображения в теме

14 минут назад, A.Kudrjashov сказал:

Это в какой именно Справке ?

 

Справку по функции (acad_helpdlg) я прочитал тут,  в ремарках.

Команда (help) отсутствует в справочном файле по нано ncLISP_ref.chm из комплекта для разработки

 

 

Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, EdwardSt сказал:

Справку по функции (acad_helpdlg) я прочитал тут,  в ремарках.


С AutoCAD все понятно. Там и та и другая функция отлично работают. У (help) есть дополнительный бонус, но я его не проверял.

 

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

Команда (help) отсутствует в справочном файле по нано ncLISP_ref.chm из комплекта для разработки


Я там тоже смотрел.
Является ли отсутствие функции в списке основанием считать ее не реализованной - вопрос ?
image.png.31f64d09d78436ac2b8d7c0f5b566cef.png
 

Ссылка на сообщение
Поделиться на другие сайты
17 минут назад, A.Kudrjashov сказал:

Является ли отсутствие функции в списке основанием считать ее не реализованной - вопрос ?

 

Я, конечно, понимаю! Всякое бывает (могли упустить, глюкнул ворд при верстке и т.п.).

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

Ссылка на сообщение
Поделиться на другие сайты

Выложил скомпилированное описание "Стиля программирования AutoLISP", а также электронные книги и документацию.

Яндекс диск:

https://yadi.sk/d/5_JWGHtOnsQ_HQ


Google Disk:

https://drive.google.com/drive/folders/1aJpLsgxlTtT24-do2h2Z3xJ4oEMA6pTG

2020-03-16_Стиль программирования AutoLISP.docx

Ссылка на сообщение
Поделиться на другие сайты

Так и не нашел нигде описание реализации DCL под nanoCAD !
На сайте утверждается, что все должно быть замечательно, но в реальности не получается.

https://www.nanocad.ru/help/comparison/

Спойлер

image.thumb.png.fca56b29520b40dda7bef58d0bee38bb.png

 

В nanoCAD не распознается :paragraph и :slider. Если первый можно заменить на :column, то второй отсутствует, как таковой.
При заполнении fill_image, height воспринимается адекватно, как работает width я так и не понял.

Вот, например, заполнение области с height = 1.0, width = 1.0

Спойлер

image.png.3b21d6e442a7893baf2dbfef8f41c356.png


А вот это заполнение области с height = 3.0, width = 10.0

Спойлер

image.png.5a1041173f917fd904dcbb0e3b59cecd.png


Примеры LISP/DCL куцые, без объяснений.

P.S.
Прикладываю пример. Неработающие строки DCL закомментированы.
Пример взят отсюда:
https://www.afralisp.net/dialog-control-language/tutorials/dialog-boxes-and-autolisp-part-4.php

samp8.dcl

samp8.lsp

 

Изменено пользователем A.Kudrjashov
Ссылка на сообщение
Поделиться на другие сайты

Реальность, она всегда посложней любой модели будет. Отсутствие поддержки некоторых элементов не означает, что нет поддержки DCL. Присылайте конкретные примеры, поставим в план развития.

Ссылка на сообщение
Поделиться на другие сайты
15 минут назад, ISL сказал:

Реальность, она всегда посложней любой модели будет. Отсутствие поддержки некоторых элементов не означает, что нет поддержки DCL. Присылайте конкретные примеры, поставим в план развития.


Примеры, выложил.

Ссылка на сообщение
Поделиться на другие сайты

Выложил файл с разнообразными ссылками на информационные ресурсы.
Буду периодически обновлять.

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

Вечером выложу раздел Info с собранными статьями.

Яндекс диск:

https://yadi.sk/d/5_JWGHtOnsQ_HQ


Google Disk:

https://drive.google.com/drive/folders/1aJpLsgxlTtT24-do2h2Z3xJ4oEMA6pTG

Ссылки.xlsx

Изменено пользователем A.Kudrjashov
Ссылка на сообщение
Поделиться на другие сайты

1. Не работают функции vla-startundomark и vla-endundomark.

al-undomark.lsp

добавлено через 6 минут

 

2. Для информации. Как выяснилось, под nanoCAD 11 не работает функция vla-getWidth !
Под nanoCAD 20 данная функция работает нормально.

 

В процессе исполнения кода внутри какого-либо скриптового модуля, прерывания процесса не происходит !

Если попытаться протестировать функцию в командной строке, то получаем сообщение об ошибке: "Сервер ActiveX вернул ошибку: Несовпадение типов.".

(Ниже выбираем любую полилинию)

nanoCAD 20:

Спойлер

image.png.395e4cf8b9291bb63b26b60f5dd7ca99.png


nanoCAD 11:

Спойлер

image.png.aec6781db291c95cba6bf3a9a3a3c572.png

 

Изменено пользователем A.Kudrjashov
Ссылка на сообщение
Поделиться на другие сайты

Поскольку, похоже, есть проблемы с функциональной совместимостью AutoCAD/nanoCAD, а также по версиям, набросал небольшой пул функций получения информации об активном приложении.

На данный момент примерно вот так, но я еще не программы обновил:

Спойлер

image.thumb.png.83024a24983932c4d8123e84dbbd65f3.png

 

Пока не понял как достучаться до "сборки" nanoCAD.

 

GetNCApplicationInfo.xlsx


Upd. Добавил функцию выделения имени приложения из Caption

GetCurentApplication.lsp

 

Изменено пользователем A.Kudrjashov
Ссылка на сообщение
Поделиться на другие сайты

Для информации.
Еще обнаруженные расхождения в поведении программ. Ниже приложен небольшой файл формирования DCL диалога Списка.

 

1. В AutoCAD 2015 все выполняется нормально и результат выглядит следующим образом.

Спойлер

image.png.150fe760ebda9654af30bc7dd2466afb.png


2. В nanoCAD 11/20 не работает свойство "alignment=top". Вываливается ошибка выполнения.

 

3. В nanoCAD 11 кроме этого функция  vl-filename-mktemp не понимает в аргументе directory значения nil. Приходится указывать конкретный путь.

4. Ну и в результате в nanoCAD 11/20 получаем при тех же самых расчетах несколько иную картинку !

Спойлер

image.png.3aca69d639eb07fd80d952e498f4c8c6.png


Собственно, файлы:
MyDCL_AC.lsp

MyDCL_NC11.lsp

MyDCL_NC20.lsp

Запускаем >(pl:test)

Ссылка на сообщение
Поделиться на другие сайты
10 часов назад, A.Kudrjashov сказал:

Ниже приложен небольшой файл формирования DCL диалога Списка.

Уж если мы добрались до формирования диалогов, не могу не предложить альтернативный вариант "Пользовательских форм"

И чего только не придумают лишь бы СПДС не покупать

PS: Про формы можно посмотреть здесь

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, MCAD сказал:

Уж если мы добрались до формирования диалогов, не могу не предложить альтернативный вариант "Пользовательских форм"


Да, надо будет обязательно посмотреть.

Я сейчас пытаюсь выяснить область применимости стандартной технологии. С учетом того, что обычный пользователь глубоко копать и ловить все эти нестыковки не будет, получается печально. Спотыкаешься на элементарных вещах.

Ссылка на сообщение
Поделиться на другие сайты
21 минуту назад, A.Kudrjashov сказал:

Я сейчас пытаюсь выяснить область применимости стандартной технологии

Я всё хорошо понимаю и не призываю Вас отказаться от старых наработок и навыков. 

21 минуту назад, A.Kudrjashov сказал:

Спотыкаешься на элементарных вещах

В Lisp'e  легко и просто делать простые вещи. Однако требуются определённые навыки. В MechWizard (Мастере объектов) многие операции доступны простому пользователю БЕЗ опыта программирования.  

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Протестирован модуль PLTOOLS под nanoCAD. 
Выкладываю первое приближение.

Первоисточник здесь
https://dwg.ru/dnl/607
https://www.caduser.ru/forum/topic47618.html

Работа модуля проверена под AutoCAD 2015, nanoCAD 11/20.

 

Постарался все максимально прокомментировать. Все команды работают, за исключением "C:PL-P90". Там есть принципиальные проблемы.
Добавлена команда построения кратчайшего пути полилинией через центры выделенных объектов "C:CSPath".

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

В целом, перечень проблем следующий:

В nanoCAD не работает функция (ssget с параметром "_:L"... Вместо нее для nanoCAD подключаем функцию-обертку (nano:ssget-l ...).

В дальнейшем необходимо проверить работу функции nano:ssget-l под AutoCAD и, возможно оставить только ее.

 

В nanoCAD 11 проблема с функцией vla-getwidth.
Если передаешь инициализированные переменные ширины, то получаешь сообщение, что "значение не может быть приведено к VARIANT с этим типом: 0.0"
Если передаешь не инициализированные переменные ширины, то получаешь сообщение, что "Сервер ActiveX вернул ошибку: Несовпадение типов"
Если передаешь переменные с nil ширины, то получаешь сообщение, что "Сервер ActiveX вернул ошибку: Parameter not optional"
  
Не корректно отрабатывает команда назначения дополнительной UCS.
Проблемные команды:
C:R3P - Нарисовать прямоугольник по 3 точкам (В nanoCAD использована команда FRAME)
C:PL-P90 - Рисовать перпендикулярными линиями. Команду под nanoCAD надо принципиально переписывать

 

Переменная ORTHOMODE при получении значения (1) не включает режим "ОРТО" !
При включении/отключении режима "ОРТО" значение переменной ORTHOMODE выставляется правильно.

 

Отсутствует системная переменная EXPERT.
Обращения к ней закоментированы.

 

В nanoCAD некорректно работает функция vl-cmdf, вместо нее приходится использовать COMMAND.
Однако, если команде COMMAND необходимо передать переменное число параметров, то сделать это не получается.
К примеру, формирование полилинии с произвольным числом вершин было выполнено не через COMMAND, а через entmake

 

В nanoCAD некорректно работают функции vla-startundomark и vla-endundomark
Их пришлось обойти.


Файлы:
pltools_nano_2020-04-07_01.lsp

Readme.txt

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Для библиотеки PLTOOLS переделаны иконки. Ранее существующие у меня очень плохо отображаются в nanoCAD. Они сохранены в подкаталоге "\BMP\ARC".

Для нормального отображения иконок необходимо проверить настройку путей к .BMP в файле "pltools.cuix.cfg" !

 

Процедура подключения описана в "2020-04_Readme_NC.txt". Предыдущие Readme также сохранены.

 

Спойлер

image.png.fa4a3e4022b68d7d04e7a9eb137f9aec.png

 

PLTOOLS_NC.ZIP

 

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...
В 22.04.2020 в 09:26, A.Kudrjashov сказал:

Для библиотеки PLTOOLS переделаны иконки. Ранее существующие у меня очень плохо отображаются в nanoCAD. Они сохранены в подкаталоге "\BMP\ARC".

Для нормального отображения иконок необходимо проверить настройку путей к .BMP в файле "pltools.cuix.cfg" !

 

Процедура подключения описана в "2020-04_Readme_NC.txt". Предыдущие Readme также сохранены.

 

  Скриншот (Показать контент)

image.png.fa4a3e4022b68d7d04e7a9eb137f9aec.png

 

PLTOOLS_NC.ZIP 322 \u043a\u0411 · 1 загрузка

 

Спойлер

85184bf6ce1d6367c56b348b93b3e302.png
 

Как вывести такие же палитры как выше ? что я делаю не так, или их сам набираешь ? 

Изменено пользователем aerohost
Ссылка на сообщение
Поделиться на другие сайты
В 11.03.2020 в 15:33, EdwardSt сказал:

PS. Кстати, может стоить попробовать осуществить запуск из лиспа досовской команды "CMD>hh.exe …".

Вроде в акаде такая конструкция была осуществима


Я посмотрю, но позже, после 11.05. Там просто надо сесть и разобраться. :)

Ссылка на сообщение
Поделиться на другие сайты
  • 1 год спустя...

Добрый час. Как подключить к версии 20.1?

Застрял на шаге "Командой НПИ подгрузить файл pltools.cuix.cfg из папки распаковки"

В 20.1 подключение делается, как я понял, по другому.

Ссылка на сообщение
Поделиться на другие сайты

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

"Создание группы видовых экранов в одной вкладке листа"

К сожалению в нанокад 20.1 не работает.

Может подсказать кто то, как сделать, что бы он работал?

Lisp прилагаю

AVP.LSP

Ссылка на сообщение
Поделиться на другие сайты
40 минут назад, bgrt21 сказал:

Добрый час. Как подключить к версии 20.1?

Застрял на шаге "Командой НПИ подгрузить файл pltools.cuix.cfg из папки распаковки"

В 20.1 подключение делается, как я понял, по другому.

 

Вроде как всё аналогично.

 

После подключения конфигурационного файла он копируется в профиль пользователя, а после перегрузки nanoCAD появляются панели PLTOOLS.

1. Настройка Общих папок

Спойлер

image.png.74a7a5052abf9473f1ad92182b68edf9.png

 

2. Проверка правильности пути к Иконкам

Спойлер

image.png.4809fe108888f7d3d80d1a80a3ec169d.png

 

3. Автозагрузка PLTOOLS.lsp

Спойлер

image.thumb.png.e8f4d6aa9c2a2b80a629677b8dc74ef6.png

 

4. Подключение файла конфигурации (НПИ)

Спойлер

image.png.d760c2ef298ae1e211f47800305d6da1.png

 

5. Панели инструментов

Спойлер

image.thumb.png.d8e1a818b167c5e2681092554778a8fc.png

 

 

 

 

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, A.Kudrjashov сказал:

 

Вроде как всё аналогично.

 

После подключения конфигурационного файла он копируется в профиль пользователя, а после перегрузки nanoCAD появляются панели PLTOOLS.

1. Настройка Общих папок

  Настройка Общих папок (Показать контент)

image.png.74a7a5052abf9473f1ad92182b68edf9.png

 

2. Проверка правильности пути к Иконкам

  Проверка пути (Показать контент)

image.png.4809fe108888f7d3d80d1a80a3ec169d.png

 

3. Автозагрузка PLTOOLS.lsp

  PLTOOLS.lsp (Показать контент)

image.thumb.png.e8f4d6aa9c2a2b80a629677b8dc74ef6.png

 

4. Подключение файла конфигурации (НПИ)

  НПИ (Показать контент)

image.png.d760c2ef298ae1e211f47800305d6da1.png

 

5. Панели инструментов

  Панели инстументов (Показать контент)

image.thumb.png.d8e1a818b167c5e2681092554778a8fc.png

 

 

 

 

Gif инструкция.

 

Почему иконки не подгружаются ? 

Untitled Project.gif

Ссылка на сообщение
Поделиться на другие сайты
24 минуты назад, aerohost сказал:

Почему иконки не подгружаются ? 

 

В файле Readme_NC.txt написано, что надо проверить пути к иконкам в config файле.
Я прописывал в d:\Program Files\Nanosoft\PLTOOLS\BMP\

Выше скриншот под п.2

На GIF все мельтешит, отследить не успеваю. Но я проверял в разных местоположениях, просто менял пути и все иконки срабатывали.

 

Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, A.Kudrjashov сказал:

 

В файле Readme_NC.txt написано, что надо проверить пути к иконкам в config файле.
Я прописывал в d:\Program Files\Nanosoft\PLTOOLS\BMP\

Выше скриншот под п.2

На GIF все мельтешит, отследить не успеваю. Но я проверял в разных местоположениях, просто менял пути и все иконки срабатывали.

 

Я изменил файл  pltools.cuix.cfg, который лежит C:\Users\msipc\AppData\Roaming\Nanosoft\nanoCAD x64 21.0\Config с  BitmapDll=sd:\Program Files\Nanosoft\Pltools\BMP\ХХХ  на BitmapDll=sc:\Program Files\Nanosoft\Pltools\BMP\ХХХ , но почему не работает. все правильно сделал ? 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Расскажите друзьям

    Нравится Официальный форум компании Нанософт? Расскажите друзьям!

×
×
  • Создать...