Jump to content

Search the Community

Showing results for 'lisp'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Общие форумы
    • Принципы распространения продуктов Нанософт
    • Общие вопросы
    • Скачать полезное
    • Обсуждение любых САПР
    • dows
  • Тематические форумы
    • Поддержка ОС Linux
    • dows
    • dows
    • dows
    • dows
    • dows
    • dows
    • dows
    • nanoCAD Механика 3D
    • dows
    • dows
    • nanoCAD Конструкции PS
    • nanoCAD BIM Electro
    • dows
    • dows
    • dows
    • dows
    • dows
    • dows
    • nanoCAD Стройплощадка
    • Функциональные расширения nanoCAD
    • Портал Технической поддержки
    • nanoTDMS
  • Программы членов Клуба разработчиков
    • KDM-INFO
    • Проектное бюро "Фордевинд"
    • VetCAD++
  • Не о программах
    • Юмор
    • Вопросы и пожелания по работе форума
    • Вопросы и пожелания по работе сайта
    • Новостная лента сайта nanoCAD.ru

Blogs

  • Фишки и трюки nanoCAD
  • Делюсь опытом работы с Cad программами
  • Полезные ссылки и закладки
  • Блог MaxSoft о nanoCAD
  • Утилиты nanoCAD или как упростить работу в программе
  • Конкурсы nanoCAD
  • О разном
  • cad admin notes
  • Рабочий дом как помощь людям
  • Все подряд
  • КТП и внешние сети в модуле Электро

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Сайт


ICQ


Skype


Город


Интересы


Организация


Специализация


