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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Управление слоями в видовых экранах в пространстве листа

Управление слоями в видовых экранах в пространстве листа

Ответ
Поиск в этой теме
Непрочитано 23.10.2008, 11:43 #1
Управление слоями в видовых экранах в пространстве листа
Zuk
 
Ищу себя.
 
Москва
Регистрация: 21.03.2007
Сообщений: 390

Пытаюсь перейти на использование пространства листа. Ознакомился со статьями и советами профессионалов. Но все равно возникают вопросы методического плана.
Очень прошу подсказать!
При использовании видовых экранов в пространстве листа отображаются только те слои, что видны в пространстве модели.
Возможно ли сделать отображение слоев в видовых экранах на листах независимым от отображения в пространстве модели?
Иначе говоря, хотелось бы, чтобы в видовом экране отображались и те слои, что не видны в пространстве модели, но не заморожены для текущего видового экрана. Возможно ли это?

Заранее благодарен за помощь.
Просмотров: 29233
 
Непрочитано 23.10.2008, 11:47
#2
Солидворкер
Moderator

Конструктор (машиностроение)
 
Регистрация: 23.10.2006
Россия
Сообщений: 22,991
<phrase 1=


http://forum.dwg.ru/showthread.php?t=25990
Солидворкер вне форума  
 
Непрочитано 23.10.2008, 11:50
#3
Огурец

Profan
 
Регистрация: 27.04.2005
Москва
Сообщений: 6,752
Отправить сообщение для Огурец с помощью Skype™


В пространстве листа можно и нужно рисовать теми слоями, которые Вы не используете в пространстве модели. Для переноса их из пространства модели в пространство листа служит команда _chspace
Огурец вне форума  
 
Автор темы   Непрочитано 23.10.2008, 12:12
#4
Zuk

Ищу себя.
 
Регистрация: 21.03.2007
Москва
Сообщений: 390


Солидворкер, Огурец, прошу прощения, видимо я не совсем правильно описал проблему. Попробую более подробно.
Я знаю, каким образом заморозить слои для видовых экранов всех вместе и каждого по очереди.
Но я редактирую чертежи в пространстве модели, а с помощью листов компоную и печатаю. При этом для каждого видового экрана на листах замораживаю или размораживаю слои в зависимости от назначения чертежа и т.д. При этом, если слой выключен, то он в видовом экране не отображается, даже если разморожен. Чтобы слои правильно отображались во всех видовых экранах, нужно, чтобы все они были включены. При этом в модели редактировать чертеж становиться невозможно, так как он перегружен элементами различных слоев, которые по логике не должны друг с другом встречаться -).
Постоянно выключать все слои и для редактирования включать несколько, а потом опять включать все для посмотреть не очень удобно.
И вот такой вопрос, вернее два:
- правильно ли я понимаю назначение модели и листов, то есть модель - для редактирования, лист - для компоновки?
- есть ли возможность сделать слои невидимыми только в пространстве модели?

Заранее спасибо за помощь.
Zuk вне форума  
 
Непрочитано 23.10.2008, 12:18
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Второй вопрос: есть. Используй фильтры слоев.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 23.10.2008, 12:19
#6
Огурец

Profan
 
Регистрация: 27.04.2005
Москва
Сообщений: 6,752
Отправить сообщение для Огурец с помощью Skype™


Уже ответили.
Огурец вне форума  
 
Автор темы   Непрочитано 23.10.2008, 13:29
#7
Zuk

Ищу себя.
 
Регистрация: 21.03.2007
Москва
Сообщений: 390


Спасибо за совет.
Zuk вне форума  
 
Непрочитано 24.10.2008, 03:21
#8
MYV

Корабел в прошлом, пенсионер в настоящем
 
Регистрация: 15.12.2005
Владивосток
Сообщений: 299


Цитата:
Сообщение от Zuk Посмотреть сообщение
.....При этом в модели редактировать чертеж становиться невозможно, так как он перегружен элементами различных слоев, которые по логике не должны друг с другом встречаться -).
Постоянно выключать все слои и для редактирования включать несколько, а потом опять включать все для посмотреть не очень удобно....
Если вкладка модель перегружена слоями и различными обьектами но есть вкладки листы с В-портами в которых часть слоев заморожена, то модель удобнее редактировать зайдя в нужный В-порт на листе и затем развернув его с помощью maximize/minimize viewport (на нижней панели). В этом слечае видны и доступны для редактирования обьекты на размороженных слоях.
MYV вне форума  
 
