Verificare se un oggetto si adatta a uno spazio utilizzando la realtà mista
Puoi usare il controllo Misurazione fotocamera per determinare se un oggetto di una dimensione nota si adatta a uno spazio particolare. In questo articolo creeremo un'app canvas per fare proprio questo.
Suggerimento
I controlli di realtà mista funzionano meglio in ambienti ben illuminati con superfici lisce. Il monitoraggio è migliore sui dispositivi abilitati LIDAR.
Aggiungere i campi di input delle dimensioni minime a un'app canvas
Prima di tutto, creiamo un'app canvas da modello vuoto. Quindi aggiungeremo un modo per consentire all'utente di inserire le dimensioni minime con cui eseguire il test (ovvero lo spazio più piccolo che conterrà l'oggetto che vogliamo adattare).
Seleziona la scheda Inserisci e inserisci tre controlli Etichetta testo sullo schermo.
Cambia la proprietà Text delle etichette su Larghezza minima, Profondità minima, e Altezza minima, rispettivamente.
Seleziona la scheda Inserisci, inserisci tre controlli Input di testo e posizionali accanto alle tre etichette.
Rinomina i controlli Input di testo in minWidth, minDepth, e minHeight, rispettivamente.
Seleziona tutti e tre i controlli Input di testo. Cambia la proprietà Format del gruppo su Numero e imposta la proprietà Default su 1,0.
Aggiungere e associare il controllo Misurazione fotocamera
Successivamente, aggiungeremo il controllo Misurazione fotocamera per consentire all'utente di misurare uno spazio tridimensionale. Assoceremo le misure a una tabella di dati per un uso successivo.
Seleziona la scheda Inserisci ed espandi File multimediali.
Seleziona Misurazione fotocamera per posizionare il controllo nella schermata dell'app. Trascina il controllo nella parte inferiore dello schermo.
Modifica le proprietà del controllo come segue:
Nome proprietà Valore Dove Unit of measurement Piedi o metri Seleziona nella scheda Proprietà Measurement type Volume Seleziona nella scheda Proprietà Box draw Attivato Seleziona nella scheda Proprietà Items Table({label:"Test Volume"}) Immetti nella scheda Avanzate ItemsLabels "etichetta" Immetti nella scheda Avanzate OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Test Volume")); Immetti nella scheda Avanzate
Le proprietà Items, ItemsLabels, e OnMixedRealitySelect del controllo Misurazione fotocamera dovrebbe apparire come i seguenti esempi quando hai finito:
La formula in Items acquisisce le dimensioni dello spazio misurato in una tabella di dati denominata "Test Volume". La formula in OnMixedRealitySelect imposta una variabile denominata "testVolume" sui valori acquisiti nella tabella "Test Volume".
Visualizzare i risultati
Infine, aggiungeremo etichette di testo per visualizzare le misure eseguite e il risultato del test (ovvero, se l'oggetto si adatterà allo spazio misurato).
Seleziona la scheda Inserisci e inserisci quattro controlli Etichetta testo sullo schermo.
Cambia la proprietà Text dei controlli Etichetta come segue. Suggerimento: copia ogni formula e incollala nella barra della formula o nella scheda delle proprietà Avanzate, a seconda di quale preferisci.
Prima etichetta:
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"))
Questa formula imposta il testo dell'etichetta a seconda che il test sia riuscito o meno, in base alle dimensioni minime richieste per contenere l'oggetto che vogliamo adattare. Se il test non è stato eseguito, perché non sono state acquisite misure o perché si è verificato un errore, il testo dell'etichetta lo riflette.
Seconda etichetta:
Concatenate("Bounding Width: ", Text(testVolume.BoundingWidth))
Questa formula imposta il testo dell'etichetta su "Bounding Width:" seguito dalla dimensione della larghezza dello spazio misurato.
Terza etichetta:
Concatenate("Bounding Depth: ", Text(testVolume.BoundingDepth))
Questa formula imposta il testo dell'etichetta su "Bounding Depth:" seguito dalla dimensione della profondità dello spazio misurato.
Quarta etichetta:
Concatenate("Bounding Height: ", Text(testVolume.Height))
Questa formula imposta il testo dell'etichetta su "Bounding Height:" seguito dalla dimensione dell'altezza dello spazio misurato.
La schermata dell'app avrà il seguente aspetto:
Eseguire il test dell'app
Seleziona il pulsante di anteprima per eseguire l'app in modalità di anteprima. Seleziona Misurazione fotocamera per popolare le etichette con i dati. Per verificare che le associazioni delle etichette funzionino, immetti nuovi valori nei campi di immissione del testo.
I valori per Bounding Width e Bounding Depth possono essere scambiati durante l'esecuzione del test.
Salva e pubblica l'app. Aprila su un dispositivo abilitato per la realtà mista per verificare se un oggetto con le dimensioni specificate rientrerà nei limiti di qualsiasi misura acquisita.
Filtro di un'origine dati
L'app che abbiamo creato verifica un singolo set di dimensioni specificate dall'utente durante l'esecuzione dell'app. Tuttavia, puoi estenderla per testarla con qualsiasi origine dati applicando la formula come predicato Filtro.
Ad esempio, supponiamo che la nostra app contenga un riferimento alla tabella di Dataverse denominata Prodotti che include tre colonne Larghezza, Profondità, e Altezza (corrispondente alle dimensioni di ciascun prodotto). Per filtrare la raccolta e visualizzare solo le misure che rientrerebbero in un volume misurato, possiamo applicare la seguente formula.
If(IsBlankOrError(testVolume), Products,
Filter(Products, testVolume.Height >= Height &&
((testVolume.BoundingWidth >= Width && testVolume.BoundingDepth >= Depth) ||
(testVolume.BoundingWidth >= Depth && testVolume.BoundingDepth >= Width))))
Vedi anche
Nota
Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)
Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).