Sdílet prostřednictvím


Vyzkoušejte, zda se objekt vejde do prostoru pomocí hybridní reality

Ovládací prvek Měřicí kamera můžete použít k určení, zda se objekt známé velikosti vejde do určitého prostoru. V tomto článku vytvoříme aplikaci plátna, která to udělá.

Tip

Ovládací prvky hybridní reality (HR) fungují nejlépe v dobře osvětlených prostředích s plochými povrchy. Sledování je lepší na zařízeních s podporou LIDAR.

Přidejte do aplikace plátna vstupní pole minimálních rozměrů

Nejprve vytvoříme prázdnou aplikaci plátna. Poté přidáme způsob, jak může uživatel zadat minimální rozměry, se kterými bude testovat (tedy nejmenší prostor, do kterého se vejde objekt, do kterého se chceme vejít).

  1. Vytvořte prázdnou aplikaci plátna.

  2. Vyberte kartu Vložit a umístěte na obrazovku tři ovládací prvky Textový popisek.

  3. Změňte vlastnost Text popisků na Minimální šířka, Minimální hloubka a Minimální výška.

    Snímek obrazovky textového popisku ve výstavbě v aplikaci Microsoft Power Apps Studio, zobrazeného spolu s jeho vlastnostmi.

  4. Vyberte kartu Vložit. Vložte tři ovládací prvky Textové zadání a umístěte je vpravo od tří popisků.

  5. Přejmenujte ovládací prvky Textové zadání na minWidth, minDepth a minHeight.

    Snímek obrazovky ovládacího prvku textového vstupu ve výstavbě v aplikaci Microsoft Power Apps Studio, zobrazeného spolu s jeho vlastnostmi.

  6. Vyberte všechny tři ovládací prvky pro zadávání textu. Změňte vlastnost Format skupiny na Number a nastavte vlastnost Default na 1,0.

    Snímek obrazovky třech ovládacích prvků textového vstupu ve výstavbě v aplikaci Microsoft Power Apps Studio, zobrazeného spolu s vlastnostmi vybrané skupiny.

Přidání a svázání ovládacího prvku Měřicí kamera

Dále přidáme ovládací prvek Měřicí kamera, který uživateli umožní měřit trojrozměrný prostor. Měření svážeme s datovou tabulkou pro pozdější použití.

  1. Vyberte kartu Vložit a rozbalte Média.

  2. Vyberte položku Měřicí kamera a umístěte ovládací prvek na obrazovku aplikace. Přetáhněte ovládací prvek do spodní části obrazovky.

  3. Změňte vlastnosti ovládacího prvku takto:

    Název vlastnosti Hodnota Kde
    Unit of measurement Stopy nebo metry Vyberte na kartě Vlastnosti
    Measurement type Objem Vyberte na kartě Vlastnosti
    Kreslení kvádru Zapnuto Vyberte na kartě Vlastnosti
    Items Table({label:"Test objemu"}) Zadejte na kartě Upřesnit
    ItemsLabels "popisek" Zadejte na kartě Upřesnit
    OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Test objemu")); Zadejte na kartě Upřesnit

Vlastnosti Items, ItemsLabels a OnMixedRealitySelect ovládacího prvku Měřicí kamera by po dokončení měly vypadat jako následující příklady:

Snímek obrazovky tlačítka Measure in 3D ve výstavbě v aplikaci Microsoft Power Apps Studio, zobrazené spolu s jeho vlastnostmi Items a ItemsLabels.

Snímek obrazovky tlačítka Measure in 3D ve výstavbě v aplikaci Microsoft Power Apps Studio, zobrazené spolu s jeho vlastností OnMixedRealitySelect.

Vzorec ve vlastnosti Items zachycuje rozměry měřeného prostoru do datové tabulky s názvem "Test Volume". Vzorec v události OnMixedRealitySelect nastaví proměnnou s názvem "testVolume" na hodnoty zachycené v tabulce "Test Volume".

Zobrazení výsledků

Nakonec přidáme textové popisky pro zobrazení provedených měření a výsledku testu (tedy zda se objekt vejde do měřeného prostoru).

  1. Vyberte kartu Vložit a umístěte na obrazovku čtyři ovládací prvky Textový popisek.

  2. Změňte vlastnost Text ovládacích prvků štítku následovně. (Tip: Zkopírujte každý vzorec a vložte jej do řádku vzorců nebo do karty vlastností Upřesnit, podle toho, čemu dáváte přednost.)

    • První popisek:

          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 popisku podle toho, zda byl test úspěšný nebo neúspěšný, na základě minimálních rozměrů objektu, který chceme umístit. Pokud test neproběhl, protože nebyla zaznamenána žádná měření nebo došlo k chybě, text popisku to vyjadřuje.

      Snímek obrazovky ovládacího prvku textového popisku ve výstavbě v aplikaci Microsoft Power Apps Studio, zobrazené spolu s vlastností Text na řádku vzorců a na kartě vlastností Upřesnit.

    • Druhý popisek:

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

      Tento vzorec nastaví text popisku na "Bounding Width:", za kterým následuje šířka měřeného prostoru.

    • Třetí popisek:

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

      Tento vzorec nastaví text popisku na "Bounding Depth:", za kterým následuje hloubka měřeného prostoru.

    • Čtvrtý popisek:

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

      Tento vzorec nastaví text popisku na "Bounding Height:", za kterým následuje výška měřeného prostoru.

Obrazovka aplikace by teď měla vypadat takto:

Snímek konečné instalační obrazovky.

Otestování aplikace

Výběrem tlačítka náhledu spustíte aplikaci v režimu náhledu. Vyberte ovládací prvek Měřicí kamera, aby se popisky naplnily daty. Chcete-li ověřit, že vazby popisků fungují, zadejte nové hodnoty do polí pro zadávání textu.

Snímek obrazovky aplikace v režimu náhledu po zadání nových minimálních rozměrů.

Hodnoty vlastností Bounding Width a Bounding Depth lze při provádění testu vyměnit.

Uložte a publikujte aplikaci. Otevřete aplikaci na zařízení s hybridní realitou a vyzkoušejte, zda se objekt se zadanými rozměry vejde do mezí zachyceného měření.

Filtrování zdroje dat

Aplikace, kterou jsme vytvořili, testuje jednu sadu rozměrů, které zadá uživatel při spuštění aplikace. Můžete ji však rozšířit tak, aby sedala otestovat vůči jakémukoli zdroji dat použitím vzorce jako predikát Filter.

Řekněme například, že naše aplikace obsahuje odkaz na tabulku Dataverse s názvem Products, která obsahuje tři sloupce: Width, Depth a Height, odpovídající rozměrům každého produktu. Chcete-li filtrovat kolekci tak, aby zobrazila pouze měření, která se vešla do měřeného objemu, můžeme použít následující vzorec.

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

Viz také

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).