Чертить сразу с нужными графическими свойствами, сразу определять элемент как объект реальности, сразу присоединять описательные данные - Страница 3
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Чертить сразу с нужными графическими свойствами, сразу определять элемент как объект реальности, сразу присоединять описательные данные

Чертить сразу с нужными графическими свойствами, сразу определять элемент как объект реальности, сразу присоединять описательные данные

Закрытая тема
Поиск в этой теме
Непрочитано 14.09.2014, 18:50
Чертить сразу с нужными графическими свойствами, сразу определять элемент как объект реальности, сразу присоединять описательные данные
АлексЮстасу
 
топограф, технолог
 
Москва
Регистрация: 24.05.2009
Сообщений: 3,072

В любом чертеже всегда есть в той или иной степени строгий внутренний стандарт черчения. Иногда он совпадает с общепризнанными стандартами (ГОСТ, Условные знаки) или со стандартами заказчиков или т.п. Даже черчение "абы как", "там разберемся" можно считать эдаким стандартом
И в любом чертеже мы отображаем не сами линии, блоки, штриховки и пр., а с их помощью моделируем нечто из своих предметных областей, что различается сущностями и определяется наборами своих характеристик, не всегда отображаемых графически.
Соответственно идея - сделать для базового Автокада возможность чертить сразу с нужными графическими свойствами, сразу определять элементы как объекты реальности, сразу присоединять нужные описательные данные.
Для этого нужно создать такие возможности:
1. черчения элементов с нужными графическими свойствами с определениями как объекты, с заданными описательными данными,
2. автоматического и ручного определения начерченных элементов по их графическим свойствам как объекты реальности,
3. автоматического и ручного определения описательных данных при графических элементах; с учетом допустимых значений.
4. контроля правильности начерченных элементов, полноты определенности элементов как объекты, полноты и правильности описательных данных,
5. определения одного элемента несколькими разными объектами,
6. выбора элементов, определенных как указанные объекты; выбора элементов, у которых есть указанные описательные данные.

Это не совсем фантазия или совсем не фантазия. Минимум, в AutoCAD Map 3d (я в нем работаю), и, думаю, в других вертикальных приложениях уже реализованы подобные возможности полностью или частично Автодеском. Есть по множеству пользовательских приложений в каждой, думаю, предметной области, частично реализующих такое под базовый Автокад да и под фирменные вертикальные приложения.
Идея в том, чтобы сделать подобное для базового Автокада в достаточно полном, надежном, удобном и универсальном для любых пользователей варианте для любого предмета черчения.

Реализовать подобное в главном можно так:
1. создается достаточно простая и прозрачная, но достаточно полная структура файла описания объектов, их классификации и их описательных данных с допустимыми значениями; для каждого объекта описываются все необходимые графические свойства и другие существенные для черчения и использования параметры,
2. создается программа-меню объектов, для активизации команд черчения нужных объектов (нужных типов элементов с нужными свойствами и с нужными описательными данными), для определения графических элементов как указанные в меню объекты, выбора указанных объектов и т.д.
3. создаются команды для автоматического определения элементов по их графическим свойствам, назначения графических свойств элементам по их определениям как объекты.
4. создается набор команд для проверок полноты и правильности определений элементов как объекты, введенных описательных данных.
Понятно, что для полного удобства нужно еще много что - например, команды для визуализации описательных данных в виде таблиц, в виде надписей и т.п. В целом реализация может заключаться в создании примерно 40-60 команд. (Сужу по собственному опыту).

Ключевой момент реализации этой задачи - для определения элементов как объекты и для ввода описательных данных необходимо иметь возможность присоединять к элементам блоки данных, в которых можно описать и идентификаторы объектов, и описательные данные с нужными типами значений и заданием ограничений значений.
Либо - присоединять к элементам некий признак-идентификатор объектов и блоки данных для описательной информации.
Вот эти возможность в базовом Автокаде мне неизвестны. Может быть эту роль могли бы играть Xrecord или XData? Или еще что-то уже имеющееся?
В этом я совсем не специалист - я не программист, а всего лишь, скорее, технолог.
Но могу об этом судить как пользователь аналогичных возможностей вертикального приложения (AutoCAD Map 3d) и как создатель своего аналогичного приложения.

