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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Взорвать блок с перемещением примитивов на текущий слой

Взорвать блок с перемещением примитивов на текущий слой

Ответ
Поиск в этой теме
Непрочитано 12.11.2018, 10:40 #1
Взорвать блок с перемещением примитивов на текущий слой
AlexKey
 
будущий технолог
 
Регистрация: 27.08.2012
Сообщений: 69

Добрый день. Имеется блок на слое "1". В этом блоке есть примитивы в слоях "22" и "33" со свойствами "по блоку". Если взорвать блок, то примитивы останутся на тех же слоях, с теми же свойствами. Как сделать, чтобы примитивы оказались на том же слое, где изначально был блоки со свойствами "по слою"? Может есть лисп для этих целей?
Просмотров: 2178
 
Непрочитано 12.11.2018, 11:06
1 | #2
Кулик Алексей aka kpblc
Moderator

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


ПОпробуй _.xplode (именно так).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.11.2018, 11:34
#3
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 10,960


а это не задача нормализации блоков? Здесь на форуме были лиспы для нормализации...
Сергей812 вне форума  
 
Непрочитано 12.11.2018, 11:41
#4
Кулик Алексей aka kpblc
Moderator

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


Но вопрос задан в разделе "AutoCAD"
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.11.2018, 11:42
#5
AlexKey

будущий технолог
 
Регистрация: 27.08.2012
Сообщений: 69
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
ПОпробуй _.xplode (именно так).
Спасибо, но это все блоки по отдельности надо взрывать с указанием слоя, и свойства примитивов "по блоку" остаются.

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
а это не задача нормализации блоков? Здесь на форуме были лиспы для нормализации...
Как я понял, задача нормализации обратная, присвоить примитивам внутри блока все свойства "по слою". Здесь же нужно чтобы при расчленении свойства стали "по слою".
AlexKey вне форума  
 
Непрочитано 12.11.2018, 11:54
#6
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 10,960


Цитата:
Сообщение от AlexKey Посмотреть сообщение
Как я понял, задача нормализации обратная, присвоить примитивам внутри блока все свойства "по слою". Здесь же нужно чтобы при расчленении свойства стали "по слою".
ну в моем понимании нормализация блока - это как раз избавление от кучи лишних слоев путем переноса субпримитивов определения блока на нулевой слой.
Сергей812 вне форума  
 
Автор темы   Непрочитано 12.11.2018, 11:57
#7
AlexKey

будущий технолог
 
Регистрация: 27.08.2012
Сообщений: 69
<phrase 1=


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
ну в моем понимании нормализация блока - это как раз избавление от кучи лишних слоев путем переноса субпримитивов определения блока на нулевой слой.
У меня есть однотипные блоки, внутри которых примитивы расположены на одинаковых слоях "22" и "33". Сами блоки раскиданы по разным слоям, в зависимости от принадлежности к той или иной системе. Отсюда задача взорвать блоки, чтобы примитивы оказались на том же слое, где были блоки и приняли все свойства "по слою".
AlexKey вне форума  
 
Непрочитано 12.11.2018, 12:23
#8
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 10,960


и чем тогда консольная версия команды _.xplode , предложенная Алексеем во 2-м посту, вас не устраивает? Там можете задать слой для размещения примитивов после расчленения блока..
Сергей812 вне форума  
 
Автор темы   Непрочитано 12.11.2018, 13:02
#9
AlexKey

будущий технолог
 
Регистрация: 27.08.2012
Сообщений: 69
<phrase 1=


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
и чем тогда консольная версия команды _.xplode , предложенная Алексеем во 2-м посту, вас не устраивает? Там можете задать слой для размещения примитивов после расчленения блока..
Данная команда будет уместна, если все блоки на одном слое расположены. А если как у меня - на разных, то это каждый блок отдельно нужно выбирать и взрывать. Но таких блоков может быть несколько десятков, а может и сотен.
AlexKey вне форума  
 
Непрочитано 12.11.2018, 13:16
1 | #10
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 10,960


