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).
Vyberte kartu Vložit a umístěte na obrazovku tři ovládací prvky Textový popisek.
Změňte vlastnost Text popisků na Minimální šířka, Minimální hloubka a Minimální výška.
Vyberte kartu Vložit. Vložte tři ovládací prvky Textové zadání a umístěte je vpravo od tří popisků.
Přejmenujte ovládací prvky Textové zadání na minWidth, minDepth a minHeight.
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.
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í.
Vyberte kartu Vložit a rozbalte Média.
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.
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:
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).
Vyberte kartu Vložit a umístěte na obrazovku čtyři ovládací prvky Textový popisek.
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.
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:
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.
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ů).