Что это дает прямо:
1. значительно повышается скорость черчения,
2. значительно повышается качество создаваемых чертежей,
3. значительно облегчается анализ чертежей, манипулирование элементами для почти любых задач,
4. появляется возможность для прямого описания сущностей и характеристик объектов, что необходимо для многих задач - создания спецификаций, БД, ГИС и т.п.
Есть и отличные "побочные эффекты" за счет наличия файла описания - например, возможности в отображении элементов (если в описание ввести приоритеты отображения), возможности автоматической замены графических свойств всех элементов чертежа на иные при замене одного файла описания на другой, возможность распространять файлы описания (т.е. выдерживать стандарты) и т.п.
Для подготовки данных для БД, для ГИС это чрезвычайно технологично, т.к. не требует никаких внешних БД, зависимости от ODBC или т.п., проблем с рассогласованием связей с БД и т.п.
Кроме того, снимется необходимость писать-переписывать пользовательские приложения, решающие аналогичные задачи.
И создастся определенная независимость от вертикальных приложений, которые далеко не всем доступны, плюс не всегда удовлетворительны.
В принципе, для самого Автокада и для пользователей это бы означало переход на иной уровень и сути CAD, качественно увеличило бы мощность Автокада и уело бы всех конкурентов капитально. При совсем не капитальных затратах.

Очевидно лучшим вариантом была бы реализация этой возможности самим Autodesk в базовом Autocad.
Но и сторонними программистскими силами это, надеюсь, вполне реализуемо. Отчасти практически проверено, хотя и не в голом Автокаде.
__________________
количество моих сообщений не говорит о знании Автокада
Просмотров: 36057
 
Непрочитано 18.09.2014, 08:10
1 | #41
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Цитата:
Сообщение от Pum-purum Посмотреть сообщение
А можно поподробнее? Я, кажется, что-то важное в жизни упустил. Мне нужно, чтобы линия была "псевдотрубой" и содержала в себе информацию о диаметре трубы, толщине стенки и длине.
Например делаете кнопку с макросом (должен быть установлен express)
Код:
[Выделить все]
_line;\\;xdata;_L;трубы;st;325x4;;
Эта кнопка будет рисовать отрезок в которой записано сечение трубы в виде строки "325х4". Длину можно и из самого отрезка извлечь. Узнать какая у тебя там труба можно по команде xdlist с указанием приложения "трубы". Таким образом можно, например, сделать выноску, которая при указании на этот отрезок будет сама писать номер этой трубы. Или написать прогу, которая при выделении всей магистрали посчитает какой трубы сколько у тебя начерчено.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 18.09.2014, 08:24
#42
Pum-purum

PHP-разработчик
 
Регистрация: 12.05.2008
Ижевск
Сообщений: 1,166


Krieger, вот-вот. Сейчас я делаю дин.блоки. Когда их количество приближается к 500, комп жутко тормозит. А как можно будет посмотреть диаметр и толщину стенки? В свойствах или как?
Pum-purum вне форума  
 
