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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Глобальные/общие атрибуты или свойства

Глобальные/общие атрибуты или свойства

Ответ
Поиск в этой теме
Непрочитано 02.03.2023, 11:59 #1
Глобальные/общие атрибуты или свойства
power_factor
 
Регистрация: 15.11.2022
Сообщений: 15

Добрый день!

Подскажите, пожалуйста, имеется ли в AutoCAD возможность задавать глобальные/общие атрибуты или свойства, не привязанные изначально ни к какому блоку да и вообще ни к чему?
Поясню, что я имею в виду на примере:
- Имеется здание, у здания имеется 2 этажа. Я создаю глобальные атрибуты (общие свойства) "Здание", "Этаж 1", "Этаж 2".
- Далее имеются динамические блоки "Стул", "Стол" и "Дерево" с атрибутами "Расположение" и "Отметка". В чертёж вставляется по одному экземпляру блоков.
- Блоку "Стул" в атрибут "Расположение" присваивается значение "Здание", в атрибут "Отметка" присваивается значение "Этаж 1";
- Блоку "Стол" в атрибут "Расположение" также присваивается значение "Здание", в атрибут "Отметка" - "Этаж 2";
- Атрибутам блока "Дерево" не присваивается ничего.
Далее я с помощью извлечения данных, макросов, LISPа или другого колдовства получаю любые комбинации глобальных атрибутов/свойств и атрибутов блоков. Например, смотрю какие блоки имеют атрибут "Расположение" - "Этаж 1", какие блоки этот атрибут имеют пустым и так далее.

Имеется ли вообще возможность решения подобных задач? Спасибо.
Просмотров: 2341
 
Непрочитано 02.03.2023, 13:01
#2
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,921


Dbconnect
engngr вне форума  
 
Непрочитано 02.03.2023, 13:48
#3
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


XData - возможность присоединения описательных, дополнительных неграфических данных к любым графическим примитивам. Средства работы с ними - https://forum.dwg.ru/showthread.php?t=164322.
Xrecord - то же назначение. Но пользовательские инструменты отсутствуют.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 02.03.2023, 15:06
#4
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от power_factor Посмотреть сообщение
глобальные/общие атрибуты или свойства, не привязанные изначально ни к какому блоку да и вообще ни к чему
плохая идея - сначала наплодить бесхозных свойств, а потом пытаться выстраивать из них какую то иерархию.
Сергей812 вне форума  
 
Непрочитано 02.03.2023, 16:35
#5
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,288


Цитата:
Сообщение от power_factor Посмотреть сообщение
Глобальные/общие атрибуты или свойства
По терминам...
1. Понятие "Глобального" идентификатора появляется когда есть нескольких локальных, объединённых одним проектом. Например глобальная нумерация - включающая № здания, № этажа и т.д. Т.е. когда у вас несколько зданий на чертеже. А пока ничего глобального из ваших слов не видно.

По свойствам... бывают
2. -автоматические - габаритные размеры (L,H,W), например - стула, местоположение (x,y,z)
-ручные - стиль (артикул) и т.д. обозначение, наименование м.б. в виде таблицы дин блока.
-уникальные - порядковый номер, м.б. составной (глобальный )), автоинкрементный по буквенно-цифровому основанию.
-проектные -№ этажа, дома, квартиры, можно сослаться полем на подшивку
... если вспомню что, допишу.

Последний раз редактировалось VitalyAF, 03.03.2023 в 09:55.
VitalyAF вне форума  
 
Автор темы   Непрочитано 02.03.2023, 17:18
#6
power_factor


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


Цитата:
Сообщение от engngr Посмотреть сообщение
Dbconnect
Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
XData - возможность присоединения описательных, дополнительных неграфических данных к любым графическим примитивам. Средства работы с ними - https://forum.dwg.ru/showthread.php?t=164322.
Xrecord - то же назначение. Но пользовательские инструменты отсутствуют.
Благодарю за подсказки.

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

Цитата:
Сообщение от VitalyAF Посмотреть сообщение
По терминам...
1. Понятие "Глобального" идентификатора появляется когда есть нескольких локальных, объединённых одним проектом. Например глобальная нумерация - включающая № здания, № этажа и т.д. Т.е. когда у вас несколько зданий на чертеже. А пока ничего глобального из ваших слов не видно.
Да, естественно, имеются в виду "глобальные" в рамках одного чертежа.
В том и вопрос, что в гипотетический чертёж пуст, но обладает некими идентификаторами/атрибутами/свойствами "Здание", "1 этаж" и "2 этаж". Я вставляю в чертёж блок "Стул" и присваиваю его атрибуту "Расположение" значение "Здание", атрибуту "Отметка" значение "1 Этаж", в то время как чертежа самого здания нет и не будет. "Здание" здесь скорее представляет собой иерархию, в которой "Стул" занимает место согласно присвоенным ему атрибутам.

Интересно, возможно ли задавать в чертеже некие абстракции, которые ничем на чертеже не представлены (то есть не привязаны ни к каким примитивам, блокам, ссылкам), но которые могут представлять из себя какие-то осмысленные сущности и могут быть использованы для построения всевозможных структур.
power_factor вне форума  
 
