|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
14.02.2023, 10:36 | #1 | |
Lisp. Переименование блока
Санкт-Петербург
Регистрация: 09.01.2018
Сообщений: 30
|
||
Просмотров: 4506
|
|
||||
Регистрация: 02.07.2016
Сообщений: 249
|
Я себе давно такую писал. Работает с любыми блоками.
https://forum.dwg.ru/showthread.php?t=144318 |
|||
|
||||
Регистрация: 11.07.2022
Сообщений: 495
|
У переименованного блока точка вставки съезжает и блок улетает вверх-вправо в рус версии AutoCad 2015.
Пишет в командной строке Команда: -ВСТАВИТЬ Имя блока или [?] <A$C46BC248E>: 26 Единицы: Безразмерный Преобразование: 1.0000 Точка вставки или [Базовая точка/Масштаб/X/Y/Z/ПОворот]: Введите масштаб по оси X, укажите второй угол или [Угол/XYZ] <1>: 1.000000000000000 Масштаб по оси Y <равен масштабу по X>: 1.000000000000000 Угол поворота <0>: 0.000000000000000 А вообще, очень удобно, что можно переименовать только выбранный блок. Кстати, если переименовывать все вхождения, то базовая точка остаётся на месте. Последний раз редактировалось Ingpro, 15.02.2023 в 11:31. |
|||
|
||||
Цитата:
Команды: "CB" - Copy & Rename Block Reference. "RB" - Rename Block Reference.
__________________
Если ты разговариваешь с идиотом - убедись что он не занят тем же! |
||||
|
||||
Регистрация: 11.07.2022
Сообщений: 495
|
Спасибо, petro_f, знаю этот лисп, с динамическими тоже не работает. Вроде как переименовывает, но блок превращается в статический, что есть нехорошо.
Есть rename.lsp (автор valerik88, пост#4 ) переименовывает все блоки, сохраняет динамику, но не позволяет переименовать только один выбранный... |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Ingpro, тебе будет проще скопировать твой блок в пустой чертеж, там его переименовать и вставить обратно. Поверь, это будет значительно быстрее и проще.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 11.07.2022
Сообщений: 495
|
Цитата:
Считаем количество операций штатными средствами AutoCad: 1. Копируем блок в буфер обмена 2. Открываем новый файл 3. Вставляем блок из буфера 4. Переименовываем 5. Копируем блок с новым именем в буфер обмена 6. Вставляем блок из буфера в исходный файл А если таких копий надо несколько... (бывает 3-5) Если лиспом: 1. вызываем команду "Новое имя" (лисп) 2. выбираем блок 3. вводим новое имя - voilà Просто хотелось обратить внимание автора на небольшой сбой... может это только в рус версии... Последний раз редактировалось Ingpro, 15.02.2023 в 16:38. |
|||
|
||||
Цитата:
Покажите как у Вас это получается? Что за такие волшебные блоки. Если можно, то дайте пример.
__________________
Если ты разговариваешь с идиотом - убедись что он не занят тем же! |
||||
|
||||
Регистрация: 11.07.2022
Сообщений: 495
|
[MTL], такая особенность. Только блоки, созданные лиспом mb.lsp "улетают" вправо-вверх.
Блоки, созданные командами AutoCad через буфер ведут себя правильно, т.е. остаются на месте после переименования, значит ошибки в лиспе НОВОЕ_ИМЯ_v.1.1.LSP нет, а есть что-то некорректное в mb.lsp, который создаёт блоки из выбранных примитивов (лисп приложен). Лисп удобный, но просто не "дружит" с вашим. Так что, [MTL], не ищите недочёты, и спасибо за программу. PS. А почему в программе переименования блока фигурирует Точка вставки или Базовая точка, может быть не должно быть этой зависимости, IMHO? И тогда не будет проблем? Последний раз редактировалось Ingpro, 16.02.2023 в 10:09. |
|||
|
||||
А вызвать стандартную команду автокада (command "_ATTSYNC" "_select") не судьба? Это же стандартное поведение, при работе с блоками содержащие атрибуты
__________________
Если ты разговариваешь с идиотом - убедись что он не занят тем же! |
||||
|
||||
Регистрация: 09.01.2018
Санкт-Петербург
Сообщений: 30
|
Так, обойтись "кривой калиткой" не удалось. Пришлось разбираться. В голове темы новая версия программы. Надеюсь, Ли Мак не обидится.
Так и не разобрался, как скопировать объекты блока в другой блок с соблюдением порядка видимости. Если есть маскировка в блоке - вылезает наверх, всё закрывает. ----- добавлено через ~3 мин. ----- Barmaley Bubusikin, проверьте с новой версией. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Попробуй проверить в (namedobjdict) словарь типа ACAD_SORTENTS (или что-то наподобие), может там что интересное встретится
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 09.01.2018
Санкт-Петербург
Сообщений: 30
|
Цитата:
((-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. |
|||
|
||||
Регистрация: 09.01.2018
Санкт-Петербург
Сообщений: 30
|
MironovMA, можете через редактор Visual Lisp или просто через блокнот открыть текст программы. Там строчка (DEFUN c:НОВОЕИМЯ2 (/. Исправьте "НОВОЕИМЯ2" на любое какое удобно. Сохраните. После загрузки в AutoCad можете запускать вашу команду.
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |