|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
![]() |
Поиск в этой теме |
![]() |
#1 | |
Что можно сделать со слоями (и объектами на них), которые не отображаются в Диспетчере свойств слоев (*IDW_BlockReferenceLayer)
Регистрация: 24.03.2014
Сообщений: 15
|
||
Просмотров: 5933
|
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,151
|
Программа для работы с "безымянными" блоками здесь: https://forum.dwg.ru/showthread.php?t=66355
Дустом _audit или _recover не пробовали? значит, дальше говорить не о чем. Последний раз редактировалось kp+, 06.12.2018 в 12:23. |
|||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
Вообще-то не проблема выложить малюсенький кусочек с вхождением пары блоков.
Turbocad Designer (версия 17 русская - бесплатная) переименовывает такие блоки автоматом, насколько я помню. Насчет слоя - не в курсе. Другое дело, что он может попортить твердые тела, а может, и еще что-нибудь. |
|||
![]() |
|
||||
Регистрация: 24.03.2014
Сообщений: 15
|
Добрый день!
Спасибо, что откликнулись на мое сообщение. Во вложении dwg, в котором скрытый слой *IDW_BlockReferenceLayer, см. предыдущее мое сообщение. Этот слой не виден в Диспетчере свойств слоев, на этом слое - "анонимные блоки" типа "*I..", в пространстве Модели эти блоки не отображаются, а отображаются только в видовых экранах листа. Если в видовом экране листа навести курсор на такой блок, то в подсказке Автокада отображается информация о том, на каком слое этот блок (Слой.jpg), а в Палитре свойств (если выбрать такой блок) строка Слой вообще отсутствует. Хочу уточнить, что, в данном случае, блоки меня уже не интересуют. Они есть в файле в классическом виде, да и производитель уже прислал нам 3D модель этого оборудования, да и работа уже выполнена. Еще, утилиты BGTOOLS мне известны, они подключены в моем файле адаптации, до этого пользовалась версией 3.1а, когда столкнулась с данной проблемой, скачала версию 3.8.2. Но функции-команды UX и U2B не распознают анонимные блоки с именами *I..., в коде я нашла строки типа: (wcmatch bname "`*U*,`*E*") и (wcmatch (setq bname (cdr (assoc 2 (entget uname)))) "`*U*,`*X*,`*E*"). А у меня , блоки *I17, *I14 и т.д. Не буду подробно описывать свои эксперименты, я не настолько знаю Lisp, но у меня получилось, что команда UX как-то отработала, но при этом ругалась на слой: Команда: UX Выбери блок bname= *I17 my ![]() Команда: Т.е. дело в закрытом слое *IDW_BlockReferenceLayer. Если уважаемый всеми VVA заинтересуется и захочет внести дополнения в свой набор функций, может быть это кому-нибудь пригодится и поможет в работе. У меня профессионально-спортивный интерес на будущее, если будут еще чертежи с такими скрытыми ("анонимными") слоями. Кто-нибудь сталкивался с таким типом слоев? Можно ли как-то преобразовать их в слои, скажем так, классического типа? Если у кого-нибудь возникнет спортивный, или какой-нибудь другой интерес, посмотрите, пожалуйста, файл Интересен скрытый слой_071218.dwg во вложении. буду рада, если кто-нибудь выскажет свое мнение. |
|||
![]() |
|
||||
Регистрация: 23.04.2015
Сообщений: 163
|
Цитата:
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,610
|
LcH, Хорошая задачка, интересная, с удовольствием покопался.... Тут самое интересное это слой, остальное ерунда.
![]() Собственно интересно, что под .NET из таблицы блоков не получается получить слой со '*' и соответственно его в списке не видно, но вот через handel этот объект вполне себе можно получить и изменить. Забавно, видимо в .NET обертке предусмотрена проверка и обработка "неправильных" символов, чего в чистых плюсах нет... |
|||
![]() |
|
||||
Не пробовал LayerTable.IncludingHidden установить в true?
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,610
|
Нет не пробовал, я утилитами MGDDBG и ARXDBG смотрел и меня насторожило, что MGDDBG скрытые слои не показывает... теперь понятно почему.
Метод LayerTable.IncludingHidden только для чтения (get), попробовал вот так: Код:
Еще раз спасибо автору темы за интересную задачку. Последний раз редактировалось Boxa, 08.12.2018 в 10:06. Причина: Поправил название команды... |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
HiddenLayerOff - название команды неудачное, имхо. Всетаки с Off ассоциация обычно выключенного состояния.
----- добавлено через ~1 ч. ----- я бы написал скорее ShowHiddenLayers - однозначное прочтение операции. Ну и на русском желательно продублировать команду Показать_скрытые_слои. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как найти нужный слой (в диспетчере свойств слоев) выделенного на чертеже примитива? | Gedezuk5 | AutoCAD | 11 | 07.08.2018 12:19 |
В диспетчере слоев не отображаются некоторые существующие слои | Гиляна | AutoCAD | 2 | 03.10.2014 14:50 |
перестал меняться вес линии в диспетчере свойств слоев (неизменно остается "по умолчанию") | ИриSkа | AutoCAD | 9 | 06.08.2011 16:58 |
Что можно сделать с подобными телами? | Miniril | AutoCAD | 3 | 28.09.2010 16:58 |
Не правильно отображаются слои в диспетчере слоев | Nati3672 | AutoCAD | 1 | 24.07.2009 08:11 |