Непрочитано 02.03.2023, 23:26
#7
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от power_factor Посмотреть сообщение
Да, естественно, имеются в виду "глобальные" в рамках одного чертежа.
В том и вопрос, что в гипотетический чертёж пуст, но обладает некими идентификаторами/атрибутами/свойствами "Здание", "1 этаж" и "2 этаж". Я вставляю в чертёж блок "Стул" и присваиваю его атрибуту "Расположение" значение "Здание", атрибуту "Отметка" значение "1 Этаж", в то время как чертежа самого здания нет и не будет. "Здание" здесь скорее представляет собой иерархию, в которой "Стул" занимает место согласно присвоенным ему атрибутам.

Интересно, возможно ли задавать в чертеже некие абстракции, которые ничем на чертеже не представлены (то есть не привязаны ни к каким примитивам, блокам, ссылкам), но которые могут представлять из себя какие-то осмысленные сущности и могут быть использованы для построения всевозможных структур.
задать то можно (например в XRecord чертежа или внешнем хранилище), только как их визуализировать?) По сути Александр (пост №3) уже который год носится с той же идеей - привязки дополнительных данных к примитивам через XData абстрактно от практического применения. Вы решили пойти еще дальше в уровне абстракции - отказаться от привязки к примитивам)
Сергей812 вне форума  
 
Непрочитано 02.03.2023, 23:42
#8
LenidSN


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


File-Drawing Properties-Custom- Add
LenidSN вне форума  
 
Непрочитано 03.03.2023, 08:32
#9
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,288


Цитата:
Сообщение от power_factor Посмотреть сообщение
Интересно, возможно ли задавать в чертеже некие абстракции
Ни о какой абстракции и речи быть не может!
Autodesk и глазом не моргнёт, пальцем не пошевелит, если нет реальной пользы. И на копейку НИЧЕГО не сделают просто так!!!
PS
Попутно про пустое значение в полях.
Обычно поля (Fields) с пустыми значениями заполняются Х символами, что на мой взгляд странно.
Я это обходил с помощью непечатаемого ttf символа как значение поля по умолчанию.
Например состоящий из нескольких полей (глобальный) номер, в к-ром префикс/суффикс могут отсутствовать, ну или что-то в этом роде.

Последний раз редактировалось VitalyAF, 03.03.2023 в 08:57.
VitalyAF вне форума  
 
Автор темы   Непрочитано 03.03.2023, 08:47
#10
power_factor


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Вы решили пойти еще дальше в уровне абстракции - отказаться от привязки к примитивам)
Необходимость эта возникла, когда я работал с KKS кодировками. KKS кодировка - это такое обозначение, в котором каждый символ обозначает какое-то свойство или функцию, месторасположение/локацию, принадлежность к чему-либо. Вот я и хочу узнать можно ли средствами AutoCAD создавать древовидные структуры объектов, расположенных на чертеже. Что-то вроде этого http://www.adastra.ru/products/overview/kks

Или, например, ещё делить элементы чертежа на принадлежность к разным разделам. Допустим, я разрабатываю в одном чертеже тепломеханику и водоснабжение и могу любым элементам задавать их принадлежность к какому-то разделу. Например, два абсолютно одинаковых блока "Задвижка" могут различаться лишь тем, что одни из них относится к разделу "Тепломеханика", а второй к "Водоснабжение".

Цитата:
Сообщение от LenidSN Посмотреть сообщение
File-Drawing Properties-Custom- Add
Тоже думал над кастомными свойствами. Сейчас я их использую только как поля для заполнения основных надписей и пока не придумал как их приспособить под свои хотелки. Ведь возможны такие ситуации, когда одни свойства "вкладываются" в другие, образуя дерево. Также при большом количестве элементов нужен какой-то способ их сортировки и наглядного отображения.

Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Ни о какой абстракции и речи быть не может!
Autodesk и глазом не моргнёт, пальцем не пошевелит, если нет реальной пользы. И на копейку НИЧЕГО не сделают просто так!!!
Имеется в виду возможность их создания самостоятельно встроенными средствами (кастомными свойствами, XDATA, XRECORD, DBCONNECT, AutoLISP, VBA, .NET API).

Последний раз редактировалось Кулик Алексей aka kpblc, 03.03.2023 в 08:55.
power_factor вне форума  
 
Непрочитано 03.03.2023, 09:07
#11
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,288


Цитата:
Сообщение от power_factor Посмотреть сообщение
Необходимость эта возникла, когда я работал с KKS кодировками. KKS кодировка
Для поддержки автоматизации такого средствами Autocad потребуется программирование, м.б. базы данных и проч... я т.д. И выйдет за рамки возможностей продукта, м.б. легче будет сменить его на другой, более подходящий...
VitalyAF вне форума  
 
Непрочитано 03.03.2023, 10:27
#12
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,921


Цитата:
Сообщение от power_factor Посмотреть сообщение
Допустим, я разрабатываю в одном чертеже тепломеханику и водоснабжение и могу любым элементам задавать их принадлежность к какому-то разделу. Например, два абсолютно одинаковых блока "Задвижка" могут различаться лишь тем, что одни из них относится к разделу "Тепломеханика", а второй к "Водоснабжение".
Слои.
engngr вне форума  
 
Автор темы   Непрочитано 03.03.2023, 11:41
#13
power_factor


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


Цитата:
Сообщение от engngr Посмотреть сообщение
Слои.
Да, слои тоже можно использовать в разделении до какой-то степени. Но в данном случае, например, сами задвижки (то есть линии их изображающие) у нас находятся на слое "Запорная арматура", атрибуты находятся на слое "Текст", сам блок находится на слое "Задвижки" и разделить их по идентификаторам "Теплоснабжение"/"Водоснабжение" с помощью слоёв уже не удастся.
power_factor вне форума  
 
Непрочитано 03.03.2023, 12:03
#14
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,288


Цитата:
Сообщение от power_factor Посмотреть сообщение
с помощью слоёв уже не удастся.
... тогда по ручным свойствам, например - "система", можно блок держать один, а систему выбирать при вставке из списка.
Но ещё и цветом бы выделить бы...
VitalyAF вне форума  
 
Непрочитано 03.03.2023, 13:04
#15
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от power_factor Посмотреть сообщение
Имеется в виду возможность их создания самостоятельно встроенными средствами (кастомными свойствами, XDATA, XRECORD, DBCONNECT, AutoLISP, VBA, .NET API).
На Lisp и VBA не сделать нормального пользовательского интерфейса без камасутры. А на .Net + WPF можете вообще любой интерфейс написать фактически - почти каждый контрол может являться контейнером для других контролов) Вопрос в том, чем вы из средств разработки владеете на данный момент...
Сергей812 вне форума  
 
Автор темы   Непрочитано 03.03.2023, 13:23
#16
power_factor


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Вопрос в том, чем вы из средств разработки владеете на данный момент...
Если на хорошем уровне, но по сути ничем. Более всего знаком с AutoLISP, буду пробовать идеи на нём. Но встроенный DCL редактор - это то ещё удовольствие. Нашёл ему довольно приятную альтернативу наподобие WinForms https://sourceforge.net/projects/opendcl/. Релиз довольно свежий, работает без сбоев. Примеры протестировал, выглядит неплохо.
power_factor вне форума  
 
Непрочитано 03.03.2023, 20:54
#17
Кулик Алексей aka kpblc
Moderator

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


Ага, только нарисовано оно, насколько я помню, на С++, так что потребует перекомпиляции под каждую сборку ACAD. Offtop: И при попытке перейти на альтернативу можно крупно обломаться.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.03.2023, 22:03
#18
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,921


Цитата:
Сообщение от power_factor Посмотреть сообщение
Да, слои тоже можно использовать в разделении до какой-то степени. Но в данном случае, например, сами задвижки (то есть линии их изображающие) у нас находятся на слое "Запорная арматура", атрибуты находятся на слое "Текст", сам блок находится на слое "Задвижки" и разделить их по идентификаторам "Теплоснабжение"/"Водоснабжение" с помощью слоёв уже не удастся.
А зачем такие сложности?
engngr вне форума  
 
Непрочитано 03.03.2023, 23:16
#19
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


судя по описанию - попытка скрестить навигатора на проекту и генератора отчетов.
Сергей812 вне форума  
 
Автор темы   Непрочитано 04.03.2023, 05:52
#20
power_factor


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
потребует перекомпиляции под каждую сборку ACAD. Offtop: И при попытке перейти на альтернативу можно крупно обломаться.
Про портирование я и не думал, хотя вряд ли оно мне понадобится. Платформу менять не собираюсь, все мною используемые LISP и DCL файлы, созданные в ACAD 2015, без проблем загрузились и работают в ACAD 2022.

Цитата:
Сообщение от engngr Посмотреть сообщение
А зачем такие сложности?
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
судя по описанию - попытка скрестить навигатора на проекту и генератора отчетов.
В том числе. Но хотелось бы ещё отображать созданные структуры деревом в отдельном окне. То есть дерево этих самых глобальных идентификаторов с относящимися к ним блоками.

----- добавлено через ~6 мин. -----
Цитата:
Сообщение от VitalyAF Посмотреть сообщение
... тогда по ручным свойствам, например - "система", можно блок держать один, а систему выбирать при вставке из списка.
Но ещё и цветом бы выделить бы...
Что имеется в виду под "ручными свойствами"?
power_factor вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Глобальные/общие атрибуты или свойства



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обновить атрибуты блока не смещая их в начальную точку? Tregart AutoCAD 15 04.07.2018 07:52
Атрибуты не в блоках, атрибуты как самостоятельный примитив АлексЮстасу AutoCAD 11 13.05.2015 10:39
как удалить свойства, созданные Autocad Map? АлексЮстасу Программирование 8 08.02.2011 02:41
Обновить атрибуты д.блока при изменении его параметров GordonF AutoCAD 8 13.12.2010 14:56
Как добавить атрибуты в динамический блок? Archeo Динамические блоки 20 17.11.2006 11:30