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

Вернуться   Форум 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
Просмотров: 1584804
 
Непрочитано 21.07.2009, 09:54
#81
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


tusiko, Я обновил пост #41
Цитата:
Добавлены 2 команды:
UX - взрывает Minsert блоки
U2B - конвертирует в обычные
Попробуй U2B
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.07.2009, 10:16
#82
Pirotechnic

Конструктор
 
Регистрация: 01.12.2005
Екатеринбург
Сообщений: 7
<phrase 1=


Выкладываю файл. Блок создан мною же при помощи minsert-document2.lsp от Эдуарда. UX-нуть блок пытался в 2005 и 2008 версиях автокада. Чё-то не выходит.
Вложения
Тип файла: dwg
DWG 2004
KILLcopy_090720_ФОК_Общие данные.dwg (91.5 Кб, 3229 просмотров)
Pirotechnic вне форума  
 
Непрочитано 21.07.2009, 10:32
#83
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Pirotechnic, В #41 есть описание, когда работает UX (или U2B). Я отредактировал пост, выделив важное. Прочитай и у тебя все получится.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.07.2009, 10:38
#84
Pirotechnic

Конструктор
 
Регистрация: 01.12.2005
Екатеринбург
Сообщений: 7
<phrase 1=


Действительно, получилось воспользоваться UX после того как в МИнсерт-блоке заменил кол-во столбцов на 1. Спасибо!!

Последний раз редактировалось Pirotechnic, 21.07.2009 в 12:01.
Pirotechnic вне форума  
 
Непрочитано 01.09.2009, 12:36
#85
anthonyS

Вольный художник
 
Регистрация: 17.06.2009
St. Peterburg
Сообщений: 15
<phrase 1=


Вопрос. А может ли кто-нибудь популярно объяснить как взрываются такие блоки-массивы? Дело в том что я абсолютно без понятия что такое "UX, U2B, M2B" и т.д. и Lisp тоже не знаю, а так же что делать с кодом, который приведен выше в #41 (я так понимаю, что он для Lisp).
Или же без этих знаний даже пытаться разобраться не стоит?
Помогите, плиз!
anthonyS вне форума  
 
Непрочитано 01.09.2009, 13:02
#86
asys

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


anthonyS, друг читай форум сначала, т.е. с ЧАВО Часто задаваемые вопросы
asys вне форума  
 
Непрочитано 01.09.2009, 14:34
#87
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


anthonyS, А так же пройдись по ссылке в моей подписи
сюда ....................................................... |
................................................................ V
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 01.09.2009, 14:52
#88
anthonyS

Вольный художник
 
Регистрация: 17.06.2009
St. Peterburg
Сообщений: 15
<phrase 1=


Asys,VVA, огромное спасибо! Разобрался, все работает!
anthonyS вне форума  
 
Непрочитано 23.09.2009, 22:57
#89
congr

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


Привет всем. Попался тут в ряде чертежей минсерт блок, autocad 2008 rus.
Никак его не разбить, ни вышеприведенными лиспами, ни способом сохраниться в R12 и взорвать. Второй день с этим блоком вожусь и результат 0. Если кто знает как его взорвать, сообщите пожалуйста
Вложения
Тип файла: dwg
DWG 2007
Мн_блокъ.dwg (63.2 Кб, 3222 просмотров)
congr вне форума  
 
Непрочитано 24.09.2009, 13:28
#90
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


congr, В твоем случае это обычный мн-блок. Правда кто-то зачем-то обнулил количество столбцов. Необходимые изменения внес в #42. Используй команду M2B
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 24.09.2009, 20:57
#91
congr

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


VVA, Благодарю все сработало
Кто эти блоки делает и для чего сказать не могу, просто когда от смежников приходят чертежи, так у них спецификации состоят из таких блоков. Понятно, что все это изврат, но полностью переделывать оформление их чертежей банально нет времени.
Еще раз спасибо за ЛИСП
congr вне форума  
 
Непрочитано 26.09.2009, 08:56
#92
asys

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


