1. АК о создании пользовательских инструментов для XData
1. XData являются одновременно и пользовательским средством, и средством для разработчиков.
Мне не удалось найти в документации AutoCAD утверждения, что XData - только программистское средство, только средство для разработчиков.
При этом, в хелпе об Xrecord, созданных как альтернатива (т.е. с теми же задачами), на смену XData, сказано: «Объекты XRECORD используются для хранения и обработки произвольных данных». Произвольных ("arbitrary"), т.е. любых. Т.е. и самого AutoCAD, и программистских, и пользовательских.
2. Что вообще, в принципе делает любое средство AutoCAD программистским или пользовательским?
Окружности, полилинии, и др. программист может программно создавать, редактировать и пр., но это не делает полилинии и окружности средствами разработчиков.
Средство AutoCAD в принципе является пользовательским, если оно применимо, нужно пользователям. Или в т.ч. и пользовательским. Любое.
Возможность пользователю хранить в XData дополнительную, описательную информацию об объектах делает XData потенциально, в принципе пользовательским. Или и пользовательским.
Хотя, только потенциально.
3. Фактически же XData являются средствами для программистов и разрабочиков. Но совсем не потому, что не являются средствами для пользоателей.
Потому что любое средство AutoCAD становится фактически пользовательским только после появления пользовательских инструментов для его применения.
Убрать у любого средства AutoCAD пользовательские инструменты - и оно перестанет быть фактически пользовательским. Хотя и останется в принципе таковым. У полилиний? Они тут же станут "программистскими" фактически.
Мультиполигоны - существуют в AutoCAD уже лет 10. Никто из пользователей базового AutoCAD о них не знает - нет инструментов. Т.е. фактически это не пользовательское средство, хотя и потенциально удобное и нужное. А в Map/Civil пользователи о них знают, имея инструменты.
Стоит же добавить любому потенциально пользовательскому средству AutoCAD инструменты - оно становится и фактически пользовательским.
Если добавить для XData хотя бы минимально необходимые инструменты, то они станут не только потенциально, но и фактически пользовательским средством.
4. Еще один аргумент о том, что XData - средство разработчиков, это их странная реализация. Делающая их прямое применение сложным, и способная создавать неопределенность в интерпретациях.
Во-первых, это равно относится и к программистам, и к пользователям.
Во-вторых, большую часть потребностей пользователей в дополнительных, описательных данных удовлетворительно обеспечивает и эта неудобная реализация XData.
5. Еще аргумент, что XData не для пользователей - ограничения длин символьных данных и общего объема всех приложений к объекту, включая XData.
И это равно относится и к программистам, и к пользователям.
Причем, еще не понятно, к кому больше.
Основная часть задач пользователей в дополнительных, описательных данных не требует таких длин строк и объемов данных, которые превышают ограничения.
6. Еще аргумент, что неспроста Autodesk не создал пользовательских инструментов для XData. Две команды из Express можно не считать.
Есть разные гипотезы объяснения этого.
Например, Autodesk посчитал XData неудачей; в т.ч. по этой причине создал альтернативные Xrecord. (Которым совсем не дал пользовательских инструментов!).
Например, Autodesk так стимулировал переход пользователей в вертикальные приложения, где аналогичные возможности обеспечены инструментами.
Или т.п. Увы, этот факт ни о чем не говорит. Autodesk для многих средств не дал инструментов или дал много позже после появления этих средств в AutoCAD, или дал их точно недостаточно. Примеров этого очень много.
Общее.
Отсутствие для XData (как и для Xrecord) пользовательских инстурментов не нормально. Это пользовательское (или - и пользовательское) средство AutoCAD, и должно быть инструментами обеспечено.
Как не нормально было бы отсутствие их у полилиний или окружностей и т.д. Как не нормально для мультиполигонов. Как не нормальны недостаточность инструментов для мультилиний и пр., и пр.
Поэтому создание таких инструментов естественно. (Безусловно, естественным, нормальным во всех смыслах было бы ожидать этого от Autodesk).
Поэтому не может быть ни удивительным, ни нежелательным создание таких общедоступных инструментов. Разве что - по не имеющим ни к самому AutoCAD, ни к XData причинам.