2004 или запускаем новый
AcadApplication := GetActiveOleObject('AutoCAD.Application.16');
// Получаем множество выбранных объектов
Objects := AcadApplication.ActiveDocument.SelectionSets.Add('XDATAEXAMPLE');
Objects.SelectOnScreen;
// Регестрируем приложение
AcadApplication.ActiveDocument.RegisteredApplications.Add(appid);
// Создаем гркппы кодов и массивы данных
vaType := VarArrayCreate([0, 4], varSmallInt);
vaData := VarArrayCreate([0, 4], varVariant);
// Создаем вариантый массив 3D точки
vaPoint := AcPoint(4.0, 6.0, 0.0);
// Заполняем массив
vaType[0] := 1001; // Название приложения должно быть вначале
vaData[0] := appid;
vaType[1] := 1070; // Целочисленное
vaData[1] := 99;
vaType[2] := 1040; // Вещественное
vaData[2] := 2.5;
vaType[3] := 1000; // Строка
vaData[3] := 'Здавствуй яблочко!';
vaType[4] := 1010; // 3D точка
vaData[4] := vaPoint;
// К каждому объекту в выбранных объктах
// присоеденим расширенные данные XData
For i := 0 to Objects.Count - 1 do
Objects.Item(i).SetXData(vaType, vaData);
Objects.Delete;
end;