Непрочитано 18.09.2014, 08:27
#43
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Цитата:
Сообщение от Pum-purum Посмотреть сообщение
Krieger, вот-вот. Сейчас я делаю дин.блоки. Когда их количество приближается к 500, комп жутко тормозит. А как можно будет посмотреть диаметр и толщину стенки? В свойствах или как?
Свойства не показывают расширенные данные. Надо писать прогу, либо, как уже писал 2 раза выше, команда xdlist из экспрессов.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 18.09.2014, 10:21
#44
Сергей812


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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
1. Блоки (массивы) для хранения дополнительных, описательных данных. Пользователь сам описывает нужные ему их разновидности, определяемые названиями и составом полей общеупотребительных типов: текстовых, целочисленных, вещественных. Одно поле предусматривается одинаковым - для хранения названия объекта. Эти блоки дополнительных данных предназначены для присоединения к графическим элементам, определяя тем самым эти элементы как объекты, давая возможность определять характеристики этих объектов.
Т.е. данные хранятся в отдельных структурах данных программы вне самого чертежа? Тогда это тоже самое - как я ранее писал

Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Во вторых - запихивать все данные в сами объекты AutoCAD, и при этом пытаться реализовать гибкость данных - это утопия, имхо. В объектах должны быть идентификаторы и некоторая неизменная часть, а все остальное - во внешних БД. Чтобы не влезать в интерфейс взаимодействия с объектами автокада при каждой новой хотелке пользователя с появлением многочисленных "костылей".
если же хотите запихивать это все в чертеж, то понадобиться делать различные варианты методов работы с xData, например. Или все делать в виде строк вида "%Название переменной%=%значение%) - но подобное при большом количестве объектов будет сильно тормозить из расходов ресурсов на преобразование информации.


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
2. Файл описания объектов (файл описания стандарта) - текстовый файл простой прозрачной структуры для Блокнота. Может содержать описание необходимых параметров файлов dwg (единицы, точность и т.п.), настроек Автокада. Например, в виде переменных Автокада и нужных их значений. Предназначен для описания источников всех ресурсов: слоев, блоков, типов линий, текстовых стилей, штриховок и пр. Предназначен для описания параметров отображения всех объектов стандарта (тип примитивов Автокада, слой, цвет, тип линий и т.п.), параметров присоединяемых к ним блоков допданных (название блока допданных, названия и типы полей, значения по умолчанию, допустимые значения). Классификацию объектов (в основном для удобства выбора объектов в больших списках) достаточно описать с помощью названий классов-подклассов и порядком следования за ними описаний объектов. В описание объектов можно добавить, допустим, еще и приоритет отображения и еще что-нибудь общеупотребительное. С помощью этих описаний можно описать любые стандарты черчения любой предметной области. В пределах этих возможностей, конечно.
Файл описания стандарта можно использовать для автоматической настройки файлов и Автокада, для облегчения процессов черчения, для корректного ввода дополнительных данных, для полных проверок на соответствие стандарту. Возникает возможность значительно ускорить процессы черчения, подготовки данных для БД, выдавать чертежи максимально соответствующие стандартам.
Одновременно возникают возможности разнообразных удобных "побочных эффектов", типа автоматического перевода чертежей в другие стандарты, автоматизации расстановки по приоритетам, облегчение формирования линейных и площадных объектов и пр.
Половина функций - реализуется через шаблоны и файлы стандартов без всякого участия программистов.
Сергей812 вне форума  
 
Автор темы   Непрочитано 18.09.2014, 18:43
#45
АлексЮстасу

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


Цитата:
Сообщение от Valery Brelovsky Посмотреть сообщение
В общем по большому счёту у меня один вопрос. В вашей конторе кто нибудь (кроме вас) работает с тем что вы предлагаете?
До этого работала большая контора на найденном мной фирменном аналоге из вертикального приложения. Сейчас используют ту разработку в трех других фирмах, куда перешли бывшие сотрудники.
Только фирменный аналог сложноват и неполный. Я его с чистой совестью могу советовать, но с существенными оговорками. Feature classes в Map 3D.
Но ведь в урезанном виде, в виде пользовательских приложений, оч. многие пользуются похожим - инструментами с настроенным черчением заданного множества объектов в каком-то стандарте. В нашей сфере подобных приложений существует с десяток. По форумам сужу, что аналогичные приложения пишут для всех предметных областей.
Последнюю разработку я пока не раздаю.
Цитата:
Сообщение от Krieger Посмотреть сообщение
Ну есть же в AutoCAD возможность добавлять к любым примитивам расширенные данные XData. В express tools даже есть две функции для записи и чтения их "xdata" и "xdlist". Осталось сделать кнопки, которые будут чертить примитивы када с автоматическим добавлением XData. Ничего сложного. Просто нет нормального функционала в каде для работы с ними обычным пользователям.
Да, вроде того. Про Хdata я тоже писал уже в #1. Но фактически об Хdata ничего еще не знаю, так что Ваши посты оч. интересны
Продуктивно оказалось описать в отдельном текстовом файле все возможные объекты черчения, нужные для них параметры, при объектах описать все присоединяемые их допданные (пусть и в виде xdata). И написать программы, которые позволяют чертить из списка объектов сразу с нужными параметрами и нужными допданными. Плюс средства ввода и контроля допданных, и контроля в целом. И пр. полезный общенеобходимый сервис.
40-60 команд. Из которых большинство можно писать по три штуки в день, включая тестирование и исправления.

Кстати, индийцы, возможно, уже давно в теме: http://www.4d-technologies.com/geoto..._map_tools.htm
В частности, конвертируют Object Data из Map 3D в XData для базового Автокада.
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
т.е. данные хранятся в отдельных структурах данных программы вне самого чертежа? Тогда это тоже самое - как я ранее писал
Данные хранятся в чертеже. Я за то, чтобы описывать все структуры допданных во внешнем файле описания стандарта, и создавать в dwg эти структуры допданных программно. Но и описания допданных и содержание допданных хранить в dwg.
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
если же хотите запихивать это все в чертеж, то понадобиться делать различные варианты методов работы с xData, например. Или все делать в виде строк вида "%Название переменной%=%значение%) - но подобное при большом количестве объектов будет сильно тормозить из расходов ресурсов на преобразование информации.
Не уверен, что Вас точно понял, но примерно 40 базовых команд работы с допданными требуются. Типа: найти элементы, к которым присоединены допданные, найти, к которым не приосединены. Найти элементы, к которым присоединены конкретные допданные. Найти неиспользуемые описания допданных И т.п. Но можно предусмотреть естественный обязательный набор действий - он исчерпаем. Понятно, что захочется большего, ну и кто мешает?
Вот о торможении Автокада и о раздувании dwg - вопрос интересный! Тьфу-тьфу, но увеличение dwg за счет прибавления допданных (смотрел в виде Object Data из Map 3D) к торможению вроде бы не приводит. Возможно потому, что Автокад тормозит на геометрии. И поиск по допданным (найти все "трубы") не медленнее, но, возможно, даже быстрее происходит, чем по графическим свойствам типа по слою или т.п.
Кстати, сам Автодеск использует в Map 3D свои аналоги Object Data для описания связей с внешними БД.
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Половина функций - реализуется через шаблоны и файлы стандартов без всякого участия программистов.
Мы же это уже обсуждали: во многие инструменты - многие печали! Сам вовсю использую и дизайн-центр, и Tool palettes, и шаблоны, и пр. Нетехнологично. А по файлам стандартов, кажется, даже состав блоков и стилей текстов не проверяются. Да и нет в этих инструментах оч. многого, что несложно реализовать через допданные+файл описания стандарта. Не могли эти инструменты учитывать оч. многое, т.к. реальные стандарты описать было невозможно.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 18.09.2014, 19:32
#46
Сергей812


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


В конечном итоге пришли, получается, к посту #3. У вас это реализовано в каком то виде в MAP 3D, насколько понял.. у других в том же автокаде.. Только вы много видели законченных программных продуктов подобного уровня в свободном доступе? И врятли большинство будет выкладывать результаты своей деятельности, на которые были потрачены, как минимум, множество человеко-недель - в свободный доступ.. они будут стараться за счет своих дополнительных умений заработать лишнюю копеечку.. не прямо, так косвенно.. Пока другие будут фантазировать - как вдруг выйдет супер-пупер продукт, и они на зависть всем "одним щелчком пальцев" получать готовый проект и идти курить в ожидании охренённой премии..

Последний раз редактировалось Сергей812, 18.09.2014 в 19:54.
Сергей812 вне форума  
 
Автор темы   Непрочитано 18.09.2014, 20:53
#47
АлексЮстасу

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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
В конечном итоге пришли, получается, к посту #3. У вас это реализовано в каком то виде в MAP 3D, насколько понял.. у других в том же автокаде.. Только вы много видели законченных программных продуктов подобного уровня в свободном доступе? И врятли большинство будет выкладывать результаты своей деятельности, на которые были потрачены, как минимум, множество человеко-недель - в свободный доступ.. они будут стараться за счет своих дополнительных умений заработать лишнюю копеечку.. не прямо, так косвенно.. Пока другие будут фантазировать - как вдруг выйдет супер-пупер продукт, и они на зависть всем "одним щелчком пальцев" получать готовый проект и идти курить в ожидании охренённой премии.
Когда я в MAP 3D открыл для себя инструмент Feature classes (чертить сразу в стандарте, определять допданные, проверки и пр.), то вскорости понял, что подобный инструмент, несмотря на его мощность, в принципе универсален.
Что сам опишешь в его xml-файле, то и будешь чертить. Хочешь - электрику, хочешь - трубы, хочешь - карты.
Т.е., во-первых, такой инструмент, принципы его работы полностью безразличны к предмету черчения.
Во-вторых, пользователь не зависит от программистов (которые, допустим, уволились или им некогда) - пользователю дан набор необходимых функций, и пользователь полностью сам описывает нужные объекты стандарта.
Т.е. самое место такому инструменту вне вертикальных приложений - в базовом Автокаде. Не переходить же электрикам на MAP 3D?
И можно было бы не тратить время и силы на бесконечные варианты подобных пользовательских приложений, каждое из которых заточено либо только под один стандарт, либо требует постоянной правки авторов. И все равно не делает то, что делают эти Feature classes или Feature classes+Object Data. Допустим, не присоединяет допданные.
Но ведь многим и многим все равно требуется специализация, дополнительные возможности, больше сервиса, встраивание в существующую технологию. Это раз.
И подобный вариант с простыми допданными, без прокси-шмокси неизбежно имеет ограничения, которые не устроят тоже многих и многих, и им потребуются другие решения. Это два.
В #3, в #27, по-моему, у ShaggyDoc как раз такой случай. И там потребовались не несколько человеко-недель, очевидно.
Так что программистам будет что делать.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 18.09.2014, 21:08
#48
Сергей812


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


Так в чем проблемы то? У вас есть опыт работы в Feature classes , есть молодой программист - удивите всех универсальной надстройкой над autocad.. пускай аутодеску будет мучительно стыдно - что за 30 лет не смог даже этого достичь в своем базовом продукте.
Сергей812 вне форума  
 
Автор темы   Непрочитано 18.09.2014, 21:30
#49
АлексЮстасу

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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Так в чем проблемы то? У вас есть опыт работы в Feature classes , есть молодой программист - удивите всех универсальной надстройкой над autocad.. пускай аутодеску будет мучительно стыдно - что за 30 лет не смог даже этого достичь в своем базовом продукте.
Во-первых, у нас не хватит квалификации разработать для базового Автокада блоки допданных типа Object Data из MAP 3D. Во-вторых, программист уже несколько раз пытался меня убить. В-третьих, я же не отказываюсь участвовать, а наоборот.

Offtop: Угу. Допустим, я говорю: "по проверенной информации в общей доступности есть нечто полезное и приятное", а мне отвечают: "так что ж ты стоишь, тащи это быстрее к нам".
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 18.09.2014, 21:38
#50
Сергей812


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


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Offtop: Угу. Допустим, я говорю: "по проверенной информации в общей доступности есть нечто полезное и приятное", а мне отвечают: "так что ж ты стоишь, тащи это быстрее к нам".
Вот этим подобное обычно все и заканчивается, к сожалению...

----- добавлено через ~22 мин. -----
Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Во-первых, у нас не хватит квалификации разработать для базового Автокада блоки допданных типа Object Data из MAP 3D
Да в xData вроде типов данных достаточно. Правда, есть ограничение на объем присоединяемых данных - 16кбайт всего вроде
Сергей812 вне форума  
 
Автор темы   Непрочитано 19.09.2014, 04:14
#51
АлексЮстасу

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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Да в xData вроде типов данных достаточно. Правда, есть ограничение на объем присоединяемых данных - 16кбайт всего вроде
А как вообще в xData и с ними все устроено? Это один массив данных для всех элементов или множество по-разному описанных массивов? Если разные, то чем, как они идентифицируются?
Сколько разновидностей xData в одном dwg может быть (если может)? И т.п.
Есть хоть какие-нибудь команды для работы с ними?
16 кб - это, надеюсь, объем одной записи?
Боюсь опозориться, но я совсем не программист: 16 килобайт - это примерно за 150 символьных полей по 100 знаков. Или примерно за 1500 полей для чисел типа decimal, или за 4000 полей integer? Если говорить о характеристиках картографических объектах, то этого больше, чем достаточно. Во много раз, на порядки.
По-моему, для целей "обычного" пользователя такого объема одной записи тоже предостаточно. Ведь собственно БД и ГИС - задача даже не для расширенного CAD. Ими заниматься специализированным ПО.
Известно ли, сколько из этих 16 кб занимает описание структуры? Интересно еще, каков минимальный размер xData - когда в них, допустим, нужно только одно поле? Например, поле для названия объекта до 50 знаков.

И еще оч. полезно бы знать, какие проблемы бывают связаны с xData.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 19.09.2014, 06:44
#52
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Сколько разновидностей xData в одном dwg может быть
Чтобы реализовывать что-то серьезное, надо уходить от DWG. Это самое неудобное место для использования в хороших системах. В Autodesk когда-то поняли это и даже реализовали (в 2002) чертежи в XML. Но потом, похоже, сами испугались - а зачем тогда будет нужен сам Автокад? Если формат открыт и универсален, то он может использоваться в любых сторонних программных продуктах.

