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

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

Привязать к объекту выноску

Ответ
Поиск в этой теме
Непрочитано 14.03.2013, 14:50 #1
Привязать к объекту выноску
xmewx
 
Регистрация: 14.03.2013
Сообщений: 3

Существует объект(Кифато ТОкио 2500). К нему сделаны две выноски.
Задача: сделать так, чтобы можно было копировать вместе все элементы, расположенные на рисунке.Но при этом нужно оставить возможность двигать выноски.
(Что-то вроде создания группы или блока. Т.Е. кликаем на выноску, прямоугольник или надпись - выделяется все вместе).


Для пояснения приведу ситуацию.
На плане помещения делается расстановка мебели при помощи элементарных блоков( см. рисунок).
После этого необходимо расположить выноски так, чтобы надписи не перекрывали друг друга.

Миниатюры
Нажмите на изображение для увеличения
Название: блок.JPG
Просмотров: 172
Размер:	40.8 Кб
ID:	98789  

Просмотров: 4435
 
Непрочитано 14.03.2013, 14:53
#2
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


_group
Хмурый вне форума  
 
Автор темы   Непрочитано 14.03.2013, 15:27
#3
xmewx


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


Цитата:
Сообщение от Хмурый Посмотреть сообщение
_group
не подходит. чтобы подвинуть выноску придется разргруппировку делать... долго
xmewx вне форума  
 
Непрочитано 14.03.2013, 15:34
#4
twilight


 
Регистрация: 17.10.2009
Сообщений: 1,108


Цитата:
Сообщение от xmewx Посмотреть сообщение
придется разргруппировку делать...
Зачем?
Ctrl+H
twilight вне форума  
 
Автор темы   Непрочитано 14.03.2013, 15:35
#5
xmewx


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


Цитата:
Сообщение от twilight Посмотреть сообщение
Зачем?
Ctrl+H
Спасибо. об этом не знал.
xmewx вне форума  
 
Непрочитано 21.03.2013, 14:26
#6
skkkk


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


Рекомендую попробовать программу Алексея Кулика LISP. Группировка и разгруппировка объектов. Очень удобно: команда grp сгруппирует выделенные объекты без всяких лишних вопросов и диалоговых окон, ung - разгруппирует. В виду того, что ссылки иногда слетают, помещу код здесь:
Код:
[Выделить все]
;|==================================================*===========================
*    Функция группировки и разгруппировки.
*    Параметры вызова:
*  grouping  nil -> разгруппировать. t -> группировать
*    Примеры вызова:
(kpblc-univ-grouping t)    ;группировать выбранные объекты в безымянную группу
(kpblc-univ-grouping nil)  ;разгруппировать объекты. Удалить запись о группе
==================================================*===========================|;
(defun kpblc-univ-grouping (grouping   /          selset     error_catch
                            item       counter    group      sub_item
                            )
  ;; Локальные функции
  (defun error_catch (msg)
    (vla-endundomark *kpblc-activedoc*)
    (princ msg)
    ) ;_ end of defun
  ;; Конец локальных функций
  (vl-load-com)
  (if (not *kpblc-activedoc*)
    (setq *kpblc-activedoc* (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of if
  (vla-startundomark *kpblc-activedoc*)
  (setq *error* error_catch
        counter 0
        ) ;_ end of setq
  (princ "\nУкажите объекты")
  (if (not (setq selset (ssget "_I")))
    (setq selset (ssget))
    ) ;_ end of if
  (while (and selset (setq item (ssname selset counter)))
    (setq counter (1+ counter))
    (if (and (assoc 330 (entget item))
             (setq group (cdr (assoc 330 (entget item))))
             (eq (cdr (assoc 0 (entget group))) "GROUP")
             ) ;_ end of and
      (progn
        ;; Засовываем в selset объекты, принадлежащие группе
        (setq group (vlax-ename->vla-object group))
        (vlax-for sub_item (vla-item (vla-get-groups *kpblc-activedoc*)
                                     (vla-get-name group)
                                     ) ;_ end of vla-item
          (ssadd (vlax-vla-object->ename sub_item) selset)
          ) ;_ end of vlax-for
        (entdel (vlax-vla-object->ename group)) ;Удаление записи о группе
        ) ;_ end of progn
      ) ;_ end of if
    ) ;_ end of while
  ;; Теперь собственно [раз]группировка выбранных объектов.
  (if grouping
    (if (vl-cmdf "_.-group" "_create" "*" "" selset "")
      (princ "\nОбъекты успешно добавлены в группу")
      (princ "\nОшибка добавления объектов")
      ) ;_ end of if
    ) ;_ end of if
  (sssetfirst nil nil)
  (vla-endundomark *kpblc-activedoc*)
  (princ)
  ) ;_ end of defun
;|==================================================*===========================
*    Сервисная функция. Служит для вызова основной функции с командной строки.
* Выполняет группировку объектов. Лично у меня именно этот вариант бОльшей
* популярностью пользуется.
*    Параметры вызова:
*  нет и быть не может
*    Примеры вызова:
(c:grp)    ; из lisp-функций
grp    ; с командной строки
==================================================*===========================|;
(defun c:grp ()
  (kpblc-univ-grouping t)
  ) ;_ end of defun
;|==================================================*===========================
*    Сервисная функция. Служит для вызова основной функции с командной строки.
* Выполняет группировку объектов. Лично у меня именно этот вариант бОльшей
* популярностью пользуется.
*    Параметры вызова:
*  нет и быть не может
*    Примеры вызова:
(c:ung)    ; из lisp-функций
ung    ; с командной строки
==================================================*===========================|;
(defun c:ung ()
  (kpblc-univ-grouping nil)
  ) ;_ end of defun
;|==================================================*===========================
*    Сервисная функция. Служит для вызова основной функции с командной строки.
* Выполняет группировку объектов с запросом из ком.строки.
*    Параметры вызова:
*  нет и быть не может
*    Примеры вызова:
(c:ugq)    ; из lisp-функций
unq    ; с командной строки
==================================================*===========================|;
(defun c:ugq (/ _answer_)
  (initget "Группировать Разгруппировать Group Ungroup _ G U G U")
  (setq _answer_
         (getkword
           "\nВыполнять действия [Группировать/Разгруппировать] <Отмена> : "
           ) ;_ end of getkword
        ) ;_ end of setq
  (if _answer_
    (kpblc-univ-grouping (= _answer_ "G"))
    ) ;_ end of if
  ) ;_ end of defun
skkkk вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Привязать к объекту выноску



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как с помощью LISP создать выноску и заполнить ее данными YuryK LISP 5 18.01.2012 14:16
Как привязать отрезки в объекту? mini_mi Вертикальные решения на базе AutoCAD 3 02.12.2011 21:27
Школа Искусств к какому относиться объекту согласно СНиПа? dextron3 Архитектура 15 14.02.2011 13:57
Можно ли в блоке привязать объект к точке в пространстве? olamot AutoCAD 9 07.01.2011 17:15
Перемещаем Выноску. Что за это отвечает? Lenich Программирование 2 13.09.2004 22:31