Re: Копировать слой

(defun make-copy-layer (New_Layer_Name Owner_Layer_Name / tmp )
  ;;; Ф-ция создания копии слоя
  ;;; New_Layer_Name - имя нового слоя
  ;;; Owner_Layer_Name - имя копируемого слоя
  ;;; Возвращает ename созданной копии слоя или nil
  ;;; (make-copy-layer "My new layer" "0")
  (if (and (setq tmp (tblobjname "LAYER" Owner_Layer_Name))
           (setq tmp (entget tmp))
           (snvalid New_Layer_Name 0)
           (not (tblsearch "LAYER" New_Layer_Name))
           )
    (entmakex (subst (cons 2 New_Layer_Name)(assoc 2 tmp) tmp))
    )
  )

Re: Копировать слой

Супер!!!
Владимир, cпасибо :!:

А вот и тестик

(defun c:test ( / e1 _l _n ) 
(if 
   (setq e1 (entsel "\nВыберите примитив копию слоя которого нужно получить <выход>: ")) 
   (progn       
       (print (setq _l (cdr(assoc 8 (entget(car e1))))))
       (setq _nl (getstring "\nИмя нового слоя: "))
       (if (make-copy-layer  _nl _l) (setvar "clayer" _nl))
   )) 
);defun

Re: Копировать слой

Vova пишет:

  Открыл на вскидку арх. план одного из зданий. В файле этажа оказалось 737 слоев, примерно треть из них закрыта или заморожена

Надо различать слои - ПЛАН - это как говорил выше - ТОЛЬКО линии стен, окон, дверей и лестниц.
Все остальное - это детализация, без которой план также может печататься - оси, размеры, штриховки зонирования, раскладки плит, оборудование... - которые вкл/откл по мере необходимости распечатать тот или иной раздел на все ТОМ-же плане.

Re: Копировать слой

Евгений Толстов пишет:

ПЛАН - это как говорил выше - ТОЛЬКО линии стен, окон, дверей и лестниц.

Ну это слишком упрощенно. Стены бывают разные, нескольких типов, и могут быть принадлежностью нескольких этажей, а на данном могут быть еще и стены, которые здесь встречаются впервые но есть и на последующих этажах. В именах слоев могут присутствовать номера этажей. Могут быть квартиры составляющие блоки, которые есть на неск. этажах и имя слоя содержит цифры. То-ще с лестничными и лифтами. В этом случае не выделить чистый план стен не разбив блоки, а с разбивкой их вылезет такое, что и составляет сотни слоев. Я много раз делал подосновы из арх планов разных арх. компаний. Везде свои тараканы и общих мест не бывает

(изменено: Евгений Толстов, 21 марта 2010г. 16:35:58)

Re: Копировать слой

Vova,
Я дал минимально-необходимое описание элементов, которые должны быть на такам слое, как ПЛАН-Х, ну разве что забыл про колонны и вент.шахты. Так сказать - подоснова, база, скелет, каркас - основные контуры и хлементы. Все остальное - варианты детализации и оформления, которые можно-нужно включать-отключать (та же самая детализация кладки стен, слоев отделки и утеплителей - все это - внутри контура стен базового плана), и поэтому должны быть на других слоях, конечно относящихся к этому этажу. Естественно, и их придется копировать (слои с настройками и содержание) для минимизации работы над планами других этажей.

Я только хотел сказать, что надо компоновать содержимое слоев по принципу, могут ли эти элементы присутствовать на чертеже по отдельности (план со штриховкой стен и план без штриховки), или они все вместе одновременно должны быть Вкл/Откл, для чего и привел пример плана с окнами, дверьми и лестницами. В конце концов это не Автокад Архитектура, где можно настроить различные экранные отображения (графическую детализацию) одного и того же элемента (стены, окна, ...), учитывающюю например разные масштабы предполагаемой печати.
А так - да - известны примеры работ над проектами только с одним слоем "0", или со слоями "План 1-го этажа - толстые линии", "...тонкие линии", "...окна", "...двери", "...лестницы"..., а потом все тоже самое для "План 2-го..."