Jaa


Testaa yhdistetyssä todellisuudessa, mahtuuko objekti tilaan

Voit käyttää Mittaava kamera -ohjausobjektia määrittääksesi, mahtuuko määritetyn kokoinen objekti tiettyyn tilaan. Tässä artikkelissa luomme pohjaan perustuvan sovelluksen tätä tarkoitusta varten.

Vihje

Yhdistetyn todellisuuden (MR) ohjausobjektit toimivat parhaiten hyvin valaistuissa ympäristöissä, joiden pinnat ovat sileitä. Seuranta toimii paremmin LIDAR-yhteensopivilla laitteilla.

Vähimmäismittojen syöttökenttien lisääminen pohjaan perustuvaan sovellukseen

Aluksi luomme tyhjän pohjaan perustuvan sovelluksen. Tämän jälkeen lisäämme tavan, jolla käyttäjä voi määrittää testattavat vähimmäismitat (eli pienin tila, johon mahdutettava objektimme mahtuu).

  1. Tyhjän pohjaan perustuvan sovelluksen luominen.

  2. Valitse Lisää-välilehti. Lisää näytölle kolme Tekstiselite-ohjausobjektia.

  3. Muuta selitteiden Text-ominaisuudeksi Minimum Width, Minimum Depth ja Minimum Height tässä järjestyksessä.

    Näyttökuva rakenteilla olevasta Text Label -ohjausobjektista Microsoft Power Apps Studiossa ja sen ominaisuuksista.

  4. Valitse Lisää-välilehti. Lisää kolme Tekstisyöte-ohjausobjektia ja aseta ne kolmen selitteen oikealle puolelle.

  5. Muuta Tekstisyöte-ohjausobjektien nimiksi minWidth, minDepth ja minHeight tässä järjestyksessä.

    Näyttökuva rakenteilla olevasta Tekstisyöte-ohjausobjektista Microsoft Power Apps Studiossa ja sen ominaisuuksista

  6. Valitse kaikki kolme Tekstisyöte-ohjausobjektia. Muuta ryhmän Format-ominaisuudeksi Number ja määritä Default-ominaisuudeksi 1,0.

    Näyttökuva kolmesta rakenteilla olevasta Tekstisyöte-ohjausobjektista Microsoft Power Apps Studiossa ja valitun ryhmän ominaisuuksista.

Mittaava kamera -ohjausobjektin lisääminen ja sitominen

Seuraavaksi lisäämme Mittaava kamera -ohjausobjektin, jotta käyttäjä voi mitata kolmiulotteisen tilan. Sidomme mitat tietotaulukkoon myöhempää käyttöä varten.

  1. Valitse Lisää-välilehti ja laajenna Media.

  2. Valitse Mittaava kamera asettaaksesi ohjausobjektin sovelluksen näyttöön. Vedä ohjausobjekti lähelle näytön alareunaa.

  3. Muuta ohjausobjektin ominaisuuksia seuraavalla tavalla:

    Ominaisuuden nimi Arvo Missä
    Unit of measurement Feet tai Meters Valitse Ominaisuudet-välilehdestä
    Measurement type Volume Valitse Ominaisuudet-välilehdestä
    Box draw On Valitse Ominaisuudet-välilehdestä
    Items Table({label:"Test Volume"}) Syötä Edistynyt-välilehdessä
    ItemsLabels "label" Syötä Edistynyt-välilehdessä
    OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Test Volume")); Syötä Edistynyt-välilehdessä

Mittaava kamera -ohjausobjektin Items-, ItemsLabels- ja OnMixedRealitySelect-ominaisuuksien tulisi muistuttaa seuraavia esimerkkejä, kun olet valmis:

Näyttökuva rakenteilla olevasta Measure in 3D -ohjausobjektista Microsoft Power Apps Studiossa ja sen Items- ja ItemsLabels-ominaisuuksista.

Näyttökuva rakenteilla olevasta Measure in 3D -ohjausobjektista Microsoft Power Apps Studiossa ja sen OnMixedRealitySelect-ominaisuudesta.

