Testați dacă un obiect se va potrivi într-un spațiu folosind realitatea mixtă

Puteți folosi comanda Cameră de măsurare pentru a determina dacă un obiect de o dimensiune cunoscută se va potrivi într-un anumit spațiu. În acest articol, vom crea o aplicație proiectată pe pânză pentru a face exact asta.

Sfat

Comenzile de realitate mixtă (RM) funcționează cel mai bine în medii bine iluminate, cu suprafețe cu textură plană. Urmărirea este mai bună pe dispozitivele compatibile cu LIDAR.

Adăugați câmpuri de introducere a dimensiunilor minime într-o aplicație proiectată pe pânză

Mai întâi, vom crea o aplicație proiectată pe pânză goală. Apoi vom adăuga o modalitate prin care utilizatorul poate introduce dimensiunile minime pe care să le testeze (adică cel mai mic spațiu care va conține obiectul pe care vrem să-l potrivim).

  1. Creați o aplicație proiectată pe pânză goală.

  2. Selectați fila Inserați și plasați trei comenzi Etichetă text pe ecran.

  3. Schimbați proprietatea etichetelor Text la Lățime minimă, Adâncime minimă, și respectiv Înălțime minimă.

    O captură de ecran a etichetei text în construcție în Microsoft Power Apps Studio, afișată alături de proprietățile sale.

  4. Selectați fila Introduceți. Introduceți trei comenzi Introducere text și plasați-le în dreapta celor trei etichete.

  5. Redenumiți comenzile de introducere a textului la minWidth, minDepth, și respectiv minHeight.

    O captură de ecran a comenzii de introducere text în construcție în Microsoft Power Apps Studio, afișată alături de proprietățile sale.

  6. Selectați toate cele trei comenzi de introducere text. Schimbați proprietatea grupului Format la Număr și setați proprietatea Mod implicit 1.0.

    O captură de ecran a celor trei comenzi de introducere text în construcție în Microsoft Power Apps Studio, afișate alături de proprietățile grupului selectat.

Adăugați și legați comanda Cameră de măsurare

În continuare, vom adăuga comanda Cameră de măsurare pentru a permite utilizatorului să măsoare un spațiu tridimensional. Vom lega măsurătorile la un tabel de date pentru utilizare ulterioară.

  1. Selectați fila Inserați și extindeți Media.

  2. Selectați Cameră de măsurare și plasați comanda pe ecranul aplicației. Trageți comanda aproape de partea de jos a ecranului.

  3. Modificați proprietățile comenzii după cum urmează:

    Numele proprietății Valoare Unde
    Unitate de măsură Picioare sau Metri Selectați în fila Proprietăți
    Tip măsurare Volum Selectați în fila Proprietăți
    Desen casetă Activată Selectați în fila Proprietăți
    Elemente Tabel({etichetă: „Testare volum”}) Introduceți în fila Avansat
    ItemsLabels „etichetă” Introduceți în fila Avansat
    OnMixedRealitySelect Setați(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Test Volume")); Introduceți în fila Avansat

Proprietățile Articole, ItemsLabels, și OnMixedRealitySelect din comanda Cameră de măsurare ar trebui să arate ca următoarele exemple când ați terminat:

O captură de ecran a comenzii Măsurare 3D în construcție în Microsoft Power Apps Studio, afișată alături de proprietățile sale Articole și EticheteArticole.

O captură de ecran a comenzii Măsurare 3D în construcție în Microsoft Power Apps Studio, afișată alături de proprietatea sa OnMixedRealitySelect.

Formula din Articole surprinde dimensiunile spațiului măsurat într-un tabel de date numit „Testare volum”. Formula din OnMixedRealitySelect setează o variabilă numită „testVolume” la valorile capturate în tabelul „Testare volum”.

Afișează rezultatele

În cele din urmă, vom adăuga etichete text pentru a afișa măsurătorile care au fost efectuate și rezultatul testului (adică dacă obiectul se va potrivi în spațiul măsurat).

  1. Selectați fila Inserați. Inserați și plasați patru comenzi Etichetă text pe ecran.

  2. Modificați proprietatea Text a comenzilor de etichetă după cum urmează. (Sfat: copiați fiecare formulă și lipiți-o în bara de formule sau pe fila de proprietăți Avansat, oricare doriți.)

    • Prima etichetă:

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

      Această formulă setează textul etichetei în funcție de faptul că testul a reușit sau a eșuat, în baza dimensiunilor minime necesare pentru a conține obiectul pe care vrem să-l potrivim. Dacă testul nu a rulat, fie pentru că nu au fost capturate măsurători sau pentru că a apărut o eroare, textul etichetei reflectă acest lucru.

      O captură de ecran a unei comenzi etichetă de text în construcție în Microsoft Power Apps Studio, afișată cu proprietatea sa Text în bara de formule și fila de proprietăți avansate.

    • A doua etichetă:

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

      Această formulă setează textul etichetei la „Lățime limită:” urmat de dimensiunea lățimii spațiului măsurat.

    • A treia etichetă:

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

      Această formulă setează textul etichetei la „Adâncime limită:” urmat de dimensiunea adâncimii spațiului măsurat.

    • A patra etichetă:

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

      Această formulă setează textul etichetei la „Înălțime limită:” urmat de dimensiunea înălțimii spațiului măsurat.

Ecranul aplicației ar trebuie să arate astfel:

O captură de ecran a ecranului final al aplicației.

Testați aplicația

Selectați butonul de previzualizare pentru a rula aplicația în modul versiune preliminară. Selectați Cameră de măsurare pentru a completa etichetele cu date. Pentru a verifica dacă legăturile etichetelor funcționează, introduceți noi valori în câmpurile de introducere a textului.

O captură de ecran a ecranului aplicației în modul versiune preliminară după ce au fost introduse noi dimensiuni minime.

Valorile pentru Lățimea limită și Adâncimea limită pot fi schimbate atunci când efectuați testul.

Salvați și Publicați aplicația dvs. Deschideți-l pe un dispozitiv compatibil cu realitatea mixtă pentru a testa dacă un obiect cu dimensiunile specificate se va încadra în limitele oricărei măsurători capturate.

Filtrarea unei surse de date

Aplicația pe care am creat-o testează un singur set de dimensiuni care sunt specificate de utilizator atunci când aplicația rulează. Cu toate acestea, îl puteți extinde pentru a testa orice sursă de date aplicând formula ca predicat Filtru.

De exemplu, să presupunem că aplicația noastră conține o referință la un tabel Dataverse numit Produse care include trei coloane: Lăţime, Adâncime, și Înălţime (corespunzător dimensiunilor fiecărui produs). Pentru a filtra colecția pentru a afișa numai măsurătorile care s-ar încadra într-un volum măsurat, putem aplica următoarea formulă.

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

Consultați și

Notă

Ne puteți spune care preferințele dvs. lingvistice pentru documentație? Răspundeți la un chestionar scurt. (rețineți că acest chestionar este în limba engleză)

Chestionarul va dura aproximativ șapte minute. Nu sunt colectate date personale (angajament de respectare a confidențialității).