Тема: Копировать слой

Как скопировать слой в автокаде? Т.е сделать дубль существующего?

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

wpt пишет:

Как скопировать слой в автокаде? Т.е сделать дубль существующего?


Command: _layer
в появившемся "Layer Properties Manager" выделить слой, копию которого хочется получить и нажать Enter откорректировать имя полученного слоя ...


может будет полезна команда из Express
Command: _copytolayer
- позволяет скопировать выделенные объекты на новый слой

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

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

Command: _layer
в появившемся "Layer Properties Manager" выделить слой, копию которого хочется получить и нажать Enter откорректировать имя полученного слоя ...

При таких действиях будет создан новый слой, и только. В слое будет пусто

(изменено: Yuriy, 15 марта 2010г. 08:11:42)

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

Vova пишет:

При таких действиях будет создан новый слой,

Чуть уточню -
будет создан новый слой на основе всех свойств выделенного перед этим слоя.
Свойств слоя не так уж и мало, чтобы задавать их по новой если они уже настроены должным образом для уже имеющегося слоя.

Vova пишет:

В слое будет пусто

Command: _copytolayer позволит скопировать в новый слой объекты

перед которой при помощи фильтра (или как пишет Vova Layiso) можно выделить все или только требуевые  объекты слоя

А еще лучше найти или написать програмку запрашивающую, что-то типа этого:
- укажите объект слоя образца
- введите имя нового слоя
- выделите объекты
- сделать ли новый слой текущим

Может уже есть что нибудь подобное :?:


В книге Н.Н.Полещук по лиспу описан еще способ копирования неграфических объектов из других чертежей...

(изменено: Valery Brelovsky, 15 марта 2010г. 08:40:22)

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

wpt пишет:

Как скопировать слой в автокаде? Т.е сделать дубль существующего?

Вопрос не конкретен. Если хочу получить слой с аналогичными настройками то выделяю нудный и создаю новый слой и он наследует настройками настройки старого.
А о копировании объектов в опросе не идёт.
Автору всё таки нужно уточнить вопрос и добавить информации по теме. :)

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

Мне нужно создать копию слоя со всеми объектами, находящимися на этом слое

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

wpt пишет:

Мне нужно создать копию слоя со всеми объектами, находящимися на этом слое

По отдельности
Вначале копируешь слой как сказано выше
Затем через быстрый выбор в окне ХАРАКТЕРИСТИКИ выделяешь все объекты по СЛОЮ
Копируешь в сторонку
Переносишь скопированные объекты на новый слой
Перенос на старое место, поверх исходных

Или написать лисп с соответствующими запросами

(изменено: Yuriy, 15 марта 2010г. 14:00:30)

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

wpt пишет:

Мне нужно создать копию слоя со всеми объектами, находящимися на этом слое

как вариант -
1. скопировать все объекты нужного слоя в буфер обмена
2. вставить с оригинальными координатами в новый пустой файл
3. в нем переименовать слой и скопировать в буфер обмена все объекты
4. переключиться в прежний файл и вставить из буфера либо с оригинальными координатами в то же место или указать новое место для вставки

еще вариант -
1. скопировать все объекты копируемого слоя в буфер обмена
2. переименовать копируемый слой
3. вставить из буфера либо с оригинальными координатами в то же место или указать новое место для вставки

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

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

Перенос на старое место, поверх исходных

Повторяю что сказал выше

Но эту копию не хранят верхом на оригинале, их надо куда-то перенести, в другой файл или в сторонку на этом

Если скопировать в сторонку, объекты остануться в своем слое. Если в другой файл, они принесут с собой свойства слоя, которые были в модели, кроме Lock, Freese, Off-иначе просто не скопировать. Ну а если надо скопировать с измененными свойствами в-порта, тут надо смотреть отдельно

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

Vova,
Смотри всю цепочку ВАРИАНТА операций стандартными командами
В сторонку копировать - чтоб спокойно выбрать и поменять свойства - слоя, созданного (скопированного) ранее
Старое положение - чтоб редактировать затем - например из 1-го этажа сделать 2-ой

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

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

Старое положение - чтоб редактировать затем - например из 1-го этажа сделать 2-ой

А как редактировать, если там линия по линии? С Draworder-ом морочиться? Чтобы не гадать, а то каждый привязывает к своей ситуации, пусть лучше автор уточнит еще раз, чего он хочет. Его предыдущее уточнение только запутало ситуацию. И заодно скажет, помог-ли чей-нибудь совет

(изменено: Valery Brelovsky, 16 марта 2010г. 07:08:17)

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

wpt пишет:

Мне нужно создать копию слоя со всеми объектами, находящимися на этом слое

Собственно в чём проблема. Оставь включённым нужный слой и скопируй объекты этого слоя. :)

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

Vova пишет:

А как редактировать, если там линия по линии? ...

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

(изменено: Yuriy, 16 марта 2010г. 09:06:03)

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

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

выделяешь ... объекты ... Копируешь в сторонку

очень часто использую этот прием чтобы другие объекты не мешались
добавлю только, что копирую но чаще переношу на определенное "кругленькое" расстояние например 50000 вправо влево вверх или вниз для более быстрого возврата на прежнее место

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

Yuriy пишет:

очень часто использую этот прием чтобы другие объекты не мешались
добавлю только, что копирую но чаще переношу на определенное "кругленькое" расстояние например 50000 вправо влево вверх или вниз для более быстрого возврата на прежнее место

_layiso (СЛОЙОТД) и _Layuniso (СЛОЙОТДОТМ) тебе в помощь
Копировать слой

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

