| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Lisp. Переименование блока

Lisp. Переименование блока

Ответ
Поиск в этой теме
Непрочитано 14.02.2023, 10:36
Lisp. Переименование блока
[MTL]
 
Санкт-Петербург
Регистрация: 09.01.2018
Сообщений: 30

Всем доброго времени суток.
Не знаю кому как, но для меня одной из самых бесячих процедур (м.б. самой бесячей) в Autocad является переименование блока. Раздражает окно интерфейса, в котором необходимо вписывать старое имя блока.
Во вложении программа, которая данный недостаток исправляет.
Работает следующим образом:
1. Загружаете лисп. В командной строке "НОВОЕИМЯ2"
2. Выбираете блок. В появившемся окне вписываете новое имя. Указываете переименовать только выбранный или все вхождения. Нажимаете OK.

Версия 2.0:
3.03.23г. Работа с динамическими и анонимными блоками. Проверка некорректности имени блока.

Вложения
Тип файла: lsp НОВОЕ_ИМЯ_v.2.0.LSP (15.1 Кб, 118 просмотров)


Последний раз редактировалось [MTL], 03.03.2023 в 16:55. Причина: Новая версия программы
Просмотров: 4504
 
Автор темы   Непрочитано 03.03.2023, 17:07
#21
[MTL]


 
Регистрация: 09.01.2018
Санкт-Петербург
Сообщений: 30


Так, обойтись "кривой калиткой" не удалось. Пришлось разбираться. В голове темы новая версия программы. Надеюсь, Ли Мак не обидится.
Так и не разобрался, как скопировать объекты блока в другой блок с соблюдением порядка видимости. Если есть маскировка в блоке - вылезает наверх, всё закрывает.

----- добавлено через ~3 мин. -----
Barmaley Bubusikin,
проверьте с новой версией.
[MTL] вне форума  
 
Непрочитано 03.03.2023, 20:24
#22
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844


Попробуй проверить в (namedobjdict) словарь типа ACAD_SORTENTS (или что-то наподобие), может там что интересное встретится
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.03.2023, 08:25
#23
Ingpro


 
Регистрация: 11.07.2022
Сообщений: 495


Новая версия программы работает отлично. Спасибо большое , [MTL], так удобно, что можно переименовать только выбранный, и не надо из окна выбора блоков искать нужный для переименования...
Ingpro на форуме  
 
Непрочитано 05.03.2023, 19:02
#24
Barmaley Bubusikin


 
Регистрация: 05.06.2014
Сообщений: 77


Цитата:
Сообщение от [MTL] Посмотреть сообщение
проверьте с новой версией.
Все топчик. Кроме заливки и маскировки
Barmaley Bubusikin вне форума  
 
Автор темы   Непрочитано 21.03.2023, 13:40
#25
[MTL]


 
Регистрация: 09.01.2018
Санкт-Петербург
Сообщений: 30


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Попробуй проверить в (namedobjdict) словарь типа ACAD_SORTENTS (или что-то наподобие), может там что интересное встретится
Нужный словарь "ACAD_SORTENTS" привязан к подпримитивам блока. В нём есть таблица "SORTENTSTABLE", именно она меняется при изменении сортировки объектов. Представляет из себя вот что (пример):
((-1 . <Имя объекта: 203a74a7ac0>) (0 . SORTENTSTABLE) (5 . DE0C) (102 . ACAD_REACTORS) (330 . <Имя объекта: 203c6562e60>) (102 . ) (330 . <Имя объекта: 203c6562e60>) (100 . AcDbSortentsTable) (330 . <Имя объекта: 203d0a0b1f0>) (331 . <Имя объекта: 203cf126e10>) (5 . 13C3B) (331 . <Имя объекта: 203cf126e20>) (5 . 13C39) (331 . <Имя объекта: 203cf126e30>) (5 . 13C3A))
Насколько я понимаю, порядок следования меток (точечные пары 5) и есть порядок сортировки.
Но что с ней делать? (entmod) не работает.
С помощью ActiveX тоже не удалось. GetFullDrawOrder возвращает ошибку.
Может кто сталкивался?

Последний раз редактировалось [MTL], 21.03.2023 в 15:40.
[MTL] вне форума  
 
Непрочитано 22.03.2023, 07:31
#26
MironovMA


 
Регистрация: 02.02.2023
Сообщений: 5


А можете для удобства команду укоротить с "НОВОЕИМЯ2" например до "NNB" (NewNameBlock) или что-нибудь короткое.
MironovMA вне форума  
 
Автор темы   Непрочитано 22.03.2023, 09:04
1 | #27
[MTL]


 
Регистрация: 09.01.2018
Санкт-Петербург
Сообщений: 30


MironovMA, можете через редактор Visual Lisp или просто через блокнот открыть текст программы. Там строчка (DEFUN c:НОВОЕИМЯ2 (/. Исправьте "НОВОЕИМЯ2" на любое какое удобно. Сохраните. После загрузки в AutoCad можете запускать вашу команду.
[MTL] вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Lisp. Переименование блока

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Создание выноски с атрибутом блока. DmitriyBastr LISP 26 17.01.2023 16:03
Lisp. Cтранное поведение блока после vla-put-Thickness sdv79 LISP 29 20.03.2015 16:32
Lisp. Как добраться до подсказки атрибута блока молодой человек LISP 8 25.11.2010 09:20
Переименование блока вместе с аттрибутами? Mikhail AutoCAD 5 05.08.2004 20:59
возможно ли переименование внутреннего блока? Visla AutoCAD 3 04.03.2004 18:58