Перейти к содержанию

Выбрать все блоки и взорвать


Рекомендуемые сообщения

 

Собственно, как выбрать и взорвать все блоки в dwg?
для автокада весь этот процесс хорошо описан, а для нанокада ничего найти не удалось( 

Ссылка на сообщение
Поделиться на другие сайты

Диспетчер чертежа, "Блоки" - выбрать все, правой клавишей мыши - "Разбить".

Ссылка на сообщение
Поделиться на другие сайты

Взорвать получится только в активном пространстве, хоть быстрый выбор и выберет (при желании) со всего документа

Ссылка на сообщение
Поделиться на другие сайты

Кстати интересно получается...

Например быстрым выбором я могу выбрать все видовые экраны в  документе и заблокировать или отключить..

А блоки все выбрать могу, но взорвать нет((

Изменено пользователем doctorraz
Ссылка на сообщение
Поделиться на другие сайты

Имха nanoсмысл если могу выбрать, могу и изменить..

Ссылка на сообщение
Поделиться на другие сайты
16 часов назад, abvgit сказал:

для автокада весь этот процесс хорошо описан

 

11 часов назад, doctorraz сказал:

Кстати интересно получается...

Тогда интересно,  как это "описано" для автокада

Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, MCAD сказал:

как это "описано" для автокада

автокадовский быстрый выбор хоть и предлагает "Применить ко всему чертежу", но выбрать с других (неактивных) пространств не может, в отличие от СПБВ

Ссылка на сообщение
Поделиться на другие сайты

@doctorraz  так может у @abvgit есть альтернативный алгоритм разбивки всех  блоков

19 часов назад, abvgit сказал:

для автокада весь этот процесс хорошо описан

 

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, MCAD сказал:

@doctorraz  так может у @abvgit есть альтернативный алгоритм разбивки всех  блоков

 

 

Оно, конечно, век живи - век учись.

Но, может, действительно есть нечто такое, что можно для разбивки блоков сделать в акаде, и чего нельзя сделать в нано.

Ждемс! 

Ссылка на сообщение
Поделиться на другие сайты
Спойлер


(defun C:ALLSPACESBURST	(/ layout-list current-tab ss)
  (setq	layout-list
		    (mapcar 'cdr
			    (vl-remove-if-not
			      (function
				(lambda (x) (= (car x) 3))
			      ) ;_ end of function
			      (dictsearch (namedobjdict) "ACAD_LAYOUT")
			    ) ;_ end of vl-remove-if-not
		    ) ;_ end of mapcar
	current-tab (getvar "CTAB")
  ) ;_ end of setq
  (repeat (setq i (length layout-list))
    (setvar "CTAB" (nth (setq i (1- i)) (reverse layout-list)))
    (setq
      ss (ssget	"_X"
		(list (cons 0 "INSERT") (cons 410 (getvar "CTAB")))
	 ) ;_ end of ssget
    ) ;_ end of setq
    (sssetfirst nil ss)
    (if	ss
    	(command "BURST" ss "");nCad
;;      (C:BURST); ACAD
    ) ;_ end of if
  ) ;_ end of repeat
  (setvar "CTAB" current-tab)
) ;_ end of defun

 

отсюда

Кстати BURST в автокаде и nano работает по разному

В АК после бурст примитивы блока остаются на слое вставки блока (что правильно)

в нано примитивы блока перемещаются на слой в котором были при создании блока (неправильно, поведение как при explode)

имха после бурст примитивы и текст расчлененки должны выглядеть так же как и до взрыва

 

Изменено пользователем doctorraz
Ссылка на сообщение
Поделиться на другие сайты
54 минуты назад, doctorraz сказал:

имха после бурст примитивы и текст расчлененки должны выглядеть так же как и до взрыва

а вот это неоднозначное утверждение.

Например, в блоке отрезок лежит на слое "1" и имеет цвет "по блоку", а вхождение блока на слое "2" и цвет "по слою".

Какой цвет должен быть у отрезка после бурстования? Принудительно, как у слоя "2"? Или перенести на слой "2" и "по слою"?

 

Разбивка блока - это, по-любому, деструктивная операция.

Визуально неполное соответствие разбитых элементов оригиналу - накладняк, с которым нужно смириться.

 

 

Ссылка на сообщение
Поделиться на другие сайты
23 часа назад, abvgit сказал:

Собственно, как выбрать и взорвать все блоки в dwg?
для автокада весь этот процесс хорошо описан, а для нанокада ничего найти не удалось( 


Такой вариант не подойдёт ?

 

defun c:bl_explodeall ( / explode layouts )
   (setq layouts (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object)))
         explode t
   )
   (while explode
       (setq explode nil)
       (vlax-for layout layouts
           (vlax-for obj (vla-get-block layout)
               (and
                   (= "AcDbBlockReference" (vla-get-objectname obj))
                   (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-explode (list obj))))
                   (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-delete  (list obj))))
                   (setq explode t)
               )
           )
       )
   )
   (princ)
)
(defun C:bl_ExplodeInfo (/ AllBlocks SolOnly )
   (setq AllBlocks (ssget "X" (list (cons 0 "INSERT"))))
   (setq cnt (sslength AllBlocks))
)
(vl-load-com) (princ)

 


