Otestujte, či sa objekt zmestí do priestoru pomocou zmiešanej reality

Môžete použiť ovládací prvok Meracia kamera na určenie, či sa objekt známej veľkosti zmestí do konkrétneho priestoru. V tomto článku vytvoríme aplikáciu na plátne, ktorá to umožní.

Tip

Ovládacie prvky zmiešanej reality (MR) fungujú najlepšie v dobre osvetlených prostrediach s plochými povrchmi. Sledovanie je lepšie na zariadeniach s podporou LIDAR.

Pridajte vstupné polia minimálnych rozmerov do aplikácie plátna

Najprv vytvoríme prázdnu aplikáciu. Potom pridáme spôsob, akým môže používateľ zadať minimálne rozmery na testovanie (teda najmenší priestor, do ktorého sa zmestí objekt).

  1. Vytvorte prázdnu aplikáciu plátna.

  2. Vyberte kartu Vložiť. Vložte a umiestnite na obrazovku tri ovládacie prvky Označenie textu.

  3. Zmeňte vlastnosť popisov Text na Minimálna šírka, Minimálna hĺbka, resp. Minimálna výška.

    Snímka obrazovky vytváraného označenia textu v aplikácii Microsoft Power Apps Studio, zobrazená spolu s jeho vlastnosťami.

  4. Vyberte kartu Vložiť. Vložte tri ovládacie prvky Textový vstup a umiestnite ich napravo od troch označení.

  5. Premenujte ovládacie prvky zadávania textu na minWidth, minDepth resp. minHeight.

    Snímka obrazovky vytváraného ovládacieho prvku zadávania textu v aplikácii Microsoft Power Apps Studio, zobrazená spolu s jeho vlastnosťami.

  6. Vyberte všetky tri ovládacie prvky na zadávanie textu. Zmeňte vlastnosť skupiny Formát na Číslo a nastavte vlastnosť Predvolené na 1,0.

    Snímka obrazovky s tromi ovládacími prvkami textového vstupu v programe Microsoft Power Apps Studio, zobrazená spolu s vlastnosťami vybranej skupiny.

Pridajte a zviažte ovládací prvok Meracia kamera

Potom pridáme ovládací prvok Meracia kamera, ktorý používateľovi umožní merať trojrozmerný priestor. Merania spojíme s tabuľkou údajov pre neskoršie použitie.

  1. Vyberte kartu Vložiť a rozbaľte položku Médiá.

  2. Výberom položky Meracia kamera umiestnite ovládací prvok na obrazovku aplikácie. Presuňte tento ovládací prvok do spodnej časti obrazovky.

  3. Zmeňte vlastnosti ovládacieho prvku takto:

    Názov vlastnosti Hodnota Kde
    Merná jednotka Stopy alebo metre Vyberte kartu Vlastnosti
    Typ merania Volume Vyberte kartu Vlastnosti
    Vykreslenie poľa V deň Vyberte kartu Vlastnosti
    Položky Tabuľka({označenie:"Test Volume"}) Prejdite na kartu Pokročilé
    ItemsLabels "označenie" Prejdite na kartu Pokročilé
    OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Test Volume")); Prejdite na kartu Pokročilé

Vlastnosti Items, ItemsLabels a OnMixedRealitySelect ovládacieho prvku Meracia kamera by po dokončení malo vyzerať ako nasledujúce príklady:

Snímka obrazovky vytváraného ovládacieho prvku Merať v 3D v aplikácii Microsoft Power Apps Studio, zobrazená spolu s vlastnosťami Items a ItemsLabels.

Snímka obrazovky vytváraného ovládacieho prvku Meranie v 3D v aplikácii Microsoft Power Apps Studio, zobrazená spolu s jeho vlastnosťou OnMixedRealitySelect.

Vzorec v Items zachytáva rozmery meraného priestoru v dátovej tabuľke s názvom "Test Volume." Vzorec v OnMixedRealitySelect nastaví premennú s názvom "testVolume" na hodnoty zachytené v tabuľke "Test Volume".

Zobrazenie výsledkov

Na záver pridáme textové označenia na zobrazenie meraní, ktoré boli urobené a výsledku testu (teda či sa objekt zmestí do meraného priestoru).

  1. Vyberte kartu Vložiť. Vložte a umiestnite na obrazovku štyri ovládacie prvky Označenie textu.

  2. Zmeňte vlastnosť Text ovládacích prvkov označenia takto. (Tip: Skopírujte každý vzorec a prilepte ho do riadka vzorcov alebo na kartu vlastností Pokročilé podľa toho, čo uprednostňujete.)

    • Prvé označenie:

          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"))
      

      Tento vzorec nastavuje text označenia podľa toho, či bol test úspešný alebo neúspešný, na základe minimálnych rozmerov potrebných na uchytenie objektu, ktorý chceme prispôsobiť. Ak test neprebehol, pretože neboli zachytené žiadne merania alebo sa vyskytla chyba, text štítku to odráža.

      Snímka obrazovky vytváraného ovládacieho prvku textového štítku v aplikácii Microsoft Power Apps Studio, zobrazená s jeho vlastnosťou Text na paneli vzorcov a na karte rozšírených vlastností.

    • Druhé označenie:

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

      Tento vzorec nastaví text označenia na "Bounding Width:" nasledovaný rozmerom šírky meraného priestoru.

    • Tretie označenie:

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

      Tento vzorec nastaví text označenia na "Bounding Depth: " nasledovaný rozmerom hĺbky meraného priestoru.

    • Štvrté označenie:

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

      Tento vzorec nastaví text označenia na "Bounding Height: " nasledovaný rozmerom výšky meraného priestoru.

Obrazovka aplikácie by teraz mala vyzerať takto:

Snímka finálnej obrazovky aplikácie.

Otestovanie aplikácie

Výberom tlačidla ukážky spustíte aplikáciu v režime ukážky. Vyberte Meracia kamera na vyplnenie označení údajmi. Ak chcete overiť, či väzby štítkov fungujú, zadajte nové hodnoty do polí na zadávanie textu.

Snímka obrazovky aplikácie v režime ukážky po zadaní nových minimálnych rozmerov.

Hodnoty pre Šírka ohraničenia a Hĺbka ohraničenia môžu byť vymenené, keď vykonáte test.

Uložte a publikujte svoju aplikáciu. Otvorte ho na zariadení so zmiešanou realitou a otestujte, či sa objekt so špecifikovanými rozmermi zmestí do hraníc akéhokoľvek zachyteného merania.

Filtrovanie zdroja údajov

Aplikácia, ktorú sme vytvorili, testuje jednu množinu dimenzií, ktoré zadá používateľ pri spustení aplikácie. Môžete ho však rozšíriť tak, aby ste ho mohli testovať na ľubovoľný zdroj údajov použitím vzorca ako predikátu Filter.

Povedzme napríklad, že naša aplikácia obsahuje odkaz na tabuľku Dataverse s názvom Produkty, ktorá obsahuje tri stĺpce: Šírka, Hĺbka a Výška (zodpovedajúce rozmerom každého produktu). Ak chcete filtrovať kolekciu tak, aby zobrazovala iba merania, ktoré by sa zmestili do meraného objemu, môžeme použiť nasledujúci vzorec.

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

Pozrite si tiež

Poznámka

Môžete nás informovať o svojich voľbách jazyka pre dokumentáciu? Absolvujte krátky prieskum. (upozorňujeme, že tento prieskum je v angličtine)

Prieskum bude trvať približne sedem minút. Nezhromažďujú sa žiadne osobné údaje (vyhlásenie o používaní osobných údajov).