Непрочитано 24.10.2008, 06:11
1 | #9
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Vmen в теме http://forum.dwg.ru/showthread.php?t=25797 пост 44 сказал:
Цитата:
За каким мне создавать лишний слой я не знаю. У меня созданные слои Линии 015, Линии 045, Линии 08, Текст и всёёёёёёё. В обычном файле для строительного чертежа
Чувствуете разницу между ним и Zuk? Оба делают обычные строительные чертежи. Как вы думаете, кто более продвинуто работает? Zuk из одной модели добывает несколько чертежей путем манипулирования слоями. Каждый чертеж состоит из объектов, находящихся в определенном наборе слоев. В
эти наборы могут входить в том числе и одинаковые слои, общие для нескольких чертежей. Разделить их в Лейауте легко-путем закрытия ненужных слоев через открытый впорт, или манипуляцией в менеджере слоев. А чтобы в модели видеть по заказу тот или иной чертеж, а не кашу из всего, надо сохранить заранее нужное состояние слоев под лигическим именем. Layer state, или набор состояний (не знаю точно как в русском автокаде). Это не фильтры слоев. Те предназначены для показа неполного (выборочного) списка слоев. В автокаде от 2006 надо кликнуть правой кнопкой по списку слоев в менеджере. там увидите что надо сделать.
Vova вне форума  
 
Автор темы   Непрочитано 26.03.2009, 14:28
#10
Zuk

Ищу себя.
 
Регистрация: 21.03.2007
Москва
Сообщений: 390


Теме уже почти пол года, но лучше поздно, чем никогда.
В свое время не сложилось разобраться, но вот опять возникла потребность.
Vova, Layer state в значительной степени решает проблему, о которой я говорил, большое спасибо за подсказку.
Кстати, это есть и в Автокаде 2005-м.
Zuk вне форума  
 
Непрочитано 15.05.2009, 08:28
#11
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


Цитата:
Сообщение от Zuk Посмотреть сообщение
Теме уже почти пол года, но лучше поздно, чем никогда.
В свое время не сложилось разобраться, но вот опять возникла потребность.
Vova, Layer state в значительной степени решает проблему, о которой я говорил, большое спасибо за подсказку.
Кстати, это есть и в Автокаде 2005-м.
Прошло еще 3 месяца )))
В русском автокаде что такое Layer state ??? У меня по правой кнопке только фильтры и есть.
__________________
Неважно, что что-то идет неправильно. Возможно, это хорошо выглядит...
Volodich вне форума  
 
Непрочитано 15.05.2009, 08:35
#12
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Цитата:
Сообщение от Volodich Посмотреть сообщение
Прошло еще 3 месяца )))
В русском автокаде что такое Layer state ??? У меня по правой кнопке только фильтры и есть.
Можно, например, здесь почитать: http://forum.dwg.ru/showthread.php?t=21260
Makswell вне форума  
 
Непрочитано 18.11.2010, 22:58
#13
nik_mb

конструктор
 
Регистрация: 23.03.2009
Волгоград
Сообщений: 120


Есть желание програмно управлять заморозкой-разморозкой слоя в текущем видовом экране. Или хотя бы определять состояние определенного слоя, когда "нырнул" в экран.
Строка:
(vla-put-Freeze (vla-Item (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) layer_current) :vlax-False)
не годится для такого случая.
Но где-то должно быть записано о состоянии слоев в текущем видовом экране. Строка
(entget (setq vport (vlax-vla-object->ename (vla-get-ActivePViewport ActiveDocument))))
Выдает много фрагментов типа (331 . <Имя объекта: 7ee90588>)
Никак не могу дотумкать где "копать".
__________________
Мой сайт ingnmb.wixsite.com/acad-s
nik_mb вне форума  
 
Непрочитано 18.11.2010, 23:42
#14
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


В 331 группе хранятся
Цитата:
Frozen layer object ID/handle (multiple entries may exist) (optional)

Получить оттуда имена замороженных слоев труда не составит:
Код:
[Выделить все]
(setq lst (entget (car (entsel))))

(mapcar
  (function
    (lambda (x) (cdr (assoc 2 (entget (cdr x)))))
    ) ;_ end of function
  (vl-remove-if-not
    (function
      (lambda (x) (= (car x) 331))
      ) ;_ end of function
    lst
    ) ;_ end of vl-remove-if-not
  ) ;_ end of mapcar
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 19.11.2010, 09:18
#15
nik_mb

конструктор
 
Регистрация: 23.03.2009
Волгоград
Сообщений: 120


Спасибо! Получилось.
Определил первую строчку чуть по другому
(setq lst (entget (setq vport (vlax-vla-object->ename (vla-get-ActivePViewport ActiveDocument)))) )
А затем использовав mapcar, получил список слоев замороженных в текущем видовом экране.
__________________
Мой сайт ingnmb.wixsite.com/acad-s
nik_mb вне форума  
 
Непрочитано 25.02.2013, 12:32
#16
Shiras

инженеР
 
Регистрация: 25.03.2011
Там где холод
Сообщений: 11