ExplodeAll.lsp

Изменено пользователем A.Kudrjashov
Дополнения
Ссылка на сообщение
Поделиться на другие сайты
21 минуту назад, EdwardSt сказал:

Визуально неполное соответствие разбитых элементов оригиналу - накладняк, с которым нужно смириться.

нано даже если примитивы блока на "0" , а блок на другом слое после взрыва все на "0" складывает

23 минуты назад, EdwardSt сказал:

Например, в блоке отрезок лежит на слое "1" и имеет цвет "по блоку", а вхождение блока на слое "2" и цвет "по слою".

Какой цвет должен быть у отрезка после бурстования? 

хотя бы... слой примитивов если был "0", то должен стать какой был у блока

в идеале цвет вес и тип линий, что и до, взрыва блока

имхо в этом отличие от explode (кроме того, что атрибуты сохраняет как текст)

Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, doctorraz сказал:

нано даже если примитивы блока на "0" , а блок на другом слое после взрыва все на "0" складывает

Я об этом поднимал уже тему.

Со слоем "0" в блоках разработчики явно накосячили.

 

Но почему-то в обсуждениях появились оппортунистические мнения, что-то типа "может так и надо?", "а как лучше?".

Хотя вроде бы отдали на переработку.

 

Мое стойкое убеждение:

    Известные по аналогу команды должны быть реализованы в точности так же.

    Свои новые команды (даже явно улучшенные по сравнению с аналогом) должны иметь собственные оригинальные имена. 

 

добавлено через 4 минут
17 минут назад, A.Kudrjashov сказал:

Такой вариант не подойдёт ?

 

Программка прикольная.

Но она именно разбивает блок, а не расчленяет с заменой атрибутов текстами.

Хотя, может , именно этого хотел автор ветки?

Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, EdwardSt сказал:

Известные по аналогу команды должны быть реализованы в точности так же

off burst изначально не команда аналога

а nano не клон

а в общем согласен

Изменено пользователем doctorraz
Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, doctorraz сказал:

burst изначально не команда аналога

Пральна!

Express всегда был востребован, но сильно  раньше его приходилось дополнительно откуда-то подтягивать, а теперь его почти внедрили в АС.

Только, если раньше появилась (неважно где) команда BURST, то контрпродуктивно придумывать фактически новую команду, но с таким же именем.

 

5 минут назад, doctorraz сказал:

nano не клон

Полностью согласен и топлю за него.

Но вышесказанного это не отменяет: наполнять новым содержанием старые сущности - так себе подход...

Ссылка на сообщение
Поделиться на другие сайты
38 минут назад, EdwardSt сказал:

Программка прикольная.

Lee Mac и не такое может

Ссылка на сообщение
Поделиться на другие сайты

По BURST. Все примитивы раскладываются по своим слоям, кроме тех, которые создавались на слое "0". Они остаются на слое, на который блок был вставлен. Это в АС.

Запишу как пожелание.

Ссылка на сообщение
Поделиться на другие сайты
21 минуту назад, lidia.antipina.ru сказал:

Свойствах кнопка

Тс хочет на всем чертеже взорвать, разом

Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, doctorraz сказал:

Тс хочет на всем чертеже взорвать, разом

И что мешает выбрать все блоки из свойств?

image.thumb.png.fc1cd14f6f2d325776c26c22c0cc9886.png

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Расскажите друзьям

    Нравится Официальный форум компании Нанософт? Расскажите друзьям!
×
×
  • Создать...