Перейти к содержанию

Рекомендуемые сообщения

Выявлена некорректная реализация функциональности элементов блока, расположенных на слое "0".

По фэнь-шую  (а также и в аналоге, и в нано версий <=20) примитивы, входящие в состав блока и расположенные на слое "0", НАСЛЕДУЮТ состояние видимости/заморозки слоя, на котором расположено вхождение блока, а не собственно слоя "0".

Т.е. они видимы, если слой блока видим и не заморожен.

С удивлением (точнее, был ошарашен!) наткнулся на кривую реализацию этой фичи в 21.0.

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

 

Возможно, эту тему уже и поднимали, но считаю  это явным багом и настоятельно прошу исправить. 

  • Like 3
Ссылка на сообщение
Поделиться на другие сайты

Я не знаток внутренностей, но по-моему так этот слой и должен работать. На то он и служебный.

Ссылка на сообщение
Поделиться на другие сайты
27 минут назад, Kreator сказал:

но по-моему так этот слой и должен работать. На то он и служебный.

 

Подготовил пример с блоком, расположенным на слое "2".

В нем два элемента:

- отрезок на слое "0" с цветом "по блоку"

- окружность на слое "1" с цветом "по слою"

Слой "0" заморожен

 

Спойлер

image.png.febeaafd9fb908b94eafea12af973876.png

Тут все по-честному.

отрезок красного цвета, т.к. у него цвет "по блоку", а сам блок расположен на красном слое "2"

И плевать, что отрезок в блоке расположен на замороженном слое "0"

 

и

Спойлер

image.png.51c1544736d4f4cb1505d6c8c43b4b36.png

Наблюдаем пропадание видимости отрезка.

Т.е. он не унаследовал состояние видимости родительского объекта (а должен, т.к. расположен на служебном слое "0"), а повел себя, как объект, расположенный на заблокированном слое

 

Можете поэкспериментировать с переключениями состояний заморозки и цветов слоев.

Фактически мы наблюдаем,  что слой "0" не является служебным, а полностью идентичен по поведению любому другому слою. А это не есть гуд :angel:

Блок со слоем 0.dwg

  • Like 2
Ссылка на сообщение
Поделиться на другие сайты

Насчёт цветов - а сделайте цвет примитива в слое 0 "По слою", а не "По блоку". И он начнёт реагировать на цвет слоя, на который положен блок. Т.е. будет игнорировать цвет и вес линии слоя 0.

Что касается видимости/заморозки, то тут вопрос к идеологам как это должно быть правильно. По мне, если при заморозке он не морозится - это не правильно. Но опять же - слой особенный, возможно, действительно правильно его не морозить. В 20.1 действительно он отображается даже при заморозке и скрытии. Что лично мне странно. В DWG TV 2018 слой так же не исчезает. Вероятно, это и есть "правильно".

А вообще, не работайте в 0 да и всё - общая рекомендация для всех и всегда.

  • Like 1
Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, Kreator сказал:

В DWG TV 2018 слой так же не исчезает. Вероятно, это и есть "правильно".

Это было еще со времен Адама.

Вся методология создания блоков у автодеска базировалась на этом принципе:

слой "0" - особенный, объекты на этом слое, включенные в блоки, безусловно наследуют состояние видимости/заморозки (не путать с цветами, типами линий и другими атрибутами слоя) слоя, на котором расположено вхождение блока.

 

 

В качестве примера:

допустим, у вас есть блок - выключатель.

Вам необходимо на плане расположить проводку со старыми выключателями и новую проводку с новыми выключателями. Естественно, вы это расположите на разных слоях.

Но блок у вас будет использоваться один и тот же!

Если его примитивы будут расположены на слое "0", вы сможете на одном чертеже делать одинаковые блоки видимыми и невидимыми в соответствии с установками слоев (в данном примере "проводка1" и "проводка2"), на которых они расположены.

Если же примитивы будут на  слое. отличном от "0" , то вы не сможете отключить блоки на одном слое, не выключив на другом.

Так было всегда в акаде и в нано до 21 версии

 

Ссылка на сообщение
Поделиться на другие сайты

