Testa om ett objekt får plats i ett blanksteg med mixad verklighet
Med kontrollen Mätkamera kan du avgöra om ett objekt med en känd storlek får plats i ett visst utrymme. I den här artikeln skapar vi en arbetsyteapp för att göra just detta.
Tips
Kontrollerna för mixed reality (MR) fungerar bäst i välbelysta miljöer med strukturerade ytor. Spårning är bättre på LIDAR-aktiverade enheter.
Lägga till minimifält för måttindata i en arbetsyteapp
Först skapar vi en tom arbetsyteapp. Sedan ska vi lägga till ett sätt för användaren att ange de minimimått som ska testas mot (det vill säga det minsta utrymmet som ska innehålla det objekt som vi vill passa).
Välj fliken Infoga och infoga tre kontroller Textetikett på skärmen.
Ändra egenskap Text för etiketter till Minimibredd, Minimidjup och Minimihöjd.
Välj fliken Infoga, infoga tre kontroller för Textinmatning och placera dem till höger om de tre etiketterna.
Byt namn på Textinmatning-kontrollerna till minWidth, minDepth och minHeight.
Markera alla tre Textinmatning-kontrollerna. Ändra gruppens Format egenskap till Nummer och egenskap Default till 1.0.
Lägg till och bind kontrollen Mätkamera
Nu lägger vi till kontrollen Mätkamera så att användaren kan mäta ett tredimensionellt utrymme. Måtten binds till en datatabell för senare användning.
Välj fliken Infoga och expandera Media.
Välj Mätkamera om du vill placera kontrollen på appskärmen. Dra kontrollen nära botten av skärmen.
Ändra kontrollens egenskaper enligt följande:
Egenskapsnamn Värde Där Unit of measurement Feet or Meters På fliken egenskaper. Measurement type Volume På fliken egenskaper. Rita ruta På På fliken egenskaper. Items Table({label:"Test Volume"}) Ange på fliken Avancerat ItemsLabels "etikett" Ange på fliken Avancerat OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Test Volume")); Ange på fliken Avancerat
Egenskaperna Items, ItemsLabels och OnMixedRealitySelect i kontrollen Mätkamera ser ut som följande exempel när du är klar:
Formeln i Items fångar måtten på det uppmätta utrymmet i en datatabell med namnet "Testvolym". Formeln i OnMixedRealitySelect ställer in en variabel med namnet "testVolume" till de värden som finns i tabellen "Testvolym".
Visa resultat
Slutligen lägger vi till textetiketter för att visa måtten som tagits och resultatet av testet (d.v.s. om objektet får plats i det mätta utrymmet).
Välj fliken Infoga och infoga fyra kontroller Textetikett på skärmen.
Ändra egenskapen Text för etikettkontrollerna enligt följande. (Tips: Kopiera varje formel och klistra in den i formelfältet eller i fliken avancerade egenskaper, beroende på vad du föredrar.)
Första etiketten:
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"))
Med den här formeln anges etiketttexten efter om testet lyckades eller misslyckades, baserat på de minimimått som krävs för att hålla kvar det objekt som ska passas in. Om testet inte har körts, antingen för att inga mått tagits med eller på grund av ett fel, återspeglar etikettexten detta.
Andra etiketten:
Concatenate("Bounding Width: ", Text(testVolume.BoundingWidth))
Med den här formeln anges etikettexten som "Avgränsande bredd:" följt av bredden på det mätta utrymmet.
Tredje etiketten:
Concatenate("Bounding Depth: ", Text(testVolume.BoundingDepth))
Med den här formeln anges etikettexten som "Avgränsande djup:" följt av djup på det mätta utrymmet.
Fjärde etiketten:
Concatenate("Bounding Height: ", Text(testVolume.Height))
Med den här formeln anges etikettexten som "Avgränsande höjd:" följt av höjd på det mätta utrymmet.
Appens skärm bör nu se ut så här:
Testa appen
Välj förhandsgranskningsknappen om du vill köra appen i förhandsgranskningsläge. Och välj sedan Measuring Camera för att fylla i etiketterna med data. Kontrollera att etikettbanden fungerar genom att ange nya värden i textinmatningsfälten.
Värdena för Avgränsande bredd och Avgränsande djup kan bytas när du utför testet.
Spara och publicera din app. Öppna den på en enhet som är kompatibel med mixad verklighet för att testa om ett objekt med de angivna dimensionerna passar inom avgränsningarna för ett insamlat mått.
Filtrera en datakälla
Appen som vi skapade testar en enskild uppsättning mått som anges av användaren när appen körs. Du kan dock utöka den för att testa mot datakälla genom att använda formeln som ett Filter.
Låt säga att appen innehåller en referens till en Dataverse-tabell med namnet Produkter som innehåller tre kolumner Bredd, Djup och Höjd (motsvarande varje produkts dimensioner). Om du vill filtrera samlingen på endast de mått som passar inom en mätt volym kan vi använda följande formel.
If(IsBlankOrError(testVolume), Products,
Filter(Products, testVolume.Height >= Height &&
((testVolume.BoundingWidth >= Width && testVolume.BoundingDepth >= Depth) ||
(testVolume.BoundingWidth >= Depth && testVolume.BoundingDepth >= Width))))
Se även
Anteckning
Kan du berätta om dina inställningar för dokumentationsspråk? Svara i en kort undersökning. (observera att undersökningen är på engelska)
Undersökningen tar ungefär sju minuter. Inga personuppgifter samlas in (sekretesspolicy).