Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: RevitTormentor от 06-11-2017, 23:10:02

Название: XData в Размерах
Отправлено: RevitTormentor от 06-11-2017, 23:10:02
По умолчанию в размерах линейных xdata уже есть своя. Там всякие привязки и положения. Получается свои данные туда не положить?
Название: Re: XData в Размерах
Отправлено: Александр Пекшев aka Modis от 06-11-2017, 23:11:21
Получается свои данные туда не положить?
Положить
Название: Re: XData в Размерах
Отправлено: avc от 06-11-2017, 23:22:06
Без проблем положить. Регистрируйте свое приложение (заголовок раздела xData) и потом спокойно читаете и записываете только свои данные, другие сохраняются
Название: Re: XData в Размерах
Отправлено: АлексЮстасу от 31-07-2021, 03:39:30
По умолчанию в размерах линейных xdata уже есть своя.
Гм... Вставлял размеры всех типов - по умолчанию они все как раз без XData. Двигаю-кручу-меняю положение чего-нибудь и пр. - нет XData.
XData "ACAD" у размеров появляются после изменения Высоты текста, Величина стрелки или т.п. в окне Свойства.
Причем, при разных изменениях получается разный состав полей - их число увеличивается.
Причем, при возвращении всех свойств к исходным, по умолчанию, XData не исчезают.

Похожая история с мультитекстами. По умолчанию они без XData. Но попадаются и с ними, тоже "ACAD". Причем, причин их появления я пока не нашел - менял все возможное, копировал свойства мтекстов с XData "ACAD" - не появляются.
Единственное пока получилось - появление XData от назначения в Свойства Аннотативный. Но добавляются не "ACAD", а "AcadAnnotative".
Опять-таки, эти "AcadAnnotative", при возвращении Аннотативный в исходное состояние, не исчезают.

По-моему, интересный феномен.
Название: Re: XData в Размерах
Отправлено: Александр Ривилис от 31-07-2021, 15:18:17
Причем, при возвращении всех свойств к исходным, по умолчанию, XData не исчезают.
Опять-таки, эти "AcadAnnotative", при возвращении Аннотативный в исходное состояние, не исчезают.
Такова логика работы. Пока значение "по-умолчанию" (например, высота текста), XDATA не нужен. После появления XDATA, даже если снова установлено значение "по-умолчанию", XDATA остаётся, просто в него прописывается это значение.
Название: Re: XData в Размерах
Отправлено: АлексЮстасу от 31-07-2021, 19:05:16
Такова логика работы. Пока значение "по-умолчанию" (например, высота текста), XDATA не нужен. После появления XDATA, даже если снова установлено значение "по-умолчанию", XDATA остаётся, просто в него прописывается это значение.
Интересен сам факт появления XData. Как будто в самих примитивах не хватает параметров. Ведь не создаются XData для окружностей, 3д тел, таблиц и пр. При любых изменениях их параметров.
То, что XData создаются далеко не для всех типов примитивов, а для "избранных". Для штриховок, видовых экранов, для размеров, для мтекстов и текстов (у последних тоже для Аннотативности). Причем, для штриховок и видовых экранов сразу, всегда. Для размеров и мтекстов/текстов - по ситуации.
А, например, при включении-отмене Аннотативности у блоков, у них подобные XData не появляются.
Предположил, что добавление XData связано с примитивами со множеством параметров.
Но, например, даже для сложных динамических блоков со всеми произведенными с ними изменениями - не появляются.
Название: Re: XData в Размерах
Отправлено: Александр Ривилис от 31-07-2021, 19:34:43
Предположил, что добавление XData связано с примитивами со множеством параметров.
По мере появления новых типов объектов и добавления к некоторым старых новых свойств, часть свойств стала мигрировать в расширенные данные. Иногда наоборот - в старых версиях это были расширенные данные, а в новых это стали отдельные свойства и методы без использования расширенных данных.
Но, например, даже для сложных динамических блоков со всеми произведенными с ними изменениями - не появляются.
Там, если мне не изменяет память, через Extension Dictionary. Еще раз. XDATA - это неструктурированные данные, используемые программистами по своему усмотрению и даже для тех, которые созданы программистами Autodesk, это часто недокументировано.
Название: Re: XData в Размерах
Отправлено: АлексЮстасу от 01-08-2021, 04:14:10
Иногда наоборот - в старых версиях это были расширенные данные, а в новых это стали отдельные свойства и методы без использования расширенных данных.
Да, как раз предполагал подобное, хотел об этом спросить по причине отсутствия у меня 20-х версий.
Еще раз. XDATA - это неструктурированные данные, используемые программистами по своему усмотрению и даже для тех, которые созданы программистами Autodesk, это часто недокументировано.
Следовательно:
1. XData - средство для разработчиков, не предназначенное для пользователей.
2. XData не пригодны для пользовательских описательных данных.
3. Нельзя создать общие инструменты для пользовательской работы с XData.
Так?
Название: Re: XData в Размерах
Отправлено: Александр Ривилис от 01-08-2021, 14:01:19
Следовательно:
1. XData - средство для разработчиков, не предназначенное для пользователей.
2. XData не пригодны для пользовательских описательных данных.
3. Нельзя создать общие инструменты для пользовательской работы с XData.
Так?
Да. Причем я (и не только я) достаточно давно пытаемся тебе это объяснить.
Название: Re: XData в Размерах
Отправлено: АлексЮстасу от 01-08-2021, 15:25:44
Да. Причем это я (и не только я) достаточно давно пытаемся тебе это объяснить.
Чтобы конкретные темы не забивать, изложил свое видение в блоге в https://dwg.ru/blog/354 и https://dwg.ru/blog/355. Там достаточно кратко.
Думаю, что не это Вы и другие пытаетесь мне объяснить. (Как и не про размеры-округление, не про ограничения-документацию и пр.). Потому что стремление оппонировать преобладает над фактической стороной.

Кстати, есть ли документация с описанием идеи, сути XData? Я не нашел. Про Xrecod нашел хотя бы две фразы. Про XData, наверное, в какой-нибудь 90-го года только?
Название: Re: XData в Размерах
Отправлено: Александр Ривилис от 01-08-2021, 16:23:46
Чтобы конкретные темы не забивать, изложил свое видение в блоге в https://dwg.ru/blog/354 и https://dwg.ru/blog/355. Там достаточно кратко.
Комментировать не буду.
Кстати, есть ли документация с описанием идеи, сути XData?
XData - это инструмент для программистов. Поэтому он описан только в документации по API(s).  Например, в Autodesk ObjectARX for AutoCAD 20XX: Developer's Guide > ObjectARX Introductory Concepts > Database Objects > Adding Object-Specific Data > Extended Data
Или в руководстве по DXF: http://docs.autodesk.com/ACD/2011/ENU/filesDXF/WS1a9193826455f5ff18cb41610ec0a2e719-7943.htm
Название: Re: XData в Размерах
Отправлено: АлексЮстасу от 01-08-2021, 20:28:07
Комментировать не буду.
Ясный комментарий - Вам все равно, что там написано иного.
XData - это инструмент для программистов. Поэтому он описан только в документации по API(s). Например, в Autodesk ObjectARX for AutoCAD 20XX: Developer's Guide > ObjectARX Introductory Concepts > Database Objects > Adding Object-Specific Data > Extended Data
Или в руководстве по DXF: http://docs.autodesk.com/ACD/2011/ENU/filesDXF/WS1a9193826455f5ff18cb41610ec0a2e719-7943.htm
Спасибо!
Из ARX (я взял постарше - 2012):
Цитировать
Extended data (xdata) is created by applications written with ObjectARX® or AutoLISP® and can be added to any object. ... This mechanism is space-efficient and can be useful for adding lightweight data to an object. ...
Т.е. (вольно) для создания XData нужно написать программы, которые смогут их добавлять к объектам. И это может быть полезно для добавления к объектам небольших данных.

Еще из хелпа, https://help.autodesk.com/view/ACD/2022/ENU/?guid=GUID-24668FAF-AE03-41AE-AFA4-276C3692827F:
Цитировать
Xrecord objects are used to store and manage arbitrary data. This object is similar in concept to xdata but is not limited by size or order.
Т.е. (опять вольно) Xrecord предназначены для любых данных. Они являются в идее тем же, что XData, не имея их недостатков.

Ничто здесь и в другой виденной мной документации не противоречит, не исключает, не опровергает того, что предлагаю я.
Ни с чем здесь и в другой документации я не спорю, не отрицаю, а, наоборот, из этого исхожу.