Megosztás a következőn keresztül:


Tesztelje, hogy egy objektum elfér-e egy térben a vegyes valóság segítségével

A Mérőkamera vezérlővel meghatározhatja, hogy egy ismert méretű objektum elfér-e egy adott térben. Ebben a cikkben egy vászonalapú alkalmazást hozunk létre erre a célra.

Tipp.

A vegyes valóság (MR) vezérlői a legjobban jól megvilágított környezetben, lapos szerkezetű felületekkel működnek. A nyomon követés jobb a LIDAR-kompatibilis eszközökön.

Minimális méreteket tartalmazó beviteli mezők hozzáadása vászonalapú alkalmazáshoz

Először üres vászonalapú alkalmazást hozunk létre. Ezután hozzáadunk egy lehetőséget, hogy a felhasználó megadja a minimális méreteket, amelyekkhez képest tesztelni szeretné azt (vagyis a legkisebb helyet, amelybe a beilleszteni kívánt objektum belefér).

  1. Hozzon létre egy üres vászonalapú alkalmazást.

  2. Válassza a Beszúrás lapot. Szúrjon be és helyezzen el három szövegcímke-vezérlőt a képernyőn.

  3. Módosítsa a feliratok Szöveg tulajdonságát Minimális szélességre, Minimális mélységre és Minimális magasságra.

    A Studióban készülő Microsoft Power Apps szöveges címke képernyőképe, amely a tulajdonságai mellett látható.

  4. Válassza a Beszúrás lapot. Szúrjon be három szövegbeviteli vezérlőt, és helyezze őket a három címke jobb oldalára.

  5. Nevezze át a szövegbeviteli vezérlőket minWidth , minDepth ésminHeight névre.

    A Studióban fejlesztés Microsoft Power Apps alatt álló szövegbeviteli vezérlő képernyőképe, amely a tulajdonságai mellett látható.

  6. Válassza ki mindhárom szövegbeviteli vezérlőt. Módosítsa a csoport Formátum tulajdonságát Szám értékre , és állítsa az Alapértelmezett tulajdonságot 1.0-ra .

    A Studióban fejlesztés Microsoft Power Apps alatt álló három szövegbeviteli vezérlő képernyőképe, amely a kiválasztott csoport tulajdonságai mellett látható.

A mérőkamera vezérlő hozzáadása és kötése

Ezután hozzáadjuk a Mérőkamera vezérlőt, amely lehetővé teszi a felhasználó számára a háromdimenziós tér mérését. A mért értékeket későbbi felhasználás érdekében adattáblához kötjük.

  1. Válassza a Beszúrás fület, és bontsa ki a Média csomópontot.

  2. Válassza a Mérőkamera lehetőséget a vezérlő alkalmazásképernyőre helyezéséhez. Húzza ezt a vezérlőt az alkalmazás képernyőjének aljához közel.

  3. A vezérlő tulajdonságait a következők szerint módosítsa:

    Tulajdonság neve Érték Hol
    Mértékegység Láb vagy méter Válassza ki a Tulajdonságok lapon
    Mérés típusa Volume Válassza ki a Tulajdonságok lapon
    Mező megrajzolása A következőn: Válassza ki a Tulajdonságok lapon
    Cikkek Table({label:"Tesztmennyiség")} Lépjen be a Speciális lapra
    ItemsLabels "címke" Lépjen be a Speciális lapra
    OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, label = "Tesztmennyiség")); Lépjen be a Speciális lapra

A Measurement-kameravezérlő Items,ItemsLabels és OnMixedRealitySelect tulajdonságainak az alábbi példákhoz hasonlóan kell kinézniük, ha végzett:

Képernyőkép a Studio fejlesztés Microsoft Power Apps alatt álló Measure in 3D vezérlőelemről, amely az Elemek és az ItemsLabels tulajdonságok mellett látható.

Képernyőkép a Studióban Microsoft Power Apps fejlesztés alatt álló 3D-s mérési vezérlőről, amely az OnMixedRealitySelect tulajdonsága mellett látható.

Az Elemek képlete rögzíti a mért terület méreteit a "Teszttérfogat" nevű adattáblában. Az OnMixedRealitySelect képlete egy "testVolume" nevű változót állít be a "Test Volume" táblában rögzített értékekre.

Eredmények megjelenítése

Végül szöveges címkéket adunk hozzá, hogy megjelenítsük a végzett méréseket és a teszt eredményét (vagyis hogy az objektum befér-e a mért térbe).

  1. Válassza a Beszúrás lapot. Szúrjon be és helyezzen el négy Szövegcímke vezérlőt a képernyőn.

  2. Módosítsa a címkevezérlők Szöveg tulajdonságát az alábbiak szerint. (Tipp: Másolja ki az egyes képleteket, és illessze be a szerkesztőlécre vagy a Speciális tulajdonságok lap, amelyik tetszik.)

    • Első címke:

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

      Ez a képlet a címke szövegét aszerint állítja be, hogy a teszt sikeres vagy sikertelen volt-e, a kívánt objektum befogadásához szükséges minimális méretek alapján. Ha a teszt nem futott le, vagy azért, mert nem történt mérés, vagy mert hiba történt, a címke szövege ezt megjeleníti.

      Képernyőkép a Studióban fejlesztés Microsoft Power Apps alatt álló szöveges címkevezérlőről, amely a Szöveg tulajdonsággal együtt látható a szerkesztőlécen és a speciális tulajdonságok lapon.

    • Második címke:

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

      Ez a képlet a címke szövegét "Határolószélesség:" értékre állítja, amelyet a mért tér szélességi mérete követ.

    • Harmadik címke:

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

      Ez a képlet a címke szövegét "Határolómélység:" értékre állítja, amelyet a mért tér mélységi mérete követ.

    • Negyedik címke:

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

      Ez a képlet a címke szövegét "Határolómagasság:" értékre állítja, amelyet a mért tér magassági mérete követ.

Az alkalmazásképernyő most a következőhöz hasonlóan néz ki:

Képernyőkép az alkalmazás utolsó képernyőjéről.

Az alkalmazás tesztelése

Az előzetes verzió gomb kiválasztásával az alkalmazás előzetes verzióban futtatatható. Válassza a Mérőkamera lehetőséget a címkék adatokkal való feltöltéséhez. Annak ellenőrzéséhez, hogy a címkekötések működnek-e, írjon be új értékeket a szövegbeviteli mezőkbe.

Képernyőkép az alkalmazás képernyőjéről előnézeti módban az új minimális méretek megadása után.

A határolószélesség és a határoló mélység értékei felcserélhetők a teszt végrehajtása során.

Mentse és tegye közzé az alkalmazást. Nyissa meg egy vegyes valóságot támogató eszközön, hogy tesztelje, hogy a megadott méretekkel rendelkező objektum belefér-e bármelyik rögzített mérés határain belül.

Adatforrás szűrése

Az általunk létrehozott alkalmazás egyetlen dimenziókészletet tesztel, amelyet a felhasználó ad meg az alkalmazás futtatásakor. Azonban kiterjesztheti bármely adatforrásra való tesztelésre, ha a képletet Filter predikátumként alkalmazza.

Tegyük fel például, hogy az alkalmazás tartalmaz egy hivatkozást egy Dataverse Termékek nevű táblára, amely három oszlopot tartalmaz: Szélesség, Mélység és Magasság (az egyes termékek méreteinek megfelelően). Ha a kollekciót úgy akarjuk szűrni, hogy csak azokat a méréseket jelenítse meg, amelyek beleférnek egy mért térfogatba, a következő képletet alkalmazhatjuk.

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

Kapcsolódó információk