Search the Community
Showing results for 'lisp'.
-
Имха lisp для проксей, такое себе.. Наряду с com это обертки над тем, что разработчик посчитал вытащить наружу.. Умирающие технологии, по сом сужу, движения ноль.. С .net немного получше, но это тоже обертка на nrx arx, что разработчик высунул за то и дергаем.. Насколько я понял эту кухню максимально возможный контроль на плюсах, но и там ограничения добавлено через 4 минут Не надо себя ограничивать.. не стесняйся запускать нано с спдс или механикой.. и надпись "нано с энаблером" тебя не должна запугать.. различия в работе только в GUI, программно все работает одинаково энаблер или нет)) добавлено через 7 минут
-
Это такое жэж снаружи как и vba COM почти мертвая технология, мелкослфт забросил, остальные и подавно.. LISP более изнутри, NET ваще изнутри и быстрее лиспа NRX ваще внутри всего)) От задачи.. Как по мне VBS и JS сравнительно неудобно нет отладки и спросить подсмотреть не у кого Тогда уж лучше VBA с отладкой и примерами, но Не трать свое время изучай NET и не VB, а C# по нему и примеров море и вааще.. добавлено через 4 минут Ну и еще нюанс если прям vba хочется автономно... Vb6 живее всех живых))) Пишешь на vba, компилируешь и получаешь exe.. Из минусов пипец как медленно работает, дофига чего не доступно напрямую.. итд итп добавлено через 8 минут Хотя с нанокад не все так однозначно.. Спустя 15 лет своего существования он так и не имеет NET.API для печати.. через COM печать импортозамещают.. Хотя печать процесс сам по себе небыстрый... Ну и эпик фэйл некоторые настройки печати доступны только через COM, NET.API не имеют.. каково??
-
Version 1.0.0
3 downloads
Простой LISP для очистки от аннотативных масштабов, c выводом количества АМ и подтверждения от пользователя на удаление. Думаю может пригодиться кому для пределки под себя. Внимание: Файл содержит большое количество аннотативных масштабов. Рекомендуется удалить масштабы, запустив команду -ОЧИСТИТЬ и выбрав опцию AНнотативные масштабы --- (497148) В подобных файлах, работает с задержкой. -
-
nanoCAD платформа 23.0.6169.4115 (build 6276) + СПДС 23.0.4115.6119 (build 4115) Что за бред происходит при импортировании форматов в Альбом? Исходные данные, например: три документа SOI1, SOI2, SOI3, в каждом по 4 листа: 1) При выполнении команды "Импортировать форматы" выделенных (выбранных/селектированых) листов всех документов в пространстве модели - альбом наполняется в следующим порядке: [SOI3 лист 4], [SOI3 лист 3], [SOI3 лист 2], [SOI3 лист 1], [SOI2 лист 4], [SOI2 лист 3], [SOI2 лист 2], [SOI2 лист 1], [SOI1 лист 4], [SOI1 лист 3], [SOI1 лист 2], [SOI1 лист 1] т.е. в обратном порядке, соответственно на выходе получаю листы (layout) c документами в обратном порядке с обратным порядком листов в них... ? Что? Зачем? Почему? Для чего это нужно? 2) При импортировании без выделения (выбора/селектирования) форматов в пространстве модели - альбом наполняется в следующим порядке: [SOI1 лист 1], [SOI3 лист 1], [SOI2 лист 1], [SOI2 лист 2], [SOI1 лист 2], [SOI3 лист 2], [SOI3 лист 3], [SOI1 лист 3], [SOI2 лист 3], [SOI2 лист 4], [SOI3 лист 4], [SOI1 лист 4] в итоге получаю подряд 3 титульника (первые листы) трёх разных документов и далее все вторые, третьи и четвертые листы из разных документов... Для чего это нужно? Соответственно вопрос простой - как получить нормальный порядок документов и листов в них? (для дальнейшей печати в PDF и/или на бумаге). На практике, в комплекте рабочей документации имеется 10 разных типов документов с автоматически генерируемыми таблицами данных (опросные листы на КИПиА), в каждом документе от 5 до ~20 листов. Каким образом мне их печатать и/или формировать PDF? Upd: экспериментально удалось установить что порядок импорта форматов в альбом зависит от порядка создания/копирования объектов (форматов листов) в поле чертежа, при чём В ОБРАТНОМ ПОРЯДКЕ - т.е. первыми импортируются ПОСЛЕДНИЕ созданные листы )))) Где логика? При этом ни порядок расположения листов в поле чертежа, ни название (шифр) листа/документа, ни нумерация листов ни как не влияют на порядок импорта в Альбом. Пример альбома 1.dwg Upd: При дальнейших попытках сформировать с помощью инструмента «Альбомы» документы с листами по порядку, выяснилось что импорт в альбом (SPADDTOALBUM) осуществляется в том же порядке, в котором селектированые объекты добавляются в новый набор SelectionSet [функция SELECT1/3/4/6 / ssget]. С учетом этого единственный возможный вариант наполнения Альбома листами документов по порядку - это ручной последовательный выбор каждого листа-формата в пространстве чертежа (но для нескольких десятков листов в разных документах не вариант). При создании набора селектированых объектов с помощью секущей рамки (SELECT1/3/4/6), происходит создание набора в котором первый объект - это всегда последний созданный в чертеже объект. Соответственно, для устранения обнаруженной логической ошибки, функцию «Импортировать форматы» необходимо дополнить одним из возможных алгоритмов: 1) После выполнения выборки объектов типа «СПДС_Форматы» из текущего набора необходимо выполнять автоматическуюгруппировку/сортировку по атрибуту «Обозначение» (шифр документа) и затем сортировку этих объектов по атрибуту «Лист» по возрастанию (1…n) и затем добавлять листы в Альбом с сохранением порядка сортировки. 2) Выполнять импорт объектов типа «СПДС_Форматы» из текущего набора, или из всего чертежа (модель/лист) всегда в предсказуемом, ожидаемом порядке – последовательно слева>>направо, сверху>>вниз. 3) Предоставить пользователю следующий выбор способа импорта Форматов в Альбом: - «в порядке выделения (выбора) форматов пользователем», - «в порядке нумерации листов», - «Слева-направо, сверху вниз», + опция определяющая откуда следует импортировать форматы «Все форматы из пространства модели», «Все форматы из пространства листа», «Форматы расположенные в листах: [список листов]». Таким образом будет обеспечен удобный функционал и предсказуемая, ожидаемая логика работы стандартного инструмента «Альбомы». В качестве оперативной временной «заплатки/костыля» можно написать отдельный LISP-скрипт который будет предлагать пользователю выбор объектов секущей рамкой и формирование из этого набора нового набора содержащего только Форматы а затем выполнять сортировку, чтобы текущий набор содержал Форматы в последовательности от первого к последнему листу .
-
Округление координат
vova_dwg replied to vova_dwg's topic in Технические вопросы и обсуждение функционала
Что удалось наскрести. лиспов по данной теме много, всем чего то округлять нужно. Одна проблема - эти лиспы никак не настраиваются. вот что есть то есть. С дугами так вообще беда, непонятно что округлять. Откопал лисп от LeeMac. Сразу видно Программиста. Все настраивается в заголовке, перечислены объекты и что планируется изменять. Как раз той самой дуги нету, но ее спокойно добавляем и указываем, что будем округлять, например, только центральную точку. Мне, в целом, достаточно. Взял здесь: https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/rounding-of-line-and-pline-vertices/m-p/4396563 Хотелось бы добавить один момент: нужно обозначить элементы, над которыми уже произведена опреация округления. Пусть меняет цвет, например, на красный. Что вписать? -
Базовые команды Нанокад на LISP
Mитька replied to Mитька's topic in Программирование под платформу nanoCAD
1. Если я вас правильно понял, то можно. Т.е. на выходе в новом файле мы получаем, что хотим - линию, вызванную командой. 2. Но. Как только команд становится более одной, реактор начинает выполняться минимум по 3 раза: И чем больше строк в реакторе, тем больше он его гоняет туда сюда: Но как я понял из соседнего поста (https://forum.nanocad.ru/index.php?/topic/28231-vypolnit-lisp-pri-otkrytii-fayla-kak/&do=findComment&comment=126875), "размножение" реактора связано не с использованием команд, а с чем-то ещё. UPD: да, не от кол-ва элеменитов зависит. С чистого нанокада 1 линия сразу же задвоилась. Т.к. если как минимум в рамках той же сессии Нанокада заменить выше означенные 5 линий на вот такое: ...то alert сработает раз 10 последовательно. 3. На конструкцию с командой CLOSE программа почему-то не реагирует вообще, хоть в одну команду её с "newdocument" (как сделано у вас изначально), хоть разделяй (хотя мож тут я что-то неверно делаю): В моём понимании ПЕРЕД срабатыванием команды CLOSE в этом случае должен вылезти alert. Но его нет. добавлено через 0 минут Но в целом, если купировать эти проблемы, то да, решение прям то, что надо.- 28 replies
-
- сохранить как
- открыть
-
(and 2 more)
Tagged with:
-
Создание СПДС объектов в пространстве модели по таблице Excel.
Mитька commented on Ivanco's blog entry in cad admin notes
То, для чего я спрашивал про параметры и зависимости, в этом случае реализовано через Эксель. Я, задавая вопрос, такого варианта реализации в голове не держал вообще. Потому и говорю, что - да, это рабочая схема, но по факту меня вряд ли устроит в итоге, потому и пишу про таблички (от содержимого её ячеек же тож можно зависимость подцеплять, если хочется при необходимости). Замени "первая строка выноски" на "именованная ячейка таблицы" и с точки зрения LISP-программы получишь ровно тот же механизм экстракции данных. -
Наверняка же кто-нибудь озадачивался переписыванием и переназначением стандартных команд Нанокада (Типа "Сохранить", "Новый файл", "Закрыть" и т.д.) на LISPе? Есть какие-то проверенные временем версии, чтоб заменить и спокойно забыть до поры, пока не захочется в них что-то своё добавить?
- 28 replies
-
- сохранить как
- открыть
-
(and 2 more)
Tagged with:
-
Однократная вставка объекта из базы
Mитька replied to doctorraz's topic in Технические вопросы и обсуждение функционала
А можно ли как-то при вставке параметрики задать ей не только точку вставки, но и значения опреденных переменных..? Или это возможно только через "вставляем - заново_выбираем_уже_вставленные_объекты - меняем значения"? К примеру: на чертеже есть Nшт СПДС-выносок, первая строка у них соответсвенно имеет значения "1,2,3, ололо, пыщ...N". А у вставляемого объекта "4BE7954F2D054B6F" есть переменная ААА, нединамическая. Можно ли: 1. Вставить в чертеж ровно N объектов (по кол-ву выносок)? 2. При вставке назначить им значения череменной ААА в соответсвиии с имеющимися "1,2,3, ололо, пыщ...N"? Хочется вставить в чертеж N параметрических объектов с чётким и разным МАСШТАБОМ ОФОРМЛЕНИЯ и определенным значением одной из переменных (тоже стыренных из имеющихся уже на чертеже объектов)... В теории это даже можно чисто из таблиц костыльно реализовать... Проблема в масштабе оформления, который параметрике извне (кроме LISP и аналогов) то ли вообще не назначается, то ли как-то через очень длинную попу делается (которую я к тому же ещё и не помню). =( -
Вопрос был: Можно или нельзя? А не: Достаточно ли важны причины использования функции для того ,чтобы получить ответ на свой вопрос? Не понимаете для чего это мне нужно - ну так не пишите ничего. Не стоит показывать свое недовольство от непонимания мотивов вопроса. После ваших претензий хотелось из принципа оставить вас в неведении. Но для других форумчан, в том числе kpblc, отвечу: Автокад (а теперь и Нанокад) стоят у меня в Автозагрузке Win 10. Т.е. при загрузке ОС автоматически загружаются программы, открываются указанные мной папки и т.д. Во время работы при необходимости открыть нужный мне файл dwg я просто кликаю на него и в течении пары секунд в Автокаде загружается лента инструментов и файл, в котором я начинаю работать. При этом Автокад претерпел очень серьезные настройки, вплоть до псевдонимов, горячих клавиш, адаптации рабочего пространства, загрузки необходимых модулей lisp и изменение фона пространства модели. Я привык работать так, чтоб мне было не просто удобно, а комфортно, чтоб работа приносила удовольствие. Я человек, который не довольствуется тем, что есть, а подстраивает рабочее место под свои нужды и видение. И меня неимоверно раздражает тот факт, что при запуске Нанокада открывается ненужный мне файл Без имени0 с ненужной мне сеткой на весь экран и ненужным мне знаком ПСК. Все это тоже со временем будет настраиваться через шаблон, чтоб всей этой ненужной фигни не было в новых файлах. Но все равно останется ненужный мне файл Без имени0. Вот это я и хочу исправить. Просто я хочу отключить все ненужные мне функции и оставить только необходимое мне + добавить то, чего не хватает. добавлено через 6 минут Т.е. для получения ответа мне нужно обосновать свои мотивы, и если вы сочтете их важными - предоставите ответ??? Ну уж точно не вам решать важно это или нет. Знаете ответ - скажите. Нет - не надо устраивать охоту на ведьм и выдумывать несуществующие заговоры. Но специально для вас: ДА! Вы меня раскусили, я занимаюсь промышленным шпионажем (форма недобросовестной конкуренции, при которой осуществляется незаконное получение, использование, разглашение информации, составляющей коммерческую, служебную или иную охраняемую законом тайну с целью получения преимуществ при осуществлении предпринимательской деятельности, а равно получения материальной выгоды)
-
Легко! А сработает загрузка package? А подгрузится меню? Запустится ли lisp? Сработает ли реализация IExtensionApplication? В каком месте и когда все развалится до соплей? Эммм... Дык код уж сто лет как не публиковал. Примерчик скинь А то я тут с другими задачами закопался по самые уши
-
а на имя процесса в OC нельзя оперется ? незнаю как на LISP на C# наверняка можно определить, откуда пытается выполнится код. вроде некоторые процессы нано имеют разное имя. по крайней мере у себя вижу такое. попробовал катануть код отсюда (последнее сообщение) в акаде, сработало. в нано нет. судя по коду (с LISP я плохо) , там процесс по имени вытаскивается и удаляется. т.е. программно список процессов на LISP получить можно (по крайней мере в Acad). осталось найти LISP определеляющий имя текущего процесса из которого пытаемся запуститься или его PID. это при условии что "если запущено несколько нано процессов, определить из которого выполняемся". а если нано процесс по умолчанию один(но может быть не верный), надо код выше адаптировать.
-
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! Подскажите пожалуйста, возможно ли отследить, например, что запущен именно "NanoCAD", НО НЕ "NanoCAD СПДС", "NanoCAD GeoniCS" и т.п.? Хотелось бы выполнять такую проверку на старте кода lisp, который должен запускаться и выполняться только в "чистом" NanoCAD. Другими словами, пользователь нажал кнопку (код) и выпадает сообщение, например, "Данная команда доступна только в "чистом "NanoCAD".
-
Неадекватно работает блок с видимостью
Ckopnu replied to hudozhnik's topic in Технические вопросы и обсуждение функционала
Привет, столкнулся с такой же проблемой и написал LISP для регенерации дин. блоков в нанокаде. Одно условие - в дин. блоке должны быть только параметры видимости без растяжений, перемещений и т.д. Команда называется agp_bl_regen ссылка на lisp в загрузках -
Здравствуйте Уважаемые специалисты 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"
-
однострочный текст в многострочный
XPom replied to АГФ's topic in Технические вопросы и обсуждение функционала
один переобразовали командой ТЕКСТВМТЕКСТ, следующий щелк мышкой (выделили), затем жмакнули пробел и т.д. щелк, пробел, щелк, пробел ... ну или пишите/ищите lisp (выбрать, что быстрее) -
-
Переработал для себя 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. Добавил файлы в загрузки