Вот и держатся за закрытый DWG, наполняя его все новыми прибамбасами. И тем самым ограничивают возможности применения самой базовой системы, пытаются монополию держать.

Что касается xData, то в них не надо держать саму информацию и гадать, хватит ли килобайтов. Внутри DWG надо иметь только ссылки на внешние данные. Все эти "блоки дополнительных данных" могут находиться где угодно - лучше всего в настоящих базах данных, причем поддерживающих SQL - чтобы можно было мгновенно найти (возможно среди миллионов записей) нужную информацию. А в xData (или ином укромном местечке Автокада, есть и другие) может храниться только одна строка-ссылка. Причем эта ссылка может быть (и это лучше) не напрямую на данные, а на файл метаданных (например в XML). В AutoCAD R10, где вообще никаких мест для заначек не было, приходилось хранить ссылки в атрибутах, но и это работало.

Вот там уже возможности неограничены. Можно и напрямую какие-то свойства описать, а на какие-то иметь ссылки на записи в БД. При этом у каждого пользователя может быть свой файл метаданных. Это может применяться и в САПР и в ГИС. Например, "квадратик" здания может по-разному отображаться на чертежах генплана (цвет, ширина линий) и сетей, к нему может быть привязана разная информация.

Нечто подобное реализовано в Workspace Mapinfo - это файл, в котором фактически текст MapBasic, при загрузке и выполнении которого формируется карта со всеми настройками из имеющихся таблиц с описанием геометрии. При использовании разных "рабочих пространств" одни и те же данные отображаются по-разному. Там тоже есть недостатки - использование именно фирменного Mapbasic и примитивных по структуре таблиц данных. Но это уже другой монополист пытается к себе привязать. Однако в ГИС монополии давно нет, поэтому и в Mapinfo тоже переходят на использование XML.

Разумеется нужны специализированные программы, как минимум две - для создания объектов с "дополнительными данными" и для их просмотра. Ткнув из такой программы, например по полилинии, можно увидеть не её обычные свойства, и не xData, а сразу информацию из БД. Причем всегда актуальную. И с этой информацией одинаково можно работать из разных "базовых" поатформ.
ShaggyDoc вне форума  
 
Непрочитано 19.09.2014, 09:30
#53
VitalyAF


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


Политика Autodesk сильно напоминает Microsoft - захватили всё офисное по, делают его из рук вон плохо, "радуют" нас ежегодно
новыми интерфейсами... Как это называется?! ...Монополия?
VitalyAF вне форума  
 
Непрочитано 19.09.2014, 10:19
#54
Сергей812


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


В хранении данных в xData есть определенный плюс - "автоматически" синхронизируется наличие объекта и привязанных к нему данных. Иначе надо (желательно) делать сверку чертежа с внешней БД при открытии + обрабатывать события объекта, либо окручивать код программы дополнительными проверками при обращениях к данным. Поэтому не совсем согласен с ShaggyDoc - возможно, в ряде случаев проще будет использовать комбинированный способ: в xData хранить какой то ограниченный набор самых нужных и обобщенных параметров (объем которых гарантированно влезет в ограничение по объему с многократным запасом) + идентификатор-ссылку на БД, в которой храниться вся дополнительная информация.
Сергей812 вне форума  
 
Непрочитано 19.09.2014, 11:45
1 | #55
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
синхронизируется наличие объекта и привязанных к нему данных. Иначе надо (желательно) делать сверку чертежа с внешней БД при открытии
А зачем вообще синхронизировать? Там только ссылка. Самые свежие данные всегда получаются при обращении к БД путем щелчка по объекту.
Цитата:
в xData хранить какой то ограниченный набор самых нужных и обобщенных параметров (объем которых гарантированно влезет в ограничение по объему с многократным запасом)
Как установите, какие именно эти "обобщенные параметры"? Как гарантирвать, что они "влезут"? Зачем вообще что-то лишнее хранить в DWG, еще и не доступное другим?

