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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > МН-блок

МН-блок

Закрытая тема
Поиск в этой теме
Непрочитано 10.05.2004, 03:25
Kак "взорвать" MINSERT BLOCK ??
Startrek
 
AutoCAD/AutoLISP
 
Seattle/USA
Регистрация: 27.08.2003
Сообщений: 1,133

Уважаемые коллеги,
Кто знает как "взорвать" MINSERT BLOCK, он к тому же безымянный (*U)
Мой старый трюк с изменением колон и рядов на 1 и расстояние между ними на 0
не срабатывает. АutoCAD 2004/2005
Просмотров: 167435
 
Непрочитано 22.05.2008, 09:10
#41
Орловский

инженер-проектировщик
 
Регистрация: 21.02.2006
Казахстан, Алматы
Сообщений: 34
<phrase 1=


Подскажите плиззз, как в созданном dxf файле найти описание минсерт блока?
Орловский вне форума  
 
Непрочитано 22.05.2008, 11:08
#42
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Орловский, Тебе его нужно взорвать? Тогда читай #3
***Добавлено*** Можно попробоватьть еще команды UX,U2B,M2B
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 13.07.2009 в 18:45.
VVA вне форума  
 
Непрочитано 06.06.2008, 19:03
#43
pers2

Конструктор
 
Регистрация: 18.02.2005
Москва
Сообщений: 125


А вот с этим файлом поможете? Лисп эффекта не дал, пишет : ошибка: неверный тип аргумента: stringp nil

Поляки чертежи принципиально шлют блокированные приходится каждый раз ручками перечерчивать
Вложения
Тип файла: zip ST-031 4_6.zip (15.5 Кб, 437 просмотров)
pers2 вне форума  
 
Непрочитано 06.06.2008, 22:21
#44
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,295


Цитата:
Сообщение от pers2 Посмотреть сообщение
А вот с этим файлом поможете? Лисп эффекта не дал, пишет : ошибка: неверный тип аргумента: stringp nil

Поляки чертежи принципиально шлют блокированные приходится каждый раз ручками перечерчивать
так этож DWF
asys вне форума  
 
Непрочитано 07.06.2008, 08:33
#45
pers2

Конструктор
 
Регистрация: 18.02.2005
Москва
Сообщений: 125


C удовольствием посмеюсь вместе с тобой, если объясниш.
После вставки этого в файл, отображается в виде блока. Не взрывается.
аааа!!!! То есть по сути это картинка?!! только с прозрачным фоном.... ок. пошёл строить механизму ручками
pers2 вне форума  
 
Непрочитано 09.06.2008, 10:28
#46
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


pers2, Набери в поисковике dwf to dwg converter. Может что-нибудь подберешь
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 09.06.2008, 23:44
#47
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,295


Цитата:
аааа!!!! То есть по сути это картинка?!! только с прозрачным фоном.... ок. пошёл строить механизму ручками
сам допер она еще и векторная
asys вне форума  
 
Непрочитано 15.07.2008, 16:32
#48
Hans667

сети
 
Регистрация: 12.04.2007
SPb
Сообщений: 536
Отправить сообщение для Hans667 с помощью AIM Отправить сообщение для Hans667 с помощью Skype™


Цитата:
Сообщение от RЯков Посмотреть сообщение
Ага работает
а у меня не работает..причем ни до ни после выбора блока.АКАД2007
__________________
Errare humanum est, insipientis perseverare
Hans667 вне форума  
 
Непрочитано 15.07.2008, 17:52
#49
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


файлик покажи
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 15.07.2008, 17:59
#50
Hans667

сети
 
Регистрация: 12.04.2007
SPb
Сообщений: 536
Отправить сообщение для Hans667 с помощью AIM Отправить сообщение для Hans667 с помощью Skype™


BOT
Вложения
Тип файла: dwg
DWG 2004
205103_B11V_ W_First and basement floors.dwg (579.4 Кб, 10126 просмотров)
__________________
Errare humanum est, insipientis perseverare
Hans667 вне форума  
 
Непрочитано 15.07.2008, 18:51
#51
Hans667

сети
 
Регистрация: 12.04.2007
SPb
Сообщений: 536
Отправить сообщение для Hans667 с помощью AIM Отправить сообщение для Hans667 с помощью Skype™


а тут варианта множественного выбора не предусмотрено?а то у меня их пятьсот штук..лень
__________________
Errare humanum est, insipientis perseverare
Hans667 вне форума  
 
Непрочитано 16.07.2008, 12:58
3 | #52
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


*Удалено*
*Добавлено*
Последние версии и дальнейшее развитие идет в сборнике LISP. Подготовка подосновы
В том числе добавлена обработка многократно вложенных блоков!!!
См. команды
Цитата:
M2U - Преобразовать MINSERT в Unnamed блок
M2B - Преобразовать MINSERT в блок
U2B - Преобразовать UNNAMED в блок
U2BM - Преобразовать UNNAMED в блок множественный выбор
UX - Взорвать UNNAMED блок
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 26.11.2014 в 15:23. Причина: Ссылка на LISP. Подготовка подосновы
VVA вне форума  
 
Непрочитано 16.07.2008, 13:07
#53
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™



