|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,855
|
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Судя по разным форумам и личному внефорумному опыту, хранение описательных данных в Xdata достаточно распространено.
Можно относиться к этому, как к порочному - как почти все сейчас высказавшиеся. Но не откликнулся пока никто собственно в тему. Поделитесь подходами к передаче описательных данных в Xdata. Я изложил три возможных варианта. Какими кто пользуется? Или есть свои варианты?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Вар4. В отдельном AppName XData хранится Primary Key БД. Т.е. унифицированный механизм, преобразующий хэндл примитива и имя файла в логический ключ. А дальше делайте что хотите - привязывайте данные, формируйте логические взаимосвязи - главное, что dwg файл (как некий черный ящик) в этом участвует по минимуму)
|
|||
|
||||
Цитата:
Здесь вопрос не что, а как.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Цитата:
Вы ожидаете готовое решение или код? |
|||
|
||||
Цитата:
Я ожидаю рассказов, примеров, кто как хранит данные в XData. Такая здесь тема.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Цитата:
|
|||
|
||||
Цитата:
Вот и хотелось узнать, что, а, главное, как люди в XData записывают.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Цитата:
Но эта тема не о надежности и т.п. Xdata, а о том, как их используют.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,855
|
Цитата:
Никак. Есть более устойчивые и менее доступные пользователю методы и средства.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регулярно вижу на совсем разных форумах поминание Xdata. Да хоть на ADN.
В Electrical по жизни используются Xdata. Цитата:
Как раз жду ответы от пользующихся. Или от тех, у кого есть примеры применения.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,855
|
Offtop:
Цитата:
Тогда больше не мешаюсь
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 24.12.2019
Сообщений: 3
|
Использую Xdata при проектировании линейных объектов (газопроводов), в том числе:
- для хранения в блоках пикетов трассы метки вхождения блока, содержащего информацию о типе тубы; - для хранения в блоке конкретного пикета метки "его" мультивыноски (своего рода параметризация при автоматической аннотации пикетов); - для быстрого доступа к локальным или удаленным ресурсам (к файлам txt/pdf/doc и т.п.) через встроенный в AutoCAD механизм гиперссылок. Подвел курсор мыши к полилинии ветки газопровода, нажал Ctl+ЛКМ и открылась таблица с полным описанием ее пикетов... - для хранения параметров (например длины) продольного профиля при оформлении листов. Низкоуровневые функции для работы с Xdata в свое время вполне прилично были обернуты уважаемыми создателями ruCAD-а. А упомянутый Electrical имеет свой набор команд включая диалоговый (!) редактор Xdata, функций и API для lisp-творчества. По моему, для "кухни" рисунка линейного объекта, которая д.б. скрыта от "теток" - самое место в Xdata. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Примеры? Да пожалуйста:
Код:
Цитата:
Ну и еще несколько подобных библиотечных функций (добавлять, читать). Хоть для слоя, хоть для любого примитива, хоть для каждой вершины полилинии. "Хоть тушкой, хоть чучелом". ru-xdata-add-for-ent.LSP ru-xdata-add-list-bracket.LSP ru-xdata-write-for-ent.LSP ru-xdata-get-for-pline-vertex.LSP ru-xdata-get-reg-apps.LSP ru-xdata-get-ruclass-by-layer-name.LSP ru-xdata-get-ruclass-for-active-layer.LSP ru-xdata-get-ruclass-for-all-layers.LSP ru-xdata-get-ruclass-for-layer-obj.LSP ru-xdata-read-for-ent.LSP ru-xdata-rem-for-selection.LSP ru-3d-xdata-rucad-regapp.LSP ru-xdata-rucad-regapp.LSP Для каких целей применять - другое дело. Я, например, применяю для проверки соответствия имен слоев топографии специальному классификатору. Или для привязки "ёжика" временных осей координат при создании 3D-объектов. Но это всё внутри Автокада. И "упоминание XDATA" у меня также имеется. Да, это программным путем (в данном случае - Лисп), а не щелканьем по кнопкам. А в целом тема напоминает приставание ребенка - "Дяденьки, расскажите как лижут железные ручки на морозе". Дяденьки говорят - "Не надо вообще лизать железо на морозе", а оно опять - "А вот пацаны в Electrical лижут! Я тоже хочу быть крутым пацаном". |
|||
|
||||
Как Вы записываете данные? Вариантом 1, 2, 3 или как-то еще?
Я спрашивал примеры не чем, а как. Например, см. в #4. Варианты 2 и 3 дают информацию, что в каком поле Xdata записано. Я не программист, и по Вашему коду не могу разобраться, какой вариант используете Вы. 1. Я сам вообще никогда, ни разу не использовал Xdata. 2. Не планирую в обозримом будущем использовать Xdata. Т.к. использую Object Data из Map 3D и Xrecord для AutoCAD. 3. Не пропагандирую применять Xdata. Зачем настойчиво отговаривать, если обратное ниоткуда не следует? Перечитайте вопрос. Особенно, если сами вовсю Xdata используете. Бывает же ознакомительно-исследовательский интерес. В этой теме прошу поделиться сведениями, опытом. В первую очередь как определяют, что в каком поле, фрагменте Xdata записано.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
потому что узнать с помощью "кнопок" нельзя. Это та область, где необходимо действовать именно программно, причем можно использовать любые средства, доступные в AutoCAD. Вот за любые - искренне "спасибо" Autodesk. Хотя и там есть стиль как когда-то у патриарха Форда - "автомобиль может быть любого цвета при условии, что этот цвет черный". Это как, например, в любой программе, работающей с базой данных - обычный пользователь видит названия каких-то граф или строк ввода данных (DisplayLabel), но не видит имена полей и их свойства. С этим можно разобраться только применяя спецсредства или анализируя код программы. Даже в исследовательских целях. Для примера - картинка. На ней показана единица торгового оборудования, примененного в проекте. Оборудование внутри Автокада в виде 3D-моделей. Щелкнув специальную кнопку, пользователь видит все данные именно по этой позиции. Разумеется их нельзя запихнуть внутрь Автокада ни в какие "хрен-данные". А вот ссылку на БД и код записи - можно. Сами данные хранятся во внешней БД, о местонахождении которой пользователь и не знает. Возможно и обратное действие - открыв БД специальной кнопкой в Автокаде выбрать нужное изделие и внутри БД щелкнуть кнопку Выбрать. И именно это изделие будет "нарисовано" в Автокаде уже его средствами, и к его рисунку будет привязана ссылка. Причем БД сама "знает", как именно должна рисоваться эта позиция и "говорит" Автокаду. Причем самым простым образом - хранится метод рисования, а это всего лишь строчка ЛИСП-выражения. Причем метод может быть любым - хоть вставка блока, хоть специальная функция создания объектов. А еще и без Автокада может быть и сформирована СО из примененных изделий, в виде полностью готового Отчета в формате PDF. Разумется подобное можно делать и в ГИС, только привязывать, например к полилиниям, изображающим контур зданий информацию о зданиях. Наподобие того, как в Дубль-ГИС сделано. Ну и попутно о высказывающейся идее "слой на позицию". Вот только в БД торгового оборудования 732 позиции, а еще есть несколько десятков других, в некоторых из них более 5000 позиций. Какие тут могут быть слои? |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Это же блог ТС ?
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Посчитать коэффициенты унификации конструктивных элементов, точности обработки, шероховатости поверхностей | Igorek21 | Машиностроение | 2 | 09.11.2016 12:32 |
Как найти уточненные значения жесткостей элементов по СП 52-103-2007? | Midimi | Железобетонные конструкции | 9 | 30.04.2016 13:43 |
Описание xdata | АлексЮстасу | Программирование | 68 | 09.10.2014 11:46 |
описывать свойства элементов по слою (bylayer) или прямо | АлексЮстасу | AutoCAD | 110 | 13.03.2010 03:51 |
Lisp: Список элементов в слоях | ALFMario | LISP | 4 | 29.04.2008 17:26 |