К конкретному объекту внутри Автокада должен быть привязан его ID по БД и ссылка на файл метаданных. А вот там уже - всё, что угодно и в неограниченном количестве. Коли уж это Автокад, то там могут быть даже тексты Лисп-выражений или (что лучше) ссылки на Лисп-файлы. Ну, например, если требуется, чтобы объекты одного "класса" всегда были одного цвета или слоя. Или ещё что-то, что требуется для конкретных нужд.

Учитывая специфику Автокада, что-то можно делать при автозагрузке. Что-то "по кнопке", наподобие "Проверить стандарт". Разумеется, для этого потребуются дополнительные программы. Вот у меня, например, не просто Автокад по ярлыку запускается, а специальная программа-стартер, которая следит за всеми настройками, генерирует файл автозагрузки и выполняет все необходимые действия при загрузке файла чертежа, включая настройку всех системных и собственных переменных. И классификатор слоев есть (более 2 тыс), причем каждый слой может сам "знать" каким способом не нем должны рисовать ("метод слоя").

Но сами настройки - любые - надо хранить вне чертежа. Беда (и вина) самой Аутодеск в том, что на норовит всё привязать именно к своему формату, т.е. к однопользовательской работе.

Цитата:
Политика Autodesk сильно напоминает Microsoft
Хуже того. Они же "склещились" (заключили соглашение) и тепрь Microsoft диктует Autodesk что и как делать. Например, привязка ARX-приложений исключительно к средствам разработки Microsoft, хотя объективных причин для этого нет. А обещания благ от этого для потребителей так и остались обещаниями. Теперь и у "вассала" вырабатывается такое же наплевательское отношение, как и у "сюзерена".
ShaggyDoc вне форума  
 
Непрочитано 19.09.2014, 12:30
#56
Сергей812


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


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
А зачем вообще синхронизировать? Там только ссылка. Самые свежие данные всегда получаются при обращении к БД путем щелчка по объекту.
Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Как установите, какие именно эти "обобщенные параметры"? Как гарантирвать, что они "влезут"? Зачем вообще что-то лишнее хранить в DWG, еще и не доступное другим?
Подозреваю, что у Вас в организации за эти годы была создана серьезная инфраструктура с БД, файловым документоборотом, действующим стандартом предприятия и т.д.. А для 80% фирм настоящее - это файлопомойка и одиночки-энтузиасты при полном пофигизме руководства.
Сергей812 вне форума  
 
Автор темы   Непрочитано 19.09.2014, 18:12
#57
АлексЮстасу

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


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Чтобы реализовывать что-то серьезное, надо уходить от DWG. Это самое неудобное место для использования в хороших системах.
Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Беда (и вина) самой Аутодеск в том, что на норовит всё привязать именно к своему формату, т.е. к однопользовательской работе.
Мы с Вами говорим по-прежнему о разном. Я не имею в виду "что-то серьезное". Я имею в виду сбор данных "для использования в хороших системах". Создание первичной, базовой информации в виде чертежей.
Для чего CAD'ы в принципе и предназначены. И однопользовательская работа при создании локальных чертежей вполне естественна.
Но если чертеж не просто для глаз, а для БД, ГИС, то создателю такого чертежа необходимо:
- иметь удобные инструменты для определения элементов как объекты и для ввода-редактирования допданных.
- обеспечить хорошую взаимосвязь графических элементов и допданных,
- обеспечить надежный обмен данными с соисполнителями и заказчиками.
Для этих целей внутренняя БД, где
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
"автоматически" синхронизируется наличие объекта и привязанных к нему данных
, где все хранится в одном файле - уникальная и гениальная возможность Автокада.
Предельная простота и, соответственно, надежность, однозначность таких связей, ненужность никакого дополнительного ПО вообще, дополнительных процедур проверок и исправлений.
Ненужность дополнительного обучения исполнителей, многие из которых в жизни слова ODBC или т.п. не слышали, и многие из которых работу с внешними БД в принципе освоить не смогут, хотя и хорошие специалисты в своей предметной области.
Возможность продолжать нанимать маломощные фирмы, фрилансеров. Без последних, например, ныне почти ни один картографический проект не выполняется.
Если задачу можно решить меньшими усилиями, то так и необходимо сделать
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
в xData хранить какой то ограниченный набор самых нужных и обобщенных параметров (объем которых гарантированно влезет в ограничение по объему с многократным запасом)
Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Как установите, какие именно эти "обобщенные параметры"? Как гарантирвать, что они "влезут"? Зачем вообще что-то лишнее хранить в DWG, еще и не доступное другим?
Можно попытаться определить границы, что имеет смысл хранить в допданных в чертеже, а что - предмет "хороших систем", т.е. БД, ГИС. Хотя, почему бы для небольших проектов не хранить всю нужную информацию в dwg, если техника-ПО позволяют? Или, наоборот, почему бы не хранить из всех допданных только id и идентификатор - пусть создатели специализированных БД сами описательные данные собирают, привязывают и вводят?
Но, предположим:
Критерий первый (формальный) - допданные, чей объем существенно не мешает работать с чертежами.
Критерий второй (тоже формальный) - допданные, чей объем гарантированно вмещается в предоставленные блоки для допданных.
Критерий третий - допданные, необходимые для создания чертежа (плана), помогающие создавать чертеж, отображаемые на чертеже. Допустим, диаметр труб, который можно использовать для отображения труб шириной их линий или диаметром сечения их солида. Или, допустим, сечение проводов может быть отображено их надписями на чертеже. Или, допустим, нужно разделять на картах массивы лесов на отдельные контуры при разной высоте деревьев.
Критерий четвертый - допданные в пределах компетенции создателей чертежа. Например, "электрик" передает только свои "электрические" данные другим строителям. Или, например, топограф создает план местности, а правовую, градостроительную и пр. информацию вводят уже в ГИС.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 19.09.2014, 19:00
#58
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
где все хранится в одном файле - уникальная и гениальная возможность Автокада
Когда-нибудь поймете, какую чушь пишете. Вот потому он и не развивается по сути, что его многие считают "уникальным и гениальным". Это было бы немножко похоже, если бы использовать его в качестве "чертилки", да и то там вопросов хватает.