Мы делали всё, как в аналоге. Слой 0 ведёт себя не так, как остальные слои. Надо очень внимательно смотреть, может что-то отвалилось. Но точно делали как в АС

Ссылка на сообщение
Поделиться на другие сайты
Только что, yum сказал:

Мы делали всё, как в аналоге.

Это именно тот случай, когда по другому быть и не должно.

Это не вопрос удобства или привычки.

Очень надеюсь, что найдете источник проблемы.

Ссылка на сообщение
Поделиться на другие сайты

К сожалению проверить ничо пока не могу, но выключение и заморозка принципиально разные действия

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

При выключении слоя скроются  только примитивы расположенные на этом слое, независимо в составе блока или нет. 

Если примитивы блока на слое 0 и свойства по слою, то принимают все свойства слоя на который вставлен блок.

  • Like 1
Ссылка на сообщение
Поделиться на другие сайты
38 минут назад, doctorraz сказал:

..., но выключение и заморозка принципиально разные действия

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

Да, это так. Если вхождение блока расположено на замороженном слое, то невидимо все его содержимое.

 

Но

38 минут назад, doctorraz сказал:

При выключении слоя скроются  только примитивы расположенные на этом слое, независимо в составе блока или нет.

                      , а также примитивы на слое "0", если они входят в спрятанный блок. И только они.

Куски блока, расположенные на других слоях, будут видны. 

 

Если блок носит характер библиотечного (т.е. многократно используемого), то расположение примитивов в нем не на слое "0" должно быть только в исключительных случаях, например, если предполагается возможность частичного изменения видимости.

Предпочтительно использование слоя "0" и свойств "по блоку".

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

  • Haha 1
Ссылка на сообщение
Поделиться на другие сайты
  • 4 месяца спустя...
  • EdwardSt закрыл тема
Гость
Эта тема закрыта для публикации ответов.
  • Расскажите друзьям

    Нравится Официальный форум компании Нанософт? Расскажите друзьям!
  • Похожий контент

    • От Ingvarr_
      Добрый день!
      Уже не раз встречал на данном форуме, что некоторые при работе разбивают разделы по слоям. Например, ЭО - в одних слоях. ЭМ -в других.
      Каким образом вы это делаете, можете поделиться? И как быть, когда трасса используется и для ЭО и для ЭМ. Например, розетки прокладываются в ЭМ, а освещение в ЭО и трассы идут в одних лотках. И как быть, когда планов ЭМ много - на одном ТХ, на другом ОВ, на третьем дымоудаление?
      Хоть и давно работаю в Электро, пока не придумал способ, чтобы не упустить какую нибудь часть трассы.
    • От GAP
      При переименовании одного конкретного слоя, например, ящики в ЭЛ_ЯЩИКИ в нанокад 8.1 переименовываются рандомно в это же имя и соседние слои.
    • От d_andy_
      Доброго времени суток.
      Есть чертеж, созданный до меня, там есть несколько слоев, в которых объекты просто выделяются пунктиром. Эти объекты нельзя отредактировать или переместить. А мне нужно убрать несколько объектов, помогите разобраться.
    • От SPP
      Делаю стандарт предприятия.
      Отсюда два вопроса.
       
      1. Пользователи привыкли называть файлы как попало, типа для информативности: "баня,1 этаж, отделка, изменения123, листы1,2,3,5, для иванова, в печать, не в архив.DWG". Попытки привести имена файлов к единому виду, понимания не находят. Есть компромиссное решение. В Microsoft Word, к примеру, можно в свойствах файла заполнять поле "Коментарии", а в проводнике настроить отображение этого поля, тогда имя файла пишется по стандарту, а информативность в поле "коментарии". Но в Нанокаде это не работает, хотя комментарии вбить можно в проводнике они не отображаются. Какие идеи есть для решения, как угодить и нашим и вашим?
       
      2. В стандарте оговорены имена слоев, каждый отдел пишет свой префикс: "АС_стены", "КЖ_стены" и т.д. А объекты СПДС автоматом падают на собственные слои (например СПДС_стены), непонятно к какому отделу\разделу это относится. Как быть?
×
×
  • Создать...