Контактная информация

  1. Наверное, код делает еще много чего... Сама задача подключения к Excel и заполнения ячеек определенными данными достаточно просто и эффективно реализуется на Lisp с использованием vlax функций. Конструкция работает небыстро, но универсально для АС и NC.
  2. Это всё верно. Только изначальное назначение "этих Таблиц" не замена Excel, lisp , vba и прочего. Просто дать простому проектировщику инструмент для автоматизации алгоритмов, которые они используют в своей работе. И тут очень много проблем. "У меня есть таблица в Excel и я ей пользуюсь". Типовой ответ. Очень сложно переубедить
  3. Я просто не проводил экспериментов с программным доступом к содержимому таблиц. Понятно, что COM, Lisp via COM или другие технологии - это исключительно на вкус разработчика. Но при этом, похоже, необходимо проводить некоторые вспомогательные действия типа обновления атрибутов в блоках или команд, выполняющих эти обновления, а уже потом эти изменения отразятся в таблице. Заманчиво было бы, чтоб все происходило в автомате. Видос от @MCAD очень интересен. Использование специального маркера локальной СК - , пожалуй, самый верный подход. Разумный компромисс между автоматическим переводом при любой смене СК (даже временной) и ручными манипуляциями с объектами и, атрибутами и таблицами. К сожалению, такого маркера у себя в стандартной установке не нашел. Ну и точный поворот маркера - какая-никакая, но все-таки проблемка.
  4. Начну немного издалека... Есть несколько разношерстных независимых сборочек package: lisp, dll, exe, cfg В cfg каждой прописаны свои команды, панели и меню, но все меню грузятся и собираются под один пункт тут все просто ну и так далее, минимум места, максимум функционала ------------- но с лентой такой фокус не прокатывает если из конфига подгружать в одну вкладку [\ribbon\drzTools] CUIX=s%CFG_PATH%\PlotSPDS_menu.cuix visible=f1 [\ribbon\drzTools] CUIX=s%CFG_PATH%\AutoFill_menu.cuix visible=f1 то последний загруженный cuix затирает предыдущий если подгружать под разные [\ribbon\AutoFill] CUIX=s%CFG_PATH%\AutoFill_menu.cuix visible=f1 [\ribbon\PlotSPDS] CUIX=s%CFG_PATH%\PlotSPDS_menu.cuix visible=f1 то вот такая шляпа(((( места вагон остается, а заполнить не могу --------------------- Собственно вопрос, как? если есть ли возможность загрузить несколько cuix под одну вкладку т.е. что бы получилось вот так
  5. вопрос о том, что в первом посте топа инсталлятор который сам по себе никакой пользы не имеет конечная цель загрузка и настройка приложения которое в принципе в НК не работоспособно эту мысль ТС'у я и попытался донести... и даже если бы работала, это ТС'у в данном конкретном случае никак не помогло бы, просто я немного забежал вперед.. предвосхищая следующие вопросы))) --------------------- дык кто же спорит, давно бы уже тему Неработающие lisp функции нанокад иль чего подобное запилили вон и у Алексея мысли в этом направлении бродят
  6. Всем привет! Столкнулся ещё с одним багом. В частности, некорректно работают методы задания новых координат для полилинии. Проверил так: (vlax-put {Object} 'Coordinates {ListPoints}) и так: (vla-put-Coordinates {Object} {VariantPoints}) Результат один - неверный. Правда, не во всех случаях) Ошибка проявляется когда для полилинии устанавливаем более короткий список вершин. Во вложении видео с тестовой командой TestLW, где я создаю новую полилинию поверх восьмигранника, а затем, указывая новые вершины треугольника, пытаюсь её преобразовать. В результате получаю полилинию не в виде треугольника, а что-то иное, частично позаимствованное от старой фигуры. Тестовый Lisp файл во вложении. TestLW.mp4 TestLW.LSP
  7. Всем привет! В общем, ответа от разработчиков NC пока нет, а ждать у моря погоды нет времени, то для себя решил обойти проблему следующим образом. Хранить штатное глобальное определение обработчика ошибок в переменной, и по мере работы, переопределять и восстанавливать её определение. Вот так: ;При загрузке Lisp файла сохраняем штатное определение обработчика ошибок в переменную *standart-error* (setq *standart-error* *error*) (defun c:TEST ( / ) ;При запуске команды TEST переопределяем глобально обработчик ошибок (defun *error* ( msg ) ; в случаи ошибки восстанавливаем обработчик ошибок (setq *error* *standart-error*) ; Логика в случаи ошибки ; Если нужно, можем сказать с чем связана ошибка (if (wcmatch (strcase msg t) "*break*,*cancel*,*exit*,*quit*,*отмен*,*прерв*") (princ "\n Команда прервана пользователем\n") (princ (strcat "\n ERRNO # " (itoa (getvar "ERRNO")) ": " msg "\n" )) ) (princ) ) ; Логика команды TEST ; восстанавливаем обработчик ошибок (setq *error* *standart-error*) (princ) ) Интересно узнать, кто что думает о таком решении? И как вы оцениваете надёжность данного способа?
  8. Не реализована возможность ввода лисп-выражения в интерактивном режиме. Например, К сожалению, в нанокаде такой ввод невозможен (или я что-то не так делаю?) Такой метод ввода данных, конечно, не является широко распространенным. Но иногда он очень удобен. Например, если нужно ввести значение, которое представляет собой что-то типа 1/3 (при операции масштабирования). Ввод 0.33 - слишком грубо, 0.33333333333333333... - слишком долго и опять же может быть грубо. А вот (/ 1.0 3.0) - самое то! Но в АС оно есть, а в NC - нет. PS. Хотя реализован прямой ввод 4*3. И это хорошо. Только зачем проводить обработку лисп-выражения, но ничего не делать? Кроме того, кроме арифметических выражений, для которых реализовано даже лучше, чем в АС, возможно применение и выражений типа (entlast - последний элемент) при ответе на приглашение выбрать объекты, например, для удаления.
  9. Добрый день. Есть ли продвижение по реализации SLIDE_IMAGE? Пытаемся перейти с Автокада на Нанокад. Есть ряд примочек работающих с Lisp - DCL и использующие подгруппу *_image. Проведена ли какая-то работа в этом направлении с 2014 года?
  10. В связи с отсутствием среды отладки LISP в nanoCAD выкладываю ссылки на интересные презентации, показанные в рамках Autodesk University. Большая часть функций в nanoCAD работает и предложенная методика по большей части в nanoCAD может быть успешно использована. Не работают: vl-catch-all-*, *push-error-* Собственно презентации: 2013 Going on a Bug Hunt: Debugging and Handling Errors in AutoLISP https://www.autodesk.com/autodesk-university/class/Going-Bug-Hunt-Debugging-and-Handling-Errors-AutoLISPR-2013 2016-2017 Managing What Your LISP Routines Manage https://www.autodesk.com/autodesk-university/class/Managing-What-Your-LISP-Routines-Manage-2016 https://www.autodesk.com/autodesk-university/class/Managing-What-Your-LISP-Routines-Manage-2017#downloads Параллельно выложил на Яндекс-диск LISP - https://yadi.sk/d/qWePcZh2bdb6sQ?w=1 LISP_functions_NC20_AC2015.xlsx - https://yadi.sk/d/ZXPahVmU5Tw_sQ LISP Dump File - https://yadi.sk/d/Ni7wQDNgHXnTkA P.S. На сайте Autodek University можно найти очень много интересного. AutoLISP Debugging (AlfraLISP) https://www.afralisp.net/autolisp/tutorials/debugging.php
  11. насчет dll думал, технически несложно, но у меня пока три независимых "приложения", пользователь их может загружать из любого места, в любых сочетаниях, т.е. dll не вариант соответственно у каждого свои файлы справки, с онлайн справкой конечно проблем нет (она всегда в одном месте) а вот оффлайн открытие справки (lisp) и вызвала у меня затруднения.. но пусть и по волюнтаристски для нано вопрос решен, насчет АК если ( хотя вряд ли) возникнет нужда буду решать по факту
  12. Только начинаю разбираться с NanoCAD, посему прошу сильно не пиннать) Форум прочел, но ответа на свой вопрос не нашел( Есть файл .lsp, добавлен в автозагрузку, для запуска функций из него - нужно в командной строке LSP - О - функция Хотелось бы этот процесс упростить, путем добавления пользовательского меню, с кнопками вызывающими функии из моего файла. Как это делать с JS и VBS - посмотрел в примерах, все работает, а вот с LISP как быть? Помогите пожалуйста, может быть примером кто поделиться?
  13. Возможно ли в нанокаде загрузить шаблон автоматически? Необходимо загрузить рамку, но сделать это в минимальное количество телодвижений. Использовать команды через панель - долго, т.к. там необходимо указывать путь до папки. Есть ли какая-либо функция, чтобы шаблон или блок автоматически подгружался в пространство модели? Может быть при вводе какой-либо функции в командную строку или через lisp. Знаю о функции "import" и ей подобных, но при ее использовании также нужно указывать путь, а это необходимо свести к минимуму.
  14. Решил проверить состав команд LISP в nanoCAD 20.1 ... печалька ! Проверка показала резкое сокращение числа Symbols распознаваемых стандартным LISP. Проверка проводилась через 1) Команду >(atoms-family 1) 2) Скрипт LISPDumpFile.lsp (Прилагается) В результате получилось: Это: (1) ошибка, (2) отражение реального положения дел в LISP nanoCAD или (3) принципиальный отход от программирования на LISP в nanoCAD ? Вложения: LISPDumpFile.lsp LISPDumpFile_out.rar LISP_Symbols.xlsx
  15. Собственно вопрос в заголовке темы. Существует ли возможность вставить с палитры инструмент программным способом? Желательно Lisp. Если существует, то как?
  16. Пока гора не идет к Магомету можно использовать lisp В примере все прозрачно Ну и там еще кое-чего есть
  17. Замечательно. С построением разобрались. Переходим ко второй части. У области нет параметра "Центр масс". Он высчитывается в "Геометрия и масса". Возможно добавить помимо сохранения результатов в файл предложение "Установить центр на чертеже?" и добавить объектом "перекрестье с надписью "ц.м."" или как маркер у центра радиуса? Если это никому не нужно, то хотя бы подскажите как вытянуть из расчета параметры, чтобы не писать все формулы расчета (он же уже реализован программно) и использовать для создания центра средствами lisp или vba. Или возможно расширение характеристик геометрии для данного объекта? ))
  18. Блин... То была гипербола на тему, что нанодвижок должен различать прилетело ему из интерфейса или из программы.. Команда- простите мой французский, я еще только учусь, но для меня команда это потыкать нано изнутри шоб он чето сделал, неважно net vba ... Lisp имха тут немного особняком.. его команда может быть как в составе программы изнутри, так и напрямую с кнопки снаружи добавлено через 4 минут Тот год пробовал, чет не заработало у меня... Надо вернуться к этому вопросу... Осталось научиться ловить появление msgbox и нажимать не кнопку по умолчанию, а нужную.. в контексте чего этот месадж хочет
  19. А файлы каким образом открываются? И на каком языке? Потому как у меня что через ObjectDBX (lisp), что через переключатель баз (C#) никаких диалогов в принципе не вываливалось. Ну, кроме сообщений об ошибках при некоторых условиях
  20. В процессе адаптации одного из Lisp-скриптов выяснилось различие в реализации DXF-кодов для объекта "LWPOLYLINE" по сравнению с аналогом. Результат вызова функции (entget... . Различие в том, что аналог возвращает двухмерную точку, а NC - трехмерную. При сохранении файла в DXF-формате обе системы сохраняют Косяк, предположительно, в реализации функции (entget...
  21. Обнаружено различное поведение LISP AutoCAD и nanoCAD в случае наличия дублирующихся имён переменных во входных параметрах и внутренних переменных. Например, нижеследующий код в AutoCAD будет выполнен нормально, а в nanoCAD выдаст ошибку. Код: nanoCAD: AutoCAD: Тестовый скрипт: TestFuncParam.lsp
  22. Есть программы которая считывает атрибуты блока и заполняет таблицу (например: общие данные). Случайно заметил глюк. При очередном открытии файла (после просмотра его автокадом) атрибуты блоков немного "поплыли". Помогает команда в командной строке "атробновить". Атрибуты в пространстве модели после этого выглядят нормально. Но программное чтение атрибута не видить его значения. При этом в свойствах блока значения атрибутов видно. Чтобы исправить ситуацию приходится ручками заходить в редактирование атрибута блока и не редактируя выйти. Что это может быть? и как избежать?
  23. В AutoLISP различие результата выполнения функций print и prin1 заключается в частности в том, что функция print предваряет вывод очередной порции текста переводом строки. В nanoCAD этого не происходит ! TestPrint.lsp test-print_nanoCAD.txt test-print_AutoCAD.txt
  24. Создание списка слоев с заданными параметрами. В диспетчере слоев создается список слоев с определённым названием, типом и весом линий. CreateLayers.LSP
×
×
  • Create New...