Теперь дальше. В твоем случае это обычные МН-блоки. И потрошить их нужно по другому. Так как там массив, то сначала заменяем МН-Блок обычными блоками, а затем взрываем эти блоки.
Соответвсвенно 2 команды (блокировка слоев не обрабатывается).
M2B - конвертирует МН-блоки в обычные анонимные. Выбирать можно любым способом, там идет фильтрация.
Изменено 24.09.2009
Код:
[Выделить все]
(defun C:M2B ( / adoc blks u1 n obj objlist uname bname unnamed_block cpo tmp_blk ss lst)
;;;Convert Minsert block To Block
;;; Posted Vladimir Azarko (VVA)
;;; http://forum.dwg.ru/showthread.php?t=11502&page=3(vl-load-com) 
(setq adoc (vla-get-activedocument (vlax-get-acad-object)) 
        blks (vla-get-blocks adoc) 
        ) ;_ end of setq
  (vla-AuditInfo adoc :vlax-true)
  (vla-startundomark adoc)
  (if (setq ss (ssget "_:L" '((0 . "INSERT")
			      (-4 . "<OR")
			      (-4 . ">")(70 . 1)
			      (-4 . ">")(71 . 1)
			      (-4 . "OR>")
			      )))
(progn
  (repeat (setq n (sslength ss)) ;_ end setq
         (setq lst (cons (ssname ss (setq n (1- n))) lst))
         ) ;_ end
  (setq ss nil n 0)
  (foreach uname lst
    (grtext -1 (strcat "Working " (itoa (setq n (1+ n)))))
  (setq bname (cdr(assoc 2 (entget uname))))  
  (setq u1 (vla-item blks bname))
  (setq obj (vlax-ename->vla-object uname) objlist nil)  
  (vlax-for item u1 (setq objlist (cons item objlist)))
 (setq unnamed_block (vla-add (vla-get-blocks adoc)(vlax-3d-point '(0 0 0)) "*U"))
 (setq cpo (vla-copyobjects adoc
                 (vlax-make-variant 
                   (vlax-safearray-fill 
                     (vlax-make-safearray 
                       vlax-vbobject 
                       (cons 0 (1- (length objlist))) 
                     ) ;_ end of vlax-make-safearray 
                     objlist 
                   ) ;_ end of vlax-safearray-fill 
                 ) ;_ end of vlax-make-variant 
                ;(vla-get-ModelSpace adoc)
		 unnamed_block
               )
      )
  (setq tmp_blk (vla-insertblock
		  (vla-objectidtoobject adoc (vla-get-ownerid obj))
		  (vla-get-InsertionPoint obj)
		  (vla-get-name unnamed_block)
		  (vla-get-xscalefactor obj)(vla-get-yscalefactor obj)
	       (vla-get-zscalefactor obj)
		  ;(vla-get-rotation obj)
		  0
		  )
	)
  (setq cpo (vla-ArrayRectangular tmp_blk (vla-get-rows obj)(vla-get-columns obj) 1 (vla-get-RowSpacing obj)(vla-get-ColumnSpacing obj) 0))
  (setq cpo (vlax-safearray->list(vlax-variant-value cpo)))
  (setq cpo (cons tmp_blk cpo))
(foreach item cpo
	(vla-rotate item (vla-get-InsertionPoint obj) (vla-get-rotation obj))
	)
  (entdel uname)
    )
  (princ "Converting ")(princ n)(princ " minsert blocks")
  ) 
  ) 
  (vla-endundomark adoc)
(vl-cmdf "_.Redraw")
(princ)
)
Ну а следующая больше даже макрос. Выделяет все анонимные блоки (даль можно их скормить Explode или Xplode)
Код:
[Выделить все]
;;Select Unnamed Block
(defun C:SUB ( )
  (SSSETFIRST nil (ssget "_X" '((0 . "INSERT")(2 . "`*U*"))))
  )
Или маркос на кнопку то, что синим цветом
Соответвсвенно алгоритм
1. M2B
2. SUB
3. Explode (или Xplode)

*Добавлено*
Дальнейшее развитие идет в сборнике LISP. Подготовка подосновы
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 25.07.2013 в 19:32. Причина: Ссылка на LISP. Подготовка подосновы
VVA вне форума  
 
Непрочитано 16.07.2008, 13:46
#54
Hans667

сети
 
Регистрация: 12.04.2007
SPb
Сообщений: 536
Отправить сообщение для Hans667 с помощью AIM Отправить сообщение для Hans667 с помощью Skype™


обычные-анонимные,это ,как я понял,обычные- block references?А чем тогда Qselect не подходит вместо SUB
__________________
Errare humanum est, insipientis perseverare
Hans667 вне форума  
 
Непрочитано 16.07.2008, 13:49
#55
Кулик Алексей aka kpblc
Moderator

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


_.qselect не выбирает анонимные блоки.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.07.2008, 13:55
#56
Hans667

сети
 
Регистрация: 12.04.2007
SPb
Сообщений: 536
Отправить сообщение для Hans667 с помощью AIM Отправить сообщение для Hans667 с помощью Skype™


ну чего не выбирает??я вот все выбрал и растрепал
__________________
Errare humanum est, insipientis perseverare
Hans667 вне форума  
 
Непрочитано 16.07.2008, 14:59
#57
Кулик Алексей aka kpblc
Moderator

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


Мой косяк, сорри.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.07.2008, 15:01
#58
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Я тоже думал что qselect не выберет анонимные блоки, поэтому и написал SUB. А надо было проверить
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 16.07.2008, 15:38
#59
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,295


прикольно
VVA, прям как Нео, в первой части с одним блоком еле справились. А теперь вторая часть матрицы - ты их теперь пачками валишь
asys вне форума  
 
Непрочитано 16.07.2008, 16:36
#60
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Asys Можно считать что перезагрузка произошла. Теперь МН-Блок ввиде 1x1 или MxN матрицы не страшен. Все равно всем им будет
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > МН-блок

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