Цитата:
Сообщение от AlexKey Посмотреть сообщение
Но таких блоков может быть несколько десятков, а может и сотен.
быстрый выбор вам в помощь) у вас же не несколько сотен слоев - под каждую вставку блока свой.

А хотите "красиво" - вэлком в раздел программирования или исполнителей. Ничего сверхъестественного там нет - создать аналог быстрого выделения по заданному слою (вроде для быстрого выбора нет консольной версии команды), применить к выделенному набору консольную версию команды из поста №2, и все это в цикле по списку слоев. Можно и более красиво код написать - без выделений примитивов и командных методов - дело вкуса.
Сергей812 вне форума  
 
Автор темы   Непрочитано 12.11.2018, 13:18
#11
AlexKey

будущий технолог
 
Регистрация: 27.08.2012
Сообщений: 69
<phrase 1=


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
быстрый выбор вам в помощь) у вас же не несколько сотен слоев - под каждую вставку блока свой.

А хотите "красиво" - вэлком в раздел программирования или исполнителей. Ничего сверхъестественного там нет - создать аналог быстрого выделения по заданному слою (вроде для быстрого выбора нет консольной версии команды), применить к выделенному набору консольную версию команды из поста №2, и все это в цикле по списку слоев. Можно и более красиво код написать - без выделений примитивов и командных методов - дело вкуса.
Спасибо, попробую туда обратиться.
AlexKey вне форума  
 
Непрочитано 13.11.2018, 11:16
#12
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,085


Цитата:
Сообщение от AlexKey Посмотреть сообщение
Как я понял, задача нормализации обратная, присвоить примитивам внутри блока все свойства "по слою". Здесь же нужно чтобы при расчленении свойства стали "по слою".
Ну так правильно - сначала внутри блоков привести все свойства к значению "по слою", а потом взорвать.

Цитата:
Сообщение от Сергей812 Посмотреть сообщение
А хотите "красиво" - вэлком в раздел программирования или исполнителей
Цитата:
Сообщение от AlexKey Посмотреть сообщение
Как я понял, задача нормализации обратная, присвоить примитивам внутри блока все свойства "по слою".
Комплекс программ, полностью решающий задачу топика за пару кликов, давно написан глубокоуважаемым VVA: http://forum.dwg.ru/showthread.php?t=66355. И то, что он называется "Подготовка подосновы", а одна из его главных команд - "нормализация блоков", не должно вводить в заблуждение.

Короче, сначала команда bgblfix из комплекса "Подготовка подосновы", там выставить все нужные свойства примитивов внутри блоков на "по слою", потом "взрывчатка" - причем не стандартная
_explode, а _burst или _xplode с опцией "по объекту".

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
ПОпробуй _.xplode
Если я не ошибаюсь, _.xplode позволяет унифицировать только одно из свойств примитивов взрываемого блока - только слой, только цвет, только тип линии или только вес линии, а топикстартеру нужны все и сразу.

Последний раз редактировалось kp+, 13.11.2018 в 11:37.
kp+ вне форума  
 
Непрочитано 13.11.2018, 11:19
#13
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 10,960


"Красиво" - это когда по нажатию кнопки все вставки блоков на заданных слоях элегантно превращаются.. )
Сергей812 вне форума  
 
Непрочитано 13.11.2018, 11:35
#14
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,085


Offtop: Согласен, 2-3 нажатия разных кнопок - это уже не торт...
kp+ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Взорвать блок с перемещением примитивов на текущий слой

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дорогие коллеги, помогите взорвать блок в Автокаде AlisaChe Динамические блоки 27 08.07.2015 10:49
Рекурсия. перевод блока со всеми вложениями в слой "0". nolte Программирование 2 23.02.2014 22:08
Почему Layer control не показывает список слоёв AUTOCAD 2010 (только текущий слой) Bonifacij9 AutoCAD 7 17.12.2013 09:19
Как заменить (redefine) один блок вторым с сохранением выбора (visibility)? Unfamous Динамические блоки 13 27.09.2011 13:25
вставка блока в текущий слой (проблема) Serkonst AutoCAD 11 12.01.2008 16:49