Disney пишет:

_layiso (СЛОЙОТД) и _Layuniso (СЛОЙОТДОТМ) тебе в помощь

Спасибо Disney!
это тоже часто используемый способ изоляции по слою

Но самые часто используемые в процентном отношении у меня команды изоляции - по объектам :
- Command: AecIsolateObjects  (IO)
- Command: AecHideObjects  (HO)
- Command: AecUnIsolateObjects  (UIO)
вот только работают они в архитектурном автокаде (AA)

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

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

Старое положение - чтоб редактировать затем - например из 1-го этажа сделать 2-ой

Интересный чертеж, в котором весь этаж в одном слое :cry:

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

Yuriy пишет:

Но самые часто используемые в процентном отношении у меня команды изоляции - по объектам :

- Command: AecIsolateObjects  (IO)

- Command: AecHideObjects  (HO)

- Command: AecUnIsolateObjects  (UIO)

вот только работают они в архитектурном автокаде (AA)

Почему только в Архитектурном? В Civil 3D тоже такие команды есть.

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

Игорь Богаченко пишет:

Почему только в Архитектурном? В Civil 3D тоже такие команды есть.

О, возможно и в других вертикальных решениях имеются  :)
В 2011 Автокаде вроде бы должны появиться...

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

Vova пишет:

Интересный чертеж, в котором весь этаж в одном слое

А разве это так много для слоя плана - толстые стены с тонкими окнами, дверьми и лестницами?
Для оформления - Оси, штриховки, размеры, марки и тп. - естественно создаются другие слои, относящиеся к плану того/другого этажа, а то как же иначе оформлять чертежи в ВЭ на Листах? Потому и нужна бывает копия слоя и его содержимого, чтоб сократить работу по созданию/оформлению других этажей.

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

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

А разве это так много для слоя плана - толстые стены с тонкими окнами, дверьми и лестницами?

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

(изменено: Disney, 17 марта 2010г. 20:39:45)

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

Vova пишет:

В файле этажа оказалось 737 слоев

Прикольно... а я всё думал, "нафиг фильтры слоёв нужны" Копировать слой

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

Yuriy пишет:

А еще лучше найти или написать програмку запрашивающую, что-то типа этого:
- укажите объект слоя образца
- введите имя нового слоя
- выделите объекты
- сделать ли новый слой текущим

Может уже есть что нибудь подобное

Есть только часть.
1. Выделяет все объекты со слоя образца. Позволяеть использовать SHIFT для добавления / удаления
2. Наличие установленного Express Tools обязательна
3. Вызывать на исполнетие так (layselect)

(defun layselect (/ e1 LAY SS pat SS1 i  F)
  (SSSETFIRST nil nil)
  (setvar "ERRNO" 0)
   (setq SS1 (ssadd) F t)
   (while F
      (if (setq e1 (entsel "\nВыберите примитив слоя <выход>: "))
        (progn
          (setq lay(list(assoc 8 (entget(car e1)))(cons 410 (getvar "CTAB"))))
          (setq ss nil ss (ssget "_X" lay))
        (if (acet-sys-shift-down)
          (repeat (setq i (sslength ss))
            (ssdel (ssname ss (setq i(1- i))) ss1)
            )
          (repeat (setq i (sslength ss))
            (ssadd (ssname ss (setq i(1- i))) ss1)
            )
          )
          (SSSETFIRST nil nil)
          (if (> (sslength ss1) 0)(SSSETFIRST nil ss1))
        )
        (progn
        (setq e1 (getvar "ERRNO")) 
        (cond ((= e1 7)(princ " ** Мимо **")(setq F t))
              ((= e1 52)(setq F nil))
          (t (setq F t)))
        )
        )
   ) ;_ end of while
   (princ)
)
Спасибо сказали: Ln_Ing1

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

Кстати, да, если по теме

Yuriy пишет:


А еще лучше найти или написать програмку запрашивающую, что-то типа этого:
- укажите объект слоя образца
- введите имя нового слоя
- выделите объекты
- сделать ли новый слой текущим

Может уже есть что нибудь подобное


В 2010 [B]AutoCAD[/B]е есть команда [B]_-copytolayer (-копиявслой)[/B]
выдаёт вот такие запросы
[*][B]Выберите объекты для копирования:[/B] найдено: 8
[*][B]Задайте имя слоя назначения или [?/= (выбрать объект)] <0>:[/B] имя_слоя
[*][B]Слой 'имя_слоя' не существует. Создать? [Yes/No]:[/B] Y
8 объект(ов) скопировано и помещено на слой "имя_слоя".
[*][B]Укажите базовую точку или [Перемещение/выХод] <выХод>:[/B]
или [B]_copytolayer (копиявслой)[/B]Копировать слой тоже самое, но с диалоговым окном

Спасибо сказали: Ln_Ing1

(изменено: Yuriy, 19 марта 2010г. 11:12:18)

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

Disney пишет:

или _copytolayer

в #2 про нее упоминал
а вот про вариант без диалогового окна не знал, спасибо!



Владимир Азарко, спасибо за функцию,
обычно  использовал типа

(defun c:zza ( / e1 _l _n )
 (if
   (setq e1 (entsel "\nВыберите примитив слоя <выход>: "))
   (progn
       (print (setq _l (cdr(assoc 8 (entget(car e1))))))
       (setq _n (ssget (list (cons 8 _l))))
       (command "_pselect" _n "")
   ))
);defun

Вот бы функцию именно создания копии слоя -
(make-copy-layer "имя нового слоя" "имя старого слоя")
в результате создается новый слой со всеми характеристиками старого