Ну, сделайте чами что-то "несерьезное". Изобретите колесо, велосипед, самобеглую коляску.

Всё давно придумано, продумано и реализовано.
ShaggyDoc вне форума  
 
Непрочитано 19.09.2014, 19:27
#59
Сергей812


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


есть рабочий вариант.. ставшим стандартом дефакто в ряде областей деятельности.. autocad (точнее, формат dwg) - со своими проблемами и недостатками.. есть возможность с помощью API доточить функционал под свои нужды.. просто кто-то этим уже десятки лет занимается.. кто-то только начинает.. и пускай лучше начинающие попробуют хотя бы как-то реализовывать свои задумки.. не боги горшки обжигают.. и так очень мало осталось чем то творческим интересующихся.. большинство деградировали до уровня потребителей..
Сергей812 вне форума  
 
Автор темы   Непрочитано 19.09.2014, 21:21
#60
АлексЮстасу

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


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Это было бы немножко похоже, если бы использовать его в качестве "чертилки", да и то там вопросов хватает.
Да, имеет смысл говорить именно о "чертилке" (мы же об Автокаде), но с много бОльшими возможностями и удобствами. Наше дело, и дело Автокада - не БД и ГИС, а создание наполнения для БД, в первую очередь в чертежно-пространственной части.
Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Ну, сделайте чами что-то "несерьезное". Изобретите колесо, велосипед, самобеглую коляску.
Вы плохо читали.
Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Когда-нибудь поймете, какую чушь пишете. Всё давно придумано, продумано и реализовано.
Слияние в одну систему геометрии и описаний уже давно было, но с другой стороны палки - Oracle Spatial, SGL Spatial. Так понимаю, что trir именно это имел в виду в #14. Почему бы не реализовать это же, но с нашей стороны?
Цитата:
Сообщение от Krieger Посмотреть сообщение
В express tools даже есть две функции для записи и чтения их "xdata" и "xdlist".
Попробовал:
Цитата:
* Registered Application Name: ТРУБЫ
* Code 1002, Starting or ending brace: {
* Code 1000, ASCII string: 325x4
* Code 1002, Starting or ending brace: }

Object has 16363 bytes of Xdata space available.
Как понимать это "available"? Что эти Xdata для любого числа полей сразу занимают в dwg "16363 bytes"? Или что столько в принципе может быть использовано для одной записи?
И какой смысл вкладывается в Application? Понимать как просто название записи Xdata или там предполагается "Map3d" или "Revit" или т.п.?
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Чертить сразу с нужными графическими свойствами, сразу определять элемент как объект реальности, сразу присоединять описательные данные



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19