Items-taulukossa oleva kaava tallentaa mitatun tilan mitat tietotaulukkoon nimeltään ”Test Volume”. OnRealitySelect-taulukossa oleva kaava määrittää ”testVolume”-nimisen muuttujan sisältämään ”Test Volume” -taulukkoon tallennetut arvot.

Tulosten näyttäminen

Lopuksi lisääämme tekstiselitteet, jotka näyttävät otetut mitat ja testin tulokset (eli mahtuuko objekti mitattuun tilaan).

  1. Valitse Lisää-välilehti. Lisää näytölle neljä Tekstiselite-ohjausobjektia.

  2. Muuta selitteiden ohjausobjektien Text-ominaisuutta seuraavalla tavalla. (Vihje: Kopioi kaavat ja liitä ne kaavariville tai ominaisuuksien Edistynyt-välilehteen, kumpaan haluatkaan).

    • Ensimmäinen selite:

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

      Tämä kaava määrittää selitetekstin sen mukaan, onnistuiko vai epäonnistuiko testi, riippuen mahdutettavalle objektille vaadituista vähimmäismitoista. Jos testiä ei suoritettu, koska mittauksia ei tallennettu tai koska ilmeni virhe, seliteteksti ilmoittaa siitä.

      Näyttökuva Tekstiselite-ohjausobjektista Microsoft Power Apps Studiossa ja sen Text-ominaisuudesta kaavarivillä ja ominaisuuksien Edistynyt-välilehdessä

    • Toinen selite:

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

      Tämä kaava määrittää selitetekstiksi ”Bounding Width:”, jota seuraa mitatun tilan leveyden mitta.

    • Kolmas selite:

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

      Tämä kaava määrittää selitetekstiksi ”Bounding Depth:”, jota seuraa mitatun tilan syvyyden mitta.

    • Neljäs selite:

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

      Tämä kaava määrittää selitetekstiksi ”Bounding Height:”, jota seuraa mitatun tilan korkeuden mitta.

Nyt sovelluksen näytön tulisi näyttää tältä:

Näyttökuva lopullisesta sovelluksen näytöstä.

Sovelluksen testaus

Valitse esikatselupainike suorittaaksesi sovelluksen esikatselutilassa. Valitse Measuring Camera täyttääksesi selitteet tiedoilla. Jos haluat tarkastaa, että selitteiden sidonnat toimivat, syötä tekstinsyöttökenttiin uudet arvot.

Näyttökuva sovelluksen näytöstä esikatselutilassa vähimmäismittojen syöttämisen jälkeen.

Bounding Width- ja Bounding Depth -arvot voidaan vaihtaa keskenään, kun suoritat testin.

Tallenna ja julkaise sovelluksesi. Avaa se yhdistetyn todellisuuden avulla varustetulla laitteella testataksesi, mahtuuko määritetyn mittojen objekti minkä tahansa siepatun mittauksen rajoille.

Tietolähteen suodatus

Luomamme sovellus testaa yhden joukon mittoja, jotka käyttäjä määrittää, kun sovellus suoritetaan. Voit kuitenkin laajentaa testaamaan mitä tahansa tietolähdettä käyttämällä kaavaa Suodatin-predikaattina.

Oletetaan esimerkiksi, että sovelluksemme sisältää viittauksen Products-nimiseen Dataverse-taulukkoon, joka sisältää kolme saraketta: Width, Depth, and Height (vastaavat kunkin tuotteen mittoja). Jos haluamme suodattaa kokoelman näyttämään vain mitat, jotka mahtuisivat mitattuun tilavuuteen, voimme käyttää seuraavaa kaavaa.

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

Katso myös

Huomautus

Voitko kertoa meille dokumentaatiota koskevan kielimäärityksesi? Vastaa lyhyeen kyselyyn. (Huomaa, että tämä kysely on englanninkielinen.)

Kyselyyn vastaaminen kestää noin seitsemän minuuttia. Henkilökohtaisia tietoja ei kerätä (tietosuojatiedot).