Search the Community
Showing results for 'lisp'.
-
-
Version 22-09-2023
3 downloads
CopyBlock-VVA_Nc_22.lsp, CopyBlock-VVA_Nc_23.1.lsp ;LA Цель :определить точку вставки исходного блока, значения атрибутов и заменить таким же блоком с новым именем ;;;------------------------------------------------------------------------------------------------------------------------------- ;;; CopyBlock - ROUTINE TO COPIES THE SELECTED BLOCK WITH A NEW NAME ;;; WORC (i HOPE) with dynamic block ;;; Лисп предназначен для создания копии блока с новым именем для запуска набрать CB ;;; Created by Vladimir Azarko (VVA) 2010-06-02 (azarko@yandex.ru) ;;; Credits to Tony Tanzillo, Joe Burke and Vishal Gonsalves for sharing their lisp copyblock.lsp ;;; http://discussion1.autodesk.com/forums/thread.jspa?messageID=6182594� ;;; http://discussion.autodesk.com/forums/thread.jspa?threadID=767010 ;; https://forum.dwg.ru/showpost.php?p=577878&postcount=8 -
Как в nanoCAD в консоли узнать состояние инициированной переменной ? В AutoCAD для этого предназначена команда > !<VarName>, но в nanoCAD она не работает ни в командной строке, ни в консольном режиме. Upd. В nanoCAD в консоли переменная выводится без задания префиксом восклицательного знака. Но можно ли как то получить значение переменной и в командном режиме ? Upd2. Мелочь, но тем не менее. Почему "Ошибка" ?
-
Переработал для себя lisp, которым пользовался в autocadе, и добавил некоторые специально для nanocada. Выкладываю, может кому-нибудь пригодится. Работоспособность проверялась в Nanocad СПДС 22. Установка: - скопировать все файлы в папку, - прописать эту папку в настройках nanocada как путь к вспомогательным файлам - добавить файлы CustomFunc.LSP, SNanoHelp.LSP, comBlock.lsp в автозагрузку comBlock.lsp CustomFunc.LSP SNanoHelp.LSP _DynBlock_Template.dwg bl_redefine.DCL block_prop_copy.DCL printDialog.DCL printOpt.DCL Рамки форматаV4.dwg Upd. Добавил файлы в загрузки
-
Version 1.0.0
3 downloads
Простой LISP для очистки от аннотативных масштабов, c выводом количества АМ и подтверждения от пользователя на удаление. Думаю может пригодиться кому для пределки под себя. Внимание: Файл содержит большое количество аннотативных масштабов. Рекомендуется удалить масштабы, запустив команду -ОЧИСТИТЬ и выбрав опцию AНнотативные масштабы --- (497148) В подобных файлах, работает с задержкой. -
Lisp.Расстановка дин.блоков по вершинам полилинии (нумерация вершин) Описание- Данный Lisp пригодится тем, кто хочет быстро получить координаты полилинии. Функционал: Расставляет любой дин блок в вершины, задается любая начальная нумерация, вставка префиксов и суффиксов нумерации. Отдельное спасибо A.Kudrjashov Файл.dwg MD.lsp
-
Имха lisp для проксей, такое себе.. Наряду с com это обертки над тем, что разработчик посчитал вытащить наружу.. Умирающие технологии, по сом сужу, движения ноль.. С .net немного получше, но это тоже обертка на nrx arx, что разработчик высунул за то и дергаем.. Насколько я понял эту кухню максимально возможный контроль на плюсах, но и там ограничения добавлено через 4 минут Не надо себя ограничивать.. не стесняйся запускать нано с спдс или механикой.. и надпись "нано с энаблером" тебя не должна запугать.. различия в работе только в GUI, программно все работает одинаково энаблер или нет)) добавлено через 7 минут
-
Наверняка же кто-нибудь озадачивался переписыванием и переназначением стандартных команд Нанокада (Типа "Сохранить", "Новый файл", "Закрыть" и т.д.) на LISPе? Есть какие-то проверенные временем версии, чтоб заменить и спокойно забыть до поры, пока не захочется в них что-то своё добавить?
- 28 replies
-
- сохранить как
- открыть
-
(and 2 more)
Tagged with:
-
Это такое жэж снаружи как и vba COM почти мертвая технология, мелкослфт забросил, остальные и подавно.. LISP более изнутри, NET ваще изнутри и быстрее лиспа NRX ваще внутри всего)) От задачи.. Как по мне VBS и JS сравнительно неудобно нет отладки и спросить подсмотреть не у кого Тогда уж лучше VBA с отладкой и примерами, но Не трать свое время изучай NET и не VB, а C# по нему и примеров море и вааще.. добавлено через 4 минут Ну и еще нюанс если прям vba хочется автономно... Vb6 живее всех живых))) Пишешь на vba, компилируешь и получаешь exe.. Из минусов пипец как медленно работает, дофига чего не доступно напрямую.. итд итп добавлено через 8 минут Хотя с нанокад не все так однозначно.. Спустя 15 лет своего существования он так и не имеет NET.API для печати.. через COM печать импортозамещают.. Хотя печать процесс сам по себе небыстрый... Ну и эпик фэйл некоторые настройки печати доступны только через COM, NET.API не имеют.. каково??
-
Здравствуйте Уважаемые специалисты NanoCAD! Подскажите пожалуйста как передать переменную "(getvar "CPROFILE")" из запускаемого ЛИСПА в файл vbs, например: В lisp: (vl-cmdf "-VBS" "C:\\!Settings.vbs") В !Settings.vbs: strKeyPath = "SOFTWARE\Nanosoft\nanoCAD x64\22.0\Profiles\(getvar "CPROFILE")\IO\SaveProjects"
-
Lisp.Изменение высоты и ширины MTEXTA (BoundMText) Описание- Lisp позволяет изменить ширину и высоту полей MTEXTA под фактический размер самого текста, удобно для тех, кто использует функцию "Скрытие заднего фона" Lisp умеет так же делать рамку вокруг MTEXTA , и делать заливку MTEXTA. Фон цвета может принимать, как различные цвет (ввод значения "1", по умолчанию применяется заливка фона белого цвета (255)), так по цвету чертежа( ввод значения "Да") Отдельное спасибо EdwardSt BoundMText.lsp
-
Добрый день! Прошу помощи с загрузкой LISP в нанокад. В Автокаде он работает. Навыками программирования не обладаю. При загрузке LISP выдает ошибку В редакторе LISP, при запуске пишет "Неверный тип аргумента 2D/3D point: nil" Код: (vl-load-com) (defun C:adv_toolkit_installer (/ path sup_path my_path _adv-str-with-separator-to-lst) (defun _adv-str-with-separator-to-lst (str pat / i) (cond ((= str "") nil) ((setq i (vl-string-search pat str)) (cons (substr str 1 i) (_adv-str-with-separator-to-lst (substr str (+ (strlen pat) 1 i)) pat) ) ;_ cons ) (t (list str)) ) ;_ cond ) ;_ defun (setq sup_path (vla-get-supportpath (vla-get-files (vla-get-preferences (vlax-get-acad-object)) ) ;_ end of vla-get-files ) ;_ end of vla-get-supportpath ) ;_ end of setq ;| (PRINC "\n") (PRINC "Старые пути поддержки:") (PRINC "\n") (PRINC sup_path) (PRINC "\n") |; (setq sup_path (vl-remove-if '(lambda (x) (wcmatch x "*ADV*")) (_adv-str-with-separator-to-lst sup_path ";") ) ;_ end of vl-remove-if ) ;_ end of setq (setq path "") (mapcar '(lambda (x) (setq path (strcat path x ";"))) sup_path ) ;_ end of mapcar (vl-string-right-trim ";" path) (setq my_path ";C:\\ADV_Toolkit") (setq path (strcat path my_path)) (vla-put-supportpath (vla-get-files (vla-get-preferences (vlax-get-acad-object))) path ) ;_ end of vla-put-supportpath ;| (PRINC "\n") (PRINC "Новые пути поддержки:") (PRINC "\n") (PRINC (vla-get-supportpath (vla-get-files (vla-get-preferences (vlax-get-acad-object))))) (PRINC "\n") |; (vl-cmdf "_.-WSSAVE" "" "_y") (vl-cmdf "_.CUIUNLOAD" "adv_toolkit") (vl-cmdf "_.CUIUNLOAD" "adv_cad") (vl-cmdf "_.CUILOAD" "adv_toolkit") (setvar "WSCURRENT" (getvar "WSCURRENT")) ) ;_ end of defun (C:adv_toolkit_installer) (PRINC "\nADV_Toolkit успешно загружен и настроен.")
-
Прошу помощи в адаптации Lisp под нанокад. А именно функцию команды PL-VFI Я так понимаю вся истина кроется тут (ssget "_:L" '((0 . "*POLYLINE,LINE,ARC,CIRCLE")))) А именно тут "_:L" pltools.lsp
-
Добрый день Я новичок в lisp, прошу помощи. Хочу включить панель инструментов, а если панель инструментов уже включена, то не выключать ее при запуске lisp команды. Следующие строчки работают как включить панель инструментов, при повторном запуске выключить панель инструментов: (DEFUN c:test () (command "showtoolbar_3DREFEDIT") )
-
Почему-то нету кнопки прикрепить в этой ветке форума у меня) Лисп удаления дублирующихся блоков во всём чертеже: https://ftp.nanosoft...665d415e5ade6d2 UPD. Кнопка появилась)) pl_bl-del-copy.LSP
-
В объектной модели приложения многие элементы представляют собой коллекции. Помимо различных специфических свойств они имеют похожие методы/свойства "Item" и "Count" с достаточно очевидной интерпретацией. Вместе с тем, доступ к некоторым из них вызвал затруднения. Поясню на примере. Небольшой фрагмент кода: (vl-load-com) (defun c:Example_Collection() (setq acadObj (vlax-get-acad-object) v acadObj) (print "Исследуем коллекцию Application") (vlax-dump-object v 'T) (setq v (vla-get-MenuBar v)) (print "Исследуем коллекцию MenuBar") (vlax-dump-object v 'T) ;(setq v (vla-item v 0));Такой доступ не прокатывает (setq v (vla-item v "Файл")) (print "Исследуем коллекцию пункта меню") (vlax-dump-object v 'T) ) Все штатно и ожидаемо. Имеем свойство "menubar" - только для чтения. с попутным сообщением Т.е., средствами лиспа не удалось определить количество элементов Item. Не удается так же "добраться" до первого элемента меню через Item[0]. Теме не менее, удается извлечь Все параметры с ошибкой сопровождаются с похожими сообщениями об ошибке (см.выше). На основании этого кейса хотелось бы получить ответы на следующие вопросы: Как средствами lisp все-таки получить значения свойств, для которых отображается "ошибка" в функции (vlax-dump-object и всех сходных с ней типа (vlax-get-... и (vlax-get-property... ? Как получить размерность массивов Item, когда свойство "Count" недоступно (см. вопрос1) ? Как получить список доступных наименований, с помощью которых можно получить доступ к Item["Имя"] ?
-
Здравствуйте, возможно кто-то сможет помочь. Имеется Lisp используемый в AutoCad, называется Parline. Суть в том, что ты задаешь точки привязки на плане и автоматически параллельно стене с заданным в Lisp отступом прорисовывается полилиния. Загружая в NanoCad это Lisp он работает отчасти, т.е. понимает, что нужно задать точки привязки, но потом теряет связь и вместо автоматической отрисовки полилинии с отступом, предлагает самому рисовать полилинию. Возможно ли интегрировать данный Lisp в NanoCad? Файл прикладываю. Один Lisp делает отступ наружу заданных точек (допустим контура), другой делает отступ внутрь. ParLine.LSP ParLine1.LSP
-
а на имя процесса в OC нельзя оперется ? незнаю как на LISP на C# наверняка можно определить, откуда пытается выполнится код. вроде некоторые процессы нано имеют разное имя. по крайней мере у себя вижу такое. попробовал катануть код отсюда (последнее сообщение) в акаде, сработало. в нано нет. судя по коду (с LISP я плохо) , там процесс по имени вытаскивается и удаляется. т.е. программно список процессов на LISP получить можно (по крайней мере в Acad). осталось найти LISP определеляющий имя текущего процесса из которого пытаемся запуститься или его PID. это при условии что "если запущено несколько нано процессов, определить из которого выполняемся". а если нано процесс по умолчанию один(но может быть не верный), надо код выше адаптировать.
-
Всем привет! Обнаружил, что функция ANGLE в NC возвращает отличные от AC значение угла. в AC, функция возвращает угол в диапазоне от 0.0 до 2*Pi в NC, функция возвращает угол от 0.0 до Pi и от -Pi до 0.0 В итоге, для совместимости функции в AC и NC, использую такую обёртку: (defun ATP:angle (p1 p2 / ang) (if (minusp (setq ang (angle p1 p2))) (+ pi pi ang) ang ) )
-
Проблема с функцией SIN в LISP
streek posted a topic in Технические вопросы и обсуждение функционала
На парах в институте задали написать программу для вычисления синуса функции (B-X/Z)+5*(B+A-80). Всё работало до момента, пока не занёс эту вещь под SIN. Протестировал с любыми значениями, не только с функцией - всегда один и тот же ответ: "ошибка: неверное число аргументов: SIN". Тексты исходных программ: 1) Моя функция - (DEFUN SIN (A B X Z) (SIN (+ (- B (/ X Z)) (* 5 (- (+ B A) 80)))) ) 2) Функция для проверки из методического пособия - (DEFUN SINCOS (A) ( + (SIN A) (COS А)) )