насчет спецификаций это меры предосторожности - чтоб на финише не подменили ее. Чтобы потом не спрашивали нафига 100 т металла или балка из золота. Наши субчики даже прошивают все листы и опечатывают. С росписями и печатями на каждом листе (разве что у нотариуса не регистрируют) Т.к. были преценденты подмены заказчиком спецификации на оборудование с попыткой свалить растрату госсредств на проектировщиков
asys вне форума  
 
Непрочитано 28.09.2009, 18:30
#93
klopius


 
Регистрация: 23.09.2006
Moscow
Сообщений: 123


Попытался воспользоваться лиспами 41 и 42., лиспы загружал по очереди с этим вопросов не возникало..
Чо и как делал:
Тупо выдовил прямоугольник, из листа по нему _solprof`ом появились PV и PH известного вида *U...
пытался конвертить с двух лиспов командой U2B, выдает следующие:

Команда:
U2B
Select block
New block name: opo
no function definition: TABLELIST

Вопрос ? Хде косяк?
__________________
Спасибо что зашли !
klopius вне форума  
 
Непрочитано 29.09.2009, 17:55
#94
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
no function definition: TABLELIST
По русски: Нет определения (т.е самой функции) TABLELIST
Это мой косяк, исправил #41.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 07.10.2009, 10:21
#95
klopius


 
Регистрация: 23.09.2006
Moscow
Сообщений: 123


Ага. Работает...))
__________________
Спасибо что зашли !
klopius вне форума  
 
Непрочитано 25.06.2010, 14:05
#96
Eddicordo

КИП и А
 
Регистрация: 28.04.2010
Киев
Сообщений: 101
<phrase 1=


Всем привет.
VVA Спасибо за подсказку как разбивать блоки.
Есть вопрос. Куда запихнуть твой макрос
Код:
[Выделить все]
(SSSETFIRST nil (ssget "_X" '((0 . "INSERT")(2 . "`*U*"))))
В лисп UX
Поскольку неудобно указывать на всем чертеже все дин блоки. Если их так сотни?

И есчо 1 вопрос.
Почему лисп UX работает только с чертежом dxf R12 ??
Лишние пере сохранения неудобны. Или по другому никак?
Или я не понял смысла лиспа на 41 посте?
Eddicordo вне форума  
 
Непрочитано 12.09.2010, 20:23
#97
Mr.AS


 
Регистрация: 21.07.2009
Астана
Сообщений: 589


кидайте мне на мыло я всем разблокирую ! 100 % --- Мн-блок (АвтоКАД 2009 у меня)

Последний раз редактировалось Mr.AS, 20.08.2011 в 17:53.
Mr.AS вне форума  
 
Непрочитано 14.09.2010, 12:32
#98
Redya


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


Агрр! Прочитал всю тему, но так и не понял: МН-блоки и анонимные блоки это одно и тоже? или МН-блоки - это блоки, полученые вставкой командой _minsert? А анонимные блоки - это блоки *U...? И как вообще сделать такие блоки? И откуда появляются блоки *U...?

Последний раз редактировалось Redya, 14.09.2010 в 12:48.
Redya вне форума  
 
Непрочитано 14.09.2010, 15:01
#99
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Redya Посмотреть сообщение
МН-блоки - это блоки, полученые вставкой командой _minsert? А анонимные блоки - это блоки *U...?

А еще можно скрестить их.
Цитата:
Сообщение от Redya Посмотреть сообщение
И как вообще сделать такие блоки?
1. Программно (см. Esconvert)
2. Варианты команд SETUB - Selected Entities To Unnamed Block
3. Создай динамический блок. Сохрани в формате 2004 Автокада. Открой в 2004 Автокаде и посмотри на имена блоков.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.01.2011, 12:43
#100
Kuan_nur


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


Цитата:
Сообщение от VVA Посмотреть сообщение
Теперь дальше. В твоем случае это обычные МН-блоки. И потрошить их нужно по другому. Так как там массив, то сначала заменяем МН-Блок обычными блоками, а затем взрываем эти блоки.
Соответвсвенно 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)
День добрый! А есть готовый Лисп код? Можно ли уже готовую вставить на свой комп или они индивидуальный для каждого компа?
Kuan_nur вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > МН-блок

Опции темы Поиск в этой теме
Поиск в этой теме:

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