nik_mb, получилось ли у Вас программным путем заморозить какой-либо слой только для текущего видового экрана?
Нашел на форуме решение через командную строку (спасибо VVA)
Код:
[Выделить все]
 (vl-cmdf "_.vplayer" "_freeze" "имя слоя" "_CURRENT" "")
К сожалению не могу найти решения через ActiveX. Может быть знающие люди подскажут как написать данную стоку через "vla-sendcommand"?
Код:
[Выделить все]
 (vla-SendCommand actdoc "_.vplayer _FREEZE "имя слоя" _CURRENT ")
выводит запрос имени слоя для заморозки. Заранее спасибо.

Последний раз редактировалось Shiras, 25.02.2013 в 16:14. Причина: нашел решение на форуме
Shiras вне форума  
 
Непрочитано 26.02.2013, 20:39
#17
nik_mb

конструктор
 
Регистрация: 23.03.2009
Волгоград
Сообщений: 120


Цитата:
Сообщение от Shiras Посмотреть сообщение
nik_mb, получилось ли у Вас программным путем заморозить какой-либо слой только для текущего видового экрана?
Такой задачи себе не ставил. Лишь проверял програмно - заморожен ли слой в текущем видовом экране и если да, то выводится предложение другого слоя для отрисовки элементов. Исходил из логики - если слой заморожен, значит так надо.
Хотя что-то нашел. Сейчас разбираться как и что недосуг. Вот кусок кода, может пригодится
Код:
[Выделить все]
 (if (/= lay_tek "_ByLayer")
(progn
(setq s_layer (vla-get-layers  ActiveDocument))
(setq lay_su (vlax-invoke-method s_layer "Item" lay_tek))
(if (or (= :vlax-true (vla-get-freeze lay_su))
	(= :vlax-true (vla-get-Lock lay_su))
	(= :vlax-false (vla-get-LayerOn lay_su)) )
(progn
(vla-put-freeze lay_su :vlax-false);; разморозить
(vla-put-Lock lay_su :vlax-false);; разблокировать 
(vla-put-LayerOn lay_su :vlax-true);; включить
(vlax-invoke-method ActiveDocument "regen" acActiveViewport)
))
(setvar "clayer" lay_tek)
));; (if (/= lay_tek "_ByLayer")(progn
__________________
Мой сайт ingnmb.wixsite.com/acad-s
nik_mb вне форума  
 
Непрочитано 28.02.2013, 14:34
#18
alakk

Начальник службы Заказчика
 
Регистрация: 16.02.2008
РФ Пермь
Сообщений: 161
<phrase 1=


Привет всем в теме.
Подскажите, плиз, мне, архикадчику, как из видового экрана автокада сделать двг файл для дальнейшей работы с ним в арчике. Никак не получается сделать, а очень надо.
alakk вне форума  
 
Непрочитано 28.02.2013, 14:52
#19
РастОК

Конструктор-Проектировщик
 
Регистрация: 24.12.2008
Сообщений: 2,588


Цитата:
Сообщение от alakk Посмотреть сообщение
Привет всем в теме.
Подскажите, плиз, мне, архикадчику, как из видового экрана автокада сделать двг файл для дальнейшей работы с ним в арчике. Никак не получается сделать, а очень надо.
Архикад работает только с моделью Автокада, поэтому никак. Компонуйте что нужно в модели и забирайте из Архикада...
P.S. А вот Архикад в конечном итоге конвертирует свой файл в автокадовский уже с настроенными листами и в них видовыми экранами, что очень удобно...
РастОК вне форума  
 
Непрочитано 28.02.2013, 15:30
#20
alakk

Начальник службы Заказчика
 
Регистрация: 16.02.2008
РФ Пермь
Сообщений: 161
<phrase 1=


РастОК, привет
Я уже разобрался сам. Все оказалось достаточно просто.
1. Надо хлопнуть 2 раза по отражению модели, потом нажать на "Выбрать все".
2. Надо опубликовать в DWF. При публикации есть выбор всяких функций. Этот формат не читает мой 2008, не знаю как другие. Поэтому:
3. Качаем из сети конвертер DWF to DWG. Яндекс сразу выдал кучу ссылок. Там есть несколько видов конвертеров. Я выбрал тот, который конвертит все подряд. Конвертируем и наслаждаемся
alakk вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Управление слоями в видовых экранах в пространстве листа

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничение количества видовых окон в пространстве листа Moth AutoCAD 8 01.07.2020 14:23
Работа в пространстве листа Traum AutoCAD 42 14.08.2014 05:57
Простановка размеров в пространстве листа Serz AutoCAD 8 18.03.2014 13:53
Простановка размеров в пространстве листа <Layout> zenon AutoCAD 71 09.01.2012 16:00
Оформление размеров в видовых экранах lion AutoCAD 6 31.05.2006 10:33