Testez si un objet s’intégrera dans un espace en utilisant la réalité mixte
Vous pouvez utiliser le contrôle Caméra de mesure pour déterminer si un objet d’une taille connue tiendra dans un espace particulier. Dans cet article, nous allons créer une application canevas pour faire exactement cela.
Conseil
Les contrôles Mixed-reality (MR) fonctionnent mieux dans des environnements bien éclairés avec des surfaces à texture plane. Le suivi est meilleur sur les appareils compatibles LIDAR.
Ajouter des champs de saisie de dimensions minimales à une application canevas
Tout d’abord, nous allons créer une application canevas vide. Ensuite, nous ajouterons un moyen pour l’utilisateur d’entrer les dimensions minimales à tester (c’est-à-dire le plus petit espace qui contiendra l’objet que nous voulons adapter).
Sélectionnez l’onglet Insérer. Insérez et placez trois contrôles Étiquette de texte sur l’écran.
Changer la propriété Text des Étiquettes sur Minimum Width, Minimum Depth et Minimum Height, respectivement.
Sélectionnez l’onglet Insérer. Insérez trois contrôles Saisie de texte et placez-les à droite des trois Étiquettes.
Renommez les contrôles Saisie de texte en minWidth, minDepth et minHeight, respectivement.
Sélectionnez les trois contrôles Saisie de texte. Changer la propriété Format du groupe à Number et définissez la propriété Default sur 1.0.
Ajouter et lier le contrôle Caméra de mesure
Ensuite, nous ajouterons le contrôle Caméra de mesure pour permettre à l’utilisateur de mesurer un espace en trois dimensions. Nous allons lier les mesures à une table de données pour une utilisation ultérieure.
Cliquez sur l’onglet Insérer et développez Médias.
Sélectionnez Caméra de mesure pour placer le contrôle dans l’écran de l’application. Déplacez le contrôle près du bas de l’écran.
Modifiez les propriétés du contrôle comme suit :
Nom de la propriété Valeur Où Unité de mesure Pieds ou mètres Sélectionnez sur l’onglet Propriétés Type de mesure Volume Sélectionnez sur l’onglet Propriétés Box draw On Sélectionnez sur l’onglet Propriétés Items Table({Étiquette:"Test Volume"}) Entrer sur l’onglet Avancé ItemsLabels "Étiquette" Entrer sur l’onglet Avancé OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Étiquette = "Test Volume")); Entrer sur l’onglet Avancé
Les propriétés Items, ItemsLabels et OnMixedRealitySelect du contrôle Caméra de mesure devrait ressembler aux exemples suivants lorsque vous avez terminé :
La formule dans Items capture les dimensions de l’espace mesuré dans un tableau de données nommé « Volume d’essai ». La formule dans OnMixedRealitySelect définit une variable nommée « testVolume » sur les valeurs capturées dans la table « Test Volume ».
Afficher les résultats
Enfin, nous ajouterons des Étiquettes de texte pour afficher les mesures qui ont été prises et le résultat du test (c’est-à-dire si l’objet tiendra dans l’espace mesuré).
Sélectionnez l’onglet Insérer. Insérez et placez quatre contrôles Étiquette de texte sur l’écran.
Changer la propriété Text des contrôles d’étiquette comme suit. (Astuce : Copiez chaque formule et collez-la dans la barre de formule ou sur l’onglet des propriétés Avancées, celui que vous préférez.)
Première Étiquette :
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"))
Cette formule définit le texte de l’étiquette selon que le test a réussi ou échoué, en fonction des dimensions minimales requises pour contenir l’objet que nous voulons adapter. Si le test n’a pas été exécuté, soit parce qu’aucune mesure n’a été capturée, soit parce qu’une erreur s’est produite, le texte de l’étiquette le reflète.
Deuxième Étiquette :
Concatenate("Bounding Width: ", Text(testVolume.BoundingWidth))
Cette formule définit le texte de l’étiquette sur « Bounding Width: » suivi de la largeur de l’espace mesuré.
Troisième Étiquette :
Concatenate("Bounding Depth: ", Text(testVolume.BoundingDepth))
Cette formule définit le texte de l’étiquette sur « Bounding Depth: » suivi de la profondeur de l’espace mesuré.
Quatrième Étiquette :
Concatenate("Bounding Height: ", Text(testVolume.Height))
Cette formule définit le texte de l’étiquette sur « Bounding Height: » suivi de la hauteur de l’espace mesuré.
L’écran de l’application devrait maintenant ressembler à ceci :
Tester l’application
Sélectionnez le bouton d’aperçu pour exécuter l’application en mode aperçu. Sélectionnez Caméra de mesure pour remplir les Étiquettes avec des données. Pour vérifier que les liaisons d’Étiquettes fonctionnent, entrez de nouvelles valeurs dans les champs Saisie de texte.
Les valeurs pour Bounding Width and Bounding Depth peuvent être échangées lors de l’exécution du test.
Enregistrer et publier votre application. Ouvrez-la sur un appareil compatible avec la réalité mixte pour tester si un objet avec les dimensions spécifiées s’adaptera aux limites de toute mesure capturée.
Filtrage d’une source de données
L’application que nous avons créée teste un ensemble unique de dimensions qui sont spécifiées par l’utilisateur lors de l’exécution de l’application. Cependant, vous pouvez l’étendre pour tester à nouveau n’importe quel source de données en appliquant la formule en tant que prédicat Filtre.
Par exemple, disons que notre application contient une référence à une table Dataverse nommée Produits qui comprend trois colonnes : Largeur, Profondeur et Hauteur (correspondant aux dimensions de chaque produit). Pour filtrer la collection et afficher uniquement les mesures qui correspondent à un volume mesuré, nous pouvons appliquer la formule suivante.
If(IsBlankOrError(testVolume), Products,
Filter(Products, testVolume.Height >= Height &&
((testVolume.BoundingWidth >= Width && testVolume.BoundingDepth >= Depth) ||
(testVolume.BoundingWidth >= Depth && testVolume.BoundingDepth >= Width))))
Voir aussi
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).