Проект XDTOOLS - пользовательские инструменты применения XData, и подпроекты XDPoint, XDLabel в целом завершены. Исправления, дополнения и уточнения естественны.
Созданы пользовательские инструменты, позволяющие достаточно удобно и в общем полноценно применять XData в обычной работе в AutoCAD для работы с описательными, дополнительными, неграфическими данными. Созданы инструменты для создания надписей и точечных объектов, связанных с их базовыми объектами и их свойствами.
Подпроект XDPoint так же в целом завершен. Обеспечивается связь базовых объектов с точечными объектами; добавлена связь атрибутов блоков со свойствами базовых объектов и/или с их XData. Команды XDPoint полноценно рабочие, сравнимы с известными программами вставки блоков с атрибутами, определения содержания атрибутов блоков и т.п. При этом команды XDPoint могут делать то, что другие программы не обеспечивают - создавать и поддерживать связь точечных объектов с их базовыми объектами.
Подпроект XDLabel в целом завершен. Добавлена команда XDLABEL_MANAGE для общего управления надписями. Подпроект завершен в целом, состоялся, все его основные задачи решены, но проект не закрыт. Созданные команды работоспособны, их можно использовать в обычной работе, и они позволяют упростить, ускорить и обеспечить лучшее качество работы. Но ничто не мешает что-то уточнить, добавить или вообще изменить подходы. Тем более, что проверять нужно еще оч. многое.
XDLabel - эксперимент. Дающий реальные интересные результаты. Близкий к завершению.
XDLabel превращает обычные надписи в подобие атрибута при примитивах почти любого типа. При этом они остаются обычными надписями AutoCAD.
Надписи приобретают основные свойства атрибутов:
- связаны с конкретными объектами логически и физически,
- отображают свойства своих объектов.
В идее можно разом создавать все нужные надписи с нужным содержанием и расположением.
Два существенных дополнения:
- возможность сохранения/загрузки в txt-файлы параметров связей надписей с объектами,
- создание надписей из свойств вершин/сегментов.
Несколько небольших дополнений:
- округление чисел в надписях до нужного числа знаков,
- добавление префиксов/суффиксов,
- добавление некоторых надписываемых свойств объектов
и пр.
В командах XDPoint исправлены многочисленные ошибки, сделаны небольшие дополнения.
Основное дополнение - возможность зафиксировать в описаниях связей текущие параметры положения и свойства точечных объектов.
К новой версии XDLabel добавлены команды XDLink выбора объектов и связанных надписей, возможных ошибок связей надписей с объектами.
Команды XDLabel упрощены - можно создавать, связывать надписи для объектов, не присоединяя XData к этим объектам.
Сделана возможность выполнять все действия сразу для многих типов надписей, без ограничений.
Добавлена возможность создавать, обновлять надписи 22 свойств объектов - длин, координат, площадей, цвета, слоев и пр.
И пр.
Мы решили не публиковать коды XDLabel и XDPoint. Коды для них написаны не программистами, новичками с отсутствием опыта и знаний. Мы сами оцениваем качество наших кодов как крайне низкое. Тем не менее, эти программки работают, и делают нужное. И это важнее.
Мы хотели бы, чтобы явно очень слабые наши коды не отвлекали от обсуждения предмета программок. От понимания-уточнения задач, от критики решений и выработки оптимальных решений задач.
В первом приближении сделали основные команды XDPoint:
- XDPOINT_CREATE - создание точечных объектов при указанных базовых объектах с определением их связей,
- XDPOINT_LINK - связывание существующих точечных объектов с их базовыми объектами,
- XDPOINT_UPDATEPT - обновление свойств и положения точечных объектов относительно их базовых объектов.
Еще идея возможного использования связей в любых AutoCAD.
Для формирования площадных объектов из множества линейных, для прослеживания путей между точками и т.п. можно попробовать найти и зафиксировать различные связи линейных и точечных объектов друг с другом. Соединения концов, точки пересечения и пр.
Определив связи линейных и точечных объектов, можно получить описание топологических отношений объектов. И соответственно их использовать
.