Тема: Каковы ограничения применения именованных и неименованных групп в одном файле?

Собственно вопрос.
Что имеется в виду:
1. Каково максимальное количество неименованных и именованных групп (group) в одном файле (как, например, с выборами ssget)?
2. Каким образом можно программно удалять неиспользуемые группы (_-purge на них не действует) - опять же, именованные и неименованные на случай какого-то ограничения? Тема где-то мелькала, но я что-то не нашел.
3. Что происходит при задании использованного имени группы? Не будет там переопределения как с блоками?

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

Ограничение 128 шт.
Доступ до них:

(vla-get-SelectionSets(vla-get-ActiveDocument(vlax-get-acad-object)))

Затем перебираем vlax-for и для ненужных vla-Delete.
Если не использовать ActiveX то придётся сохранять наборы в переменные и обнулять. Как добраться до каждого отделного набора если он не сохранён в переменной к сожалению не знаю.

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

Ну так это ограничение ssget-ов, если я правильно понял. А если в лиспе я создаю группу (если по тупому - то (command "_.-group")) - сколько групп я смогу сделать?
ssget'ы-то у меня всегда локальные, так что тут проблем особых не возникает...

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

> kpblc
Официально никаких ограничений на количество групп в dwg-файле нет. Можно считать, что их можно создать столько же, сколько и блоков, слоев и т.д. Как это скажется на производительности AutoCAD - не знаю. Нужно экспериментировать.

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

Удалять группы можно соответствующим методом объекта. А что происходит при совпадении имен - проверь сам, что за трудности?
зы кстати один объект может принадлежать разным группам.

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

> kpblc
Sorry.
Да опять невнимательно читаю. Группы создаю удаляю объектным методом.Пользовался ими пару раз при программировании. (vla-get-Groups(vla-get-ActiveDocument...
У тебя кажется ActiveX не работает потому что LT+Lisp Extender? Как без ActiveX их удалить не знаю:(

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

{Smirnoff} пишет:

Как без ActiveX их удалить не знаю:(

Ну вот, дожили, без ActiveX уже ничего сделать не можем
(entdel ...) :))))))))

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

> AY
Да дело в том, что понять логику надо - он мне ошибку вываливает, но не всегда.

> {Smirnoff}
ActiveX вроде как поддерживается. Основная проблема в том, что
(setq aa (ssget "_X" '((0 . "GROUP")))) (вроде нормальный код) возвращет nil (кстати, был сильно удивлен, увидев GROUP среди OBJECT Section).
Соответственно ни дамп не снять, ничего не сделать.

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

> kpblc
GROUP- это неграфический объект ssget не годится используй

(dictsearch (NAMEDOBJDICT) "ACAD_GROUP")

откопал у себя функцию разгруппировки

(DEFUN c:ungroup2 (/ a)
    (if (setq a (entget (car (entsel "\nУкажите объект разбиваемой группы... "))))
            (if (setq a (cdr (assoc 330 a)))
                (if (eq (cdr (assoc 0 (entget a))) "GROUP")
                    (if (entdel a) (princ "\nГруппа разбита..."))
                    (princ "\nГруппа не обнаружжена...")
                )
                (princ "\nГруппа не обнаружжена...")
            )
    )
    (princ)
) ; конец DEFUN

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

Ну вот, дожили, без ActiveX уже ничего сделать не можем
(entdel ...) :))))))))

Ну злорадствовать то не надо... Меня вполне устраивает работа с группами через ActiveX. А поскольку я ими практически не пользовался то и представления не имел где они лежат. Теперь знаю:

(defun AllGroupsDelete(/ GrDict delObj)
  (setq GrDict(cdr(assoc -1(dictsearch(namedobjdict)"ACAD_GROUP"))))
  (while(setq delObj(dictnext GrDict t))
  (entdel(cdr(assoc -1(dictnext GrDict t))))
  ); end while
  (princ)
  ); end of AllGroupsDelete

И уже не лежат...

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

(defun AllGroupsDelete(/ GrDict delObj)
  (setq GrDict(cdr(assoc -1(dictsearch(namedobjdict)"ACAD_GROUP"))))
  (while(setq delObj(dictnext GrDict t))
  (entdel(cdr(assoc -1 delObj)))
  ); end while
  (princ)
  ); end of SelSetsDelete

То бишь так, поторопился...

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

> {Smirnoff}
Скажешь тоже - злорадствую. Может я наоборот - завидую :).

Re: Каковы ограничения применения именованных и неименованных групп в одном файле?

О как! Всем спасибо, буду разбираться дальше - вчера быстро слишком лимит инета выбрал.