Поділитися через


Перевірте, чи розміститься об’єкт у просторі за допомогою змішаної реальності

За допомогою елемента керування Вимірювальна камера можна визначити, чи вміститься об’єкт відомого розміру у певний простір. У цій статті ми створимо компоновану програму для рішення цієї задачі.

Підказка

Елементи керування гібридної реальності (ГР) найкраще працюють у добре освітлених середовищах з поверхнями з пласкими структурами. Відстеження працює краще на пристроях із підтримкою LIDAR.

Додавання полів вводу для мінімально необхідних розмірів до компонованої програми

Спочатку створимо пусту компоновану програму. Потім ми додамо спосіб для введення користувачем мінімального значення вимірів місця для перевірки (тобто найменшого місця, в якому нам потрібно розташувати об'єкт).

  1. Створіть пусту компоновану програму..

  2. Виберіть вкладку Вставка. Вставте три елементи керування Текстовий підпис і розмістіть їх на екрані програми.

  3. Змініть властивість Text підписів відповідно на Мінімальна ширина, Мінімальна глибина та Мінімальна висота.

    Знімок екрана: робота над текстовим підписом у Microsoft Power Apps Studio, разом із властивостями.

  4. Виберіть вкладку Вставка. Вставте три елементи керування Введення тексту та розташуйте їх праворуч від трьох підписів.

  5. Перейменуйте елементи керування для введення тексту як minWidth, minDepth і minHeight.

    Знімок екрана: робота над елементом введення тексту у Microsoft Power Apps Studio, разом із властивостями.

  6. Виберіть усі три елемент керування введенням тексту. Змініть властивість Format («Формат») групи на Number («Число») та встановіть для властивості Default («За замовчуванням») значення 1.0.

    Знімок екрана: робота над трьома елементами введення тексту у Microsoft Power Apps Studio, разом із властивостями вибраної групи.

Додавання та зв’язування елемента керування Вимірювальна камера

Потім ми додамо елемент керування Вимірювальна камера, щоб користувачі могли вимірювати тривимірний простір. Вимірювання буде зв’язано з таблицею даних для подальшого використання.

  1. Відкрийте вкладку Вставлення та розгорніть елемент Медіа.

  2. Виберіть елемент керування Вимірювальна камера («Measuring camera»), щоб розмістити його на екрані. Перетягніть цей елемент керування у нижню частину екрана.

  3. Змініть властивості елемента керування, як показано нижче.

    Ім’я властивості Значення Де
    Одиниці вимірювання Фути або Метри Виберіть на вкладці Властивості
    Тип вимірювання Об’єм Виберіть на вкладці Властивості
    Прямокутник Увімкн. Виберіть на вкладці Властивості
    Елементи Table({label:"Test Volume"}) Уведіть на вкладці Додатково
    ItemsLabels "label" Уведіть на вкладці Додатково
    OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Перевірити об'єм")); Уведіть на вкладці Додатково

Після завершення роботи властивості Items, ItemsLabels і OnMixedRealitySelect елемента керування Вимірювальна камера повинні виглядати, як показано у прикладах нижче.

Знімок екрана: робота над елементом керування «Виміряти у 3D» у Microsoft Power Apps Studio, разом із властивостями Items і ItemsLabels.

Знімок екрана: робота із елементом керування «Вимірювання у 3D» у Microsoft Power Apps Studio, який відображається із властивістю OnMixedRealitySelect.

Формула у властивості Items отримує виміри вимірюваного простору у таблиці даних «Test Volume». У формулі OnMixedRealitySelect задається значення змінної з іменем «testVolume» як записані в таблиці «Test Volume» виміри.

Відображення результатів

Нарешті, додамо текстові підписи, щоб відобразити зняті виміри та результат тесту (тобто, чи уміститься об’єкт до вимірюваного простору).

  1. Виберіть вкладку Вставка. Вставте чотири елементи керування Текстовий підпис і розмістіть їх на екрані програми.

  2. Змініть властивість Text елементів керування «Підпис», як показано нижче. (Підказка. Скопіюйте кожну формулу та вставте її в рядок формул або на вкладку Розширених властивостей, залежно від того, що ви оберете.)

    • Перший підпис:

          If(IsBlankOrError(testVolume), "No Measurement captured",
              If(testVolume.Height >= Value(minHeight.Text) &&
              ((testVolume.BoundingWidth >= Value(minWidth.Text) && testVolume.BoundingDepth >= Value(minDepth.Text)) ||
              (testVolume.BoundingWidth >= Value(minDepth.Text) && testVolume.BoundingDepth >= Value(minWidth.Text))),
              "Fit Test Succeeded", "Fit Test Failed"))
      

      У цій формулі текст підпису встановлюється відповідно до того, чи завершилася перевірка успіхом чи невдачею, виходячи з мінімальних вимірів, необхідних для розміщення потрібного об’єкта. Якщо перевірка не виконувалася, через відсутність отриманих вимірів або через помилку, текст підпису свідчитиме про це.

      Знімок екрана: робота над елементом керування текстовим підписом у Microsoft Power Apps Studio з властивістю «Text» на панелі формул і вкладкою «Додаткові властивості».

    • Другий підпис:

          Concatenate("Bounding Width: ", Text(testVolume.BoundingWidth))
      

      У цій формулі текст підпису задається як «Bounding Width:» («Обмежуюча ширина:»), а потім — значення ширини для вимірюваного простору.

    • Третій підпис:

          Concatenate("Bounding Depth: ", Text(testVolume.BoundingDepth))
      

      У цій формулі текст підпису задається як «Bounding Depth:» («Обмежуюча глибина:»), а потім — значення глибини для вимірюваного простору.

    • Четвертий підпис:

          Concatenate("Bounding Height: ", Text(testVolume.Height))
      

      У цій формулі текст підпису задається як «Bounding Height:» («Обмежуюча висота:»), а потім — значення висоти для вимірюваного простору.

Тепер екран вашої програми має виглядати, як показано нижче.

Знімок кінцевого екрана програми.

Перевірка програми

Натисніть кнопку попереднього перегляду, щоб запустити програму в режимі попереднього перегляду. Виберіть Вимірювальна камера, щоб заповнити підписи даними. Щоб переконатися в роботі прив’язування підписів, уведіть нові значення в полях для введення тексту.

Знімок екрана програми в режимі попереднього перегляду після введення нових мінімальних вимірів.

Значення Bounding Width і Bounding Depth можна змінювати місцями під час виконання тесту.

Збережіть та опублікуйте програму. Відкрийте її на пристрої з підтримкою гібридної реальності, щоб перевірити, чи зможе об’єкт із вказаними параметрами поміститися в межах різних отриманих вимірювань.

Фільтрування джерела даних

Створена програма перевіряє єдиний набір вимірів, які визначає користувач при запуску програми. Проте її можна розширити її для використання із будь-яким джерелом даних, застосувавши формулу в якості предиката Фільтр.

Нехай, наприклад, наша програма містить посилання на таблицю Dataverse Products («Продукти») з трьома стовпцями:Width, Depth і Height (відповідно до вимірів кожного продукту). Щоб відфільтрувати колекцію, щоб показувати тільки вимірювання, які б поміщувалися у вимірюваному об'ємі, можна застосувати таку формулу.

    If(IsBlankOrError(testVolume), Products,
    Filter(Products, testVolume.Height >= Height &&
        ((testVolume.BoundingWidth >= Width && testVolume.BoundingDepth >= Depth) ||
        (testVolume.BoundingWidth >= Depth && testVolume.BoundingDepth >= Width))))

Див. також

Примітка

Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)

Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).