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

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

Слетает порядок слоев в блоках.

Ответ
Поиск в этой теме
Непрочитано 23.09.2005, 02:46 #1
Слетает порядок слоев в блоках.
Tech
 
Odessa
Регистрация: 18.10.2004
Сообщений: 226

По характеру работы очень часто приходится работать с блоками, накопил уже довольно приличную библиотеку, некоторые блоки содержат до трех слоев (сверху вниз - 0, WIPE, HIDDEN). Когда блок находится в том файле где он был создан, все слои стоят на своих местах, при обычном копировании между различными чертежами порядок так же сохраняется, а вот при вставке через DesignCenter почему-то вылазит наверх чаще всего HIDDEN, та же ситуация при создании нового блока с включением готового. Приходится открывать BlockEditor и заново преустанавливать порядок.
Может кто знает, как закрепить порядок слоев :?: Или это неистребимо :cry: .
Просмотров: 5888
 
Непрочитано 23.09.2005, 03:47
#2
Лентяй

Project Engineer
 
Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392


Можно поиграться переменной MAXSORT, но, по-моему, имена слоев выводятся в алфавитном порядке, так что HIDDEN должен идти перед WIPE.
Лентяй вне форума  
 
Непрочитано 23.09.2005, 09:04
#3
Любознательный

Проектирование систем автоматизации, связи, сигнализации, организация электронного документооборота
 
Регистрация: 03.03.2005
Харьков
Сообщений: 20


Дело не в слоях и, тем более, не в именах слоев. Дело в draworder, порядке следования примитивов относительно друг друга при их рисовании. Акад помещает позднее созданные примитивы поверх ранее созданных. Этот порядок можно изменить командой draworder, но ее действие неустойчивое, при переносе таких рисунков (через DesignCenter, ToolPalettes, буфер обмена) порядок следования отдельных примитивов слетает (восстанавливается такой, какой был при их создании). Выход, по моему, один - соблюдать соответствующий порядок создания примитивов. Существующие рисунки я правлю следующим образом. Примитивы, которые должны располагаться поверх, переношу в сторону, копирую их на место, старые удаляю. Заморочно, конечно, но по другому как - не знаю. Может, кто подскажет...
Любознательный вне форума  
 
Непрочитано 23.09.2005, 09:06
#4
Кулик Алексей aka kpblc
Moderator

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


Тут проблема не в порядке создания слоев, а в порядке создания примитивов. Сталкивался с такой проблемой. Рецепт: те элементы, которые должны быть "наверху", копировать (_.copy) , старые удалять, новые переместить на исходное положение. И так со всеми блоками.
---
Добавлено:
Пока писал, уже опередили. Суть рецепта не меняется.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 23.09.2005, 10:23
#5
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


>Lamer Почитайте также
http://www.autocad.ru/cgi-bin/f1/board.cgi?t=333AK
Да и Поиск по ключу "порядок слоев" даст еще несколько ссылок
Alan вне форума  
 
Автор темы   Непрочитано 23.09.2005, 22:38
#6
Tech


 
Регистрация: 18.10.2004
Odessa
Сообщений: 226
<phrase 1=


А-а-а-громное спасибо Любознательный и kpblc

Цитата:
Тут проблема не в порядке создания слоев, а в порядке создания примитивов.
Вы абсолютно правы, получилось. Теперь дело за малым :cry: перелопатить всю библиотеку.
Tech вне форума  
 
Непрочитано 24.09.2005, 16:52
#7
Vova

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


Если детали блока имеют разный цвет, поможет команда из Express Cdorder. Упорядочить слои можно также макросом что-то вроде ^C^C_GETSEL;\;_DRAWORDER;_P;;_F Здесь наверх (потому-что F, Front) выйдет слой, по любому объекту которого кликнешь мышкой
Vova вне форума  
 
Непрочитано 25.09.2005, 14:19
#8
ZZZ

электрик
 
Регистрация: 11.03.2005
Киев
Сообщений: 157


Lamer, kpblc, Любознательный
Тут накрапал маленькую прогу, чтобы копировала и удаляла автоматиком. Мож пригодится. Тестировал на 2006. могут быть проблемы в вдругих версиях, организация вызовов команд из лиспа.
Код:
[Выделить все]
(defun c:z-draworder-front (/ ss _osmode)
  (setq ss (ssget))
  (setvar "cmdecho" 0)
  (if ss
    (progn
      (setq _osmode (getvar "osmode"))
      (setvar "osmode" 0)
      (vl-cmdf "_copy" ss "" '(0 0 0) "" '(0 0 0) "_erase" ss "");здесь могут проблемки
      (setvar "osmode" _osmode)
      ) ;_ progn
    ) ;_ if
  (setvar "cmdecho" 1)
  (princ)
  ) ;_ defun
вызов z-draworder-front
__________________
Когда под рукой нет ничего кроме молотка - всё вокруг кажется гвоздями...
Выбор правильного инструмента - залог успеха в любом деле.
ZZZ вне форума  
 
Автор темы   Непрочитано 25.09.2005, 18:16
#9
Tech


 
Регистрация: 18.10.2004
Odessa
Сообщений: 226
<phrase 1=


Цитата:
Сообщение от ZZZ
Тут накрапал маленькую прогу, чтобы копировала и удаляла автоматиком. Мож пригодится.
Спасибо очень даже пригодится, мне понравилось, и проблем пока не было. С 2006-го слазить уже не хочется, не смотря на все его заморочки.
Tech вне форума  
 
Непрочитано 03.03.2015, 14:37
#10
Lesim


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


как я вижу, схожая проблема была еще 10 лет назад
мне нужно закрепить (зафиксировать) порядок слоев (примитивов), которые я сделала при помощи DRAWORDER.
есть что-то подобное в последних версиях автокада?
спасибо!

Последний раз редактировалось Lesim, 03.03.2015 в 14:51.
Lesim вне форума  
 
Непрочитано 03.03.2015, 14:42
1 | #11
Кулик Алексей aka kpblc
Moderator

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


Порядок следования будет срабатывать в лучшем случае до тех пор, пока блок используется в том файле, где этот порядок был переопределен. Если этого недостаточно, то надо примитивы создавать именно в том порядке, в котором они должны быть.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.03.2015, 14:51
#12
Lesim


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Порядок следования будет срабатывать в лучшем случае до тех пор, пока блок используется в том файле, где этот порядок был переопределен. Если этого недостаточно, то надо примитивы создавать именно в том порядке, в котором они должны быть.
значит, за 10 лет ничего не изменилось....
у меня не блок. проблема схожая. мне нужно, чтобы примитивы имели четко закрепленный порядок.
даже лиспов никто не написал?
Lesim вне форума  
 
Непрочитано 03.03.2015, 14:57
1 | #13
Кулик Алексей aka kpblc
Moderator

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


Lesim, если не блок, то что? Внешняя ссылка? http://autolisp.ru/2013/09/18/draworder-inside-blocks/
Цитата:
Сообщение от Lesim Посмотреть сообщение
даже лиспов никто не написал?
Писали, и я в том числе: http://autolisp.ru/2011/12/16/draworder/ (там же есть и ссылки на соответствующие темы)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.03.2015, 15:12
#14
Lesim


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Lesim, если не блок, то что? Внешняя ссылка? [
у меня файл, в котором есть блок-подложка от геодезиста. сверху я располагаю свои объекты. но блок-подложка, не смотря на постоянное перемещение командой draworder вниз (back), перемещается front и перекрывает мои вновь созданные объекты. при печати (если не уследить) происходит тоже самое.
все бы ничего, но я файл отправляю заказчику. у него, есссено, все примитивы опять приходят в первозданный хаос и он не видит моих объектов.
думала, что в последних версиях автокада хоть что-то сделано для фиксации порядка примитивов в файле.

спасибо, почитаю ваши ссылки. может, найду что-то полезное.

лисп прописала у себя.
под 2015 автокад не работает

Последний раз редактировалось Lesim, 03.03.2015 в 16:10.
Lesim вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Слетает порядок слоев в блоках.