|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
25.06.2017, 23:20 | #1 | |
X-записи. Где и как хранить? Как добавлять, как читать, как изменять? и все таки, для чего они?
Регистрация: 23.09.2015
Сообщений: 146
|
||
Просмотров: 6009
|
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Как отказать в просьбе ткнуть носом
Полещук Н.Н., Лоскутов П.В. "AutoLISP и Visual LISP в среде AutoCAD", стр. 144 п. 1.15.1 - словари, стр. 152 п. 1.15.9 - Х-записи. Что именно непонятно?
__________________
На работе было скучно:shout: |
|||
|
||||
Плюс к #2 темы на этом форуме
Хэ-records -PL_DictVar(0.95) Набор функций для хранения данных в словарях, версия: 0.95 Пример использования Автоматический подбор высоты текста, начиная с поста #27
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
На самом деле, на первых порах действительно сложно понять что к чему, т.к. информация, по большей части, разрознена и не систематизирована.
Что нужно для понимания, в двух словах:
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
Регистрация: 23.09.2015
Сообщений: 146
|
Спасибо за разъяснение.
Цитата:
Вот и не понятно зачем вообще эти словари. Например, как я понимаю, один словарь можно привязать к нескольким примитивам (графическим). Или наоборот, привязать примитивы к словарю? И? Информацию по этим примитивам получать из словаря или из самих примитивов по имени словаря? Мне не совсем понятно практическое применение. И отличие от расширенных данных, кроме размеры в примитивах.
__________________
Проекты СС |
|||
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
XDATA - это именно Extended Data, расширенные данные
Одно из существенных отличий между словарями и х-записями, на мой взгляд - это используемые ими dxf коды. Х-запись, в отличии от словаря, позволяет - цитирую справку: 1-369 (except 5 and 105) These values can be used by an application in any way. Xrecord objects are used to store and manage arbitrary data. They are composed of DXF group codes with “normal object” groups (that is, non-xdata group codes), ranging from 1 through 369 for supported ranges. This object is similar in concept to xdata but is not limited by size or order. То есть, х-запись, в отличии от словаря, позволяет записать в себя гораздо более разнообразные данные. Можно привязать словарь к примитивам, сославшись на него в расширенных данные, присоединенных к примитивам. Можно привязать примитивы к словарю, записав в него их имена. Не совсем понятно что из чего нужно извлекать, а можно все
__________________
На работе было скучно:shout: |
|||
|
||||
Регистрация: 23.09.2015
Сообщений: 146
|
Цитата:
есть же еще X-записи.
__________________
Проекты СС |
|||
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Есть корневой словарь чертежа, в котором можно создавать и словари, и х-записи. В словарь ты можешь записать некоторую строку (dxf-3) и entity name (dxf-350), причем имя примитива может именем любого примитива, в том числе и другого словаря или х-записи. В х-запись можно записать гораздо больше в смысле разнообразия. Считай словарь собственно словарем, а х-записи - словарными статьями. В графическом примитиве создать словарь или х-запись нельзя, на них можно только сослаться, причем в расширенных данных, присоединенных к этому примитиву.
Созданные тобой вложенные словари и х-записи образуют древовидную структуру. Какой она будет, зависит от целей, здесь можно привести аналогию с файловым деревом. Но в любом случае, они будут содержаться в корневом словаре чертежа.
__________________
На работе было скучно:shout: |
|||
|
||||
Цитата:
Цитата:
Цитата:
При использовании словаря не нужно выполнять регистрацию приложения в чертеже. Некоторые встроенные в AutoCAD инструменты могут работать с расширенными данными (XDATA): изменять их при изменении объекта-владельца, выполнять фильтрацию объектов по значению в расширенных данных. Со словарями такие инструменты не работают. Одно из самых важных различий: расширенные данные добавляются напрямую в объект. Их можно добавить объекту, которого нет в базе данных чертежа. Словарь нельзя добавить, пока объект не вставлен в базу данных чертежа. Для LISP это не актуально, а вот в .NET нужно это учитывать. ----- добавлено через ~1 мин. ----- Ох и каша у Вас в голове! Все в одну кучу смешали.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
К примитивам, которые выбираются ssget, могут быть присоединены расширенные данные, которые содержат имя словаря, в котором содержится х-запись, в которой содержится нужная информация.
Посмотри DXF Reference > DXF Format > Group Code Value Types и DXF Reference > DXF Format > Group Codes in Numerical Order (для х-записи до 369 кода) для представления о том, что можно записать.
__________________
На работе было скучно:shout: |
|||
|
||||
Вот потому-то и каша в голове. Зачем такие сложные схемы давать тому, кто только пытается разобраться в вопросе?
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Цитата:
__________________
На работе было скучно:shout: |
|||
|
||||
Позвольте не согласиться. Расширенные данные, в которые записывается имя словаря, который (как я понимаю) находится в NOD - это далеко не простейшая схема использования РД и словарей. Но весьма интересная. С одной стороны, мы имеем все плюсы от использования РД - например, возможность выбора объектов через SSGET. С другой стороны - не ограничены размерами РД для записи данных.
Тут, правда, возможны сложности при создании копии объекта. И исходный и скопированный объект будут ссылаться на один и тот же словарь, и уже независимо друг от друга им не задать значения в словаре. Тогда, можно попробовать другой вариант - использовать словарь объекта, в котором сохранять нужные данные, а имя этой записи хранить в РД. Надо будет как-нибудь потестить на досуге.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
Регистрация: 23.09.2015
Сообщений: 146
|
вот для этого также используется метка объекта в расширенных данных объекта.
__________________
Проекты СС |
|||
|
||||
Цитата:
Кстати, тут еще возможен вариант, что объект будет скопирован в другой чертеж. А в нем уже не будет словаря с таким названием, а вот РД у объекта будут. И данные будут ссылаться на несуществующую запись.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Вот пример.
Код:
Цитата:
Note: When a drawing with handles and extended data handles is imported into another drawing using INSERT, INSERT *, XREF Bind, XBIND, or partial OPEN, the extended data handles are translated in the same manner as their corresponding entity handles, thus maintaining their binding. This is also done in the EXPLODE block operation or for any other AutoCAD operation. When AUDIT detects an extended data handle that doesn't match the handle of an entity in the drawing file, it is considered an error. If AUDIT is fixing entities, it sets the handle to 0
__________________
На работе было скучно:shout: |
|||
|
||||
А зачем оборачивать лямбду в eval и function?
Код:
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Для чего нужен диспечер конфигурации слоёв | Theodora | AutoCAD | 7 | 16.03.2020 13:20 |
С чего начать изучение AutoCad и с чего начинать карьеру в строительстве? | kenmamon | Разное | 115 | 11.02.2013 16:30 |
Из чего лучше построить одинокостоящую стену 6х4м? | McCobra | Прочее. Архитектура и строительство | 1 | 27.07.2012 19:45 |
Автомобильные диски с «полкой» — для чего? | tematema | Машиностроение | 3 | 22.11.2011 11:30 |
Из чего делают пол и крышу в проекте обычного контейнера? | dextron3 | Конструкции зданий и сооружений | 3 | 02.09.2011 11:00 |