Ckopnu Posted June 20 Report Share Posted June 20 (edited) Переработал для себя lisp, которым пользовался в autocadе, и добавил некоторые специально для nanocada. Выкладываю, может кому-нибудь пригодится. Работоспособность проверялась в Nanocad СПДС 22. Установка: - скопировать все файлы в папку, - прописать эту папку в настройках nanocada как путь к вспомогательным файлам - добавить файлы CustomFunc.LSP, SNanoHelp.LSP, comBlock.lsp в автозагрузку Спойлер agp_vedchert – создать ведомость чертежей (в виде рядов однострочного текста); работает с дин. блоками рамки и формата в прилагаемом файле agp_numlist - пронумеровать листы; работает с дин. блоком рамки и формата agp_numstranica - пронумеровать страницы; работает с дин. блоком рамки и формата agp_bl_redef - переопределить блок из одного открытого чертежа .dwg в другой; можно выбрать несколько блоков и несколько чертежей (чертеж должен быть открыт в нанокаде) agp_bl_replace - заменить блок в чертеже в пространстве модели на другой с сохранением координат, слоя, угла поворота agp_bl_rename - переименовать блок (заменяет имя во всем чертеже) agp_bl_rename_sel - переименовать выбранный блок (заменяет имя для выбранного блока) agp_bl_propcopy - копировать свойства блока (атрибуты, видимость, координаты и т.д.) и назначить всем блокам в чертеже с выбранным именем; можно выбрать любые блоки, которым нужно назначить свойства agp_bl_sumattr – подсчет атрибутов блока (в виде рядов однострочного текста); agp_bl_replace_in_block - заменить вставленный блок в другом блоке с сохранением видимости agp_bl_attr_copytodef - заменить значения атрибутов по умолчанию; перезаписывает значение по умолчанию для определения атрибута в блоке – значение берется с вставленного в чертеж блока agp_bl_regen - регенерировать блок; если дин. блок с видимостью начинает глючить – при переключении видимости показываются элементы которые должны быть скрыты, а в редакторе блоков все правильно (чтобы все работало, дин. блок ДОЛЖЕН СОДЕРЖАТЬ ТОЛЬКО ПАРАМЕТРЫ ВИДИМОСТИ – НИКАКИХ РАСТЯЖЕНИЙ, ПЕРЕМЕЩЕНИЙ И Т.Д.) agp_dim_to_spds - перевести выбранные размеры в стиль СПДС agp_mleader_to_spds - перевести выбранные мультивыноски в стиль СПДС agp_bl_explode_in_block - взорвать блок внутри другого блока с сохранением видимости agp_print_format - печать по формату из пространства модели; работает с дин. блоком формата agp_print_ramka - печать по рамке из пространства модели; работает с дин. блоком рамки Спойлер ipc - Функция приращения координат точки на х и у lst-end - Функция создания списка с добавлением элементов в конец списка file_name_chk - Функция очистки имени файла от запрещенных символов file-read - функция - чтение строк из файла okr - функция - округление в меньшую сторону по числу ZeroOkr - функция - округление до нуля entsel_check - Функция проверки вводимой информации на nil rangeLst - функция - список из последовательности чисел ss-to-enamelst - функция - selection set в список имен str-to-lst - функция - обработка списка строк (строка в список) lst-to-str - функция - обработка списка (список в строку) NANO_getpropertyvalue - функция - аналог Getpropertyvalue в автокаде NANO_setpropertyvalue - функция - аналог Setpropertyvalue в автокаде _clear-mtext - Функция сносит форматирование многострочного текста check_Tstyle - Функция проверки текстового стиля на высоту текста sortV - Функция сортировки списка по возрастанию str_comp_sort - Функция сортировки списка по возрастанию для списка из строк (числа + буквы) lst-str_num - Функция перевода строки в список с разделением на строки и числа dotLstFiltr_F - Функция фильтрации точечного списка по первому члену dotLstFiltr_S - Функция фильтрации точечного списка по второму члену dotLstsFiltr_S - Функция фильтрации списка из точечных списков по второму члену с выбранным кодом LstDiv - Функция разделения списка по порядковому номеру LstRange - Функция выделения ряда в списке по начальному номеру и длине ряда LstSrch - Функция поиска по списку LstAppendUniq - Функция добавления в список только уникальных элементов LstUniq - Функция убрать из списка повторяющиеся элементы LstRemoveLst - Функция удаления из списка элементов из другого списка CHECK_p_in_bbox - функция - проверка попадания точки в область ограниченную двумя точками str_w-search - Функция поиска позиции (отдельного слова) в строке check_char - Функция проверяет предыдущий или следующий символ на равенство заданному символу lst-search_char – функция возвращает список с номерами положения символа в строке objCenter - Функция вычисления координат центра объекта obj main_func_plot - Функция печати get-entDB-Visibility - Функция - получение объекта "Видимость" с именем _name с дин. блока obj в виде списка get-entDB-AllVisibilityNames - Функция - получение списка с названием объектов "Видимость" с дин. блока obj entDB-Visibility-setName - Функция - переименовать на _name параметр дин. блока "Видимость" ent entDB-Visibility-addVisState - Функция - добавить состояние видимости с именем _name для параметра дин. блока "Видимость" ent entDB-Visibility-delVisState - Функция - удалить состояние видимости с именем _name для параметра дин. блока "Видимость" ent entDB-Visibility-ShowElem - Функция - показать элементы objLst для состояния видимости с именем _name для параметра дин. блока "Видимость" ent entDB-Visibility-ShowElemAllState - Функция - показать элементы objLst для всех состояний видимости для параметра дин. блока "Видимость" ent entDB-Visibility-HideElem - Функция - скрыть элементы objLst для состояния видимости с именем _name для параметра дин. блока "Видимость" ent entDB-Visibility-addToAllEnum - Функция - проверить наличие элементов enumLst для параметра дин. блока "Видимость" ent и добавить новые entDB-Visibility-removeFromAllEnum - Функция - удалить элементы enumLst из параметра дин. блока "Видимость" ent entDB-Visibility-ClearAll - Функция - полностью очистить параметр дин. блока "Видимость" ent blk_name_check - Функция проверки имени блока - новое имя для блока. blk_name_checkExist - Функция проверки имени блока - существующий блок. block_renameCopy - Функция замена имени блока с сохранением параметров видимости block_rename - Функция замена имени блока findAllBlockRef - Функция найти все вхождения блока findBlockRefInBlock - Функция найти все вхождения блока в другом блоке func_addvisName - Функция добавить к списку col_p список видимостей и состояний видимостей, в которых виден объект obj genLst-ObjInBlock - Функция создать список для генерации объектов (из объектов внутри блока с именем bl_n) genObjInBlock - Функция создать объекты в блоке по списку для генерации объектов bl_Attr_insP - Функция изменения точки вставки атрибута блока bl_uniqref - Функция оставить в списке по одному уникальному вхождению дин. блока comBlock.lsp CustomFunc.LSP SNanoHelp.LSP _DynBlock_Template.dwg bl_redefine.DCL block_prop_copy.DCL printDialog.DCL printOpt.DCL Рамки форматаV4.dwg Upd. Добавил файлы в загрузки Edited June 22 by Ckopnu Добавил файлы в загрузки 2 1 Link to comment Share on other sites More sharing options...
MCAD Posted June 21 Report Share Posted June 21 13 часов назад, Ckopnu сказал: Выкладываю, может кому-нибудь пригодится Вы бы сюда добавили. Полезная информация. А вообще-то часть вопросов можно автоматизировать средствами платформы Рамки форматаV4.dwg 1 Link to comment Share on other sites More sharing options...
lidia.antipina.ru Posted June 22 Report Share Posted June 22 (edited) Есть же раздел https://forum.nanocad.ru/index.php?/files/, почему туда сразу не выкладывать? Edited June 22 by lidia.antipina.ru 1 Link to comment Share on other sites More sharing options...
Recommended Posts