Compartir a través de


Probar si un objeto cabrá en un espacio utilizando la realidad mixta

Puede usar el control Cámara de medición para determinar si un objeto de un tamaño conocido cabe en un espacio particular. En este artículo, crearemos una aplicación de lienzo para hacer precisamente eso.

Sugerencia

Los controles mixed reality (MR) funcionan mejor en entornos bien iluminados con superficies de textura plana. El seguimiento es mejor en dispositivos habilitados para LIDAR.

Agregar campos de entrada de dimensiones mínimas a una aplicación de lienzo

En primer lugar, creaaremos una aplicación de lienzo en blanco. Luego agregaremos una forma de que el usuario introduzca las dimensiones mínimas de la prueba (es decir, el espacio más pequeño que contendrá el objeto que queremos que quepa).

  1. Crear una aplicación de lienzo en blanco.

  2. Seleccione la pestaña Insertar e inserte tres controles Etiqueta de texto en la pantalla.

  3. Cambie la propiedad Text de las etiquetas a Minimum Width, Minimum Depth, y Minimum Height respectivamente.

    Una captura de pantalla de una etiqueta de texto en construcción en Microsoft Power Apps Studio, que se muestra junto a sus propiedades.

  4. Seleccione la pestaña Insertar, inserte tres controles Entrada de texto y colóquelos a la derecha de las tres etiquetas.

  5. Cambie el nombre de los controles Entrada de texto a minWidth, minDepth, y minHeight, respectivamente.

    Una captura de pantalla de un control Entrada de texto en construcción en Microsoft Power Apps Studio, que se muestra junto a sus propiedades.

  6. Seleccione los tres controles Entrada de texto. Cambie la propiedad Format del grupo a Número y establezca la propiedad Default en 1,0.

    Una captura de pantalla de tres controles Entrada de texto en construcción en Microsoft Power Apps Studio, que se muestra junto a las propiedades del grupo seleccionado.

Agregar y vincular el control Cámara de medición

A continuación, agregaremos el control Cámara de medición para permitir al usuario medir un espacio tridimensional. Vincularemos las medidas a una tabla de datos para su uso posterior.

  1. Seleccione la pestaña Insertar y expanda Medios.

  2. Seleccione Cámara de medición para colocar el control en la pantalla de la aplicación. Arrastre el control cerca de la parte inferior de la pantalla.

  3. Cambie las propiedades del control como se indica a continuación:

    Nombre de la propiedad Valor Donde
    Unit of measurement Pies o metros Seleccionar en la pestaña Propiedades
    Measurement type Volumen Seleccionar en la pestaña Propiedades
    Box draw Activado Seleccionar en la pestaña Propiedades
    Items Tabla({label:"Test Volume"}) Introducir en la pestaña Avanzadas
    ItemsLabels etiqueta Introducir en la pestaña Avanzadas
    OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Test Volume")); Introducir en la pestaña Avanzadas

Las propiedades Items, ItemsLabels y OnMixedRealitySelect del control Cámara de medición deben parecerse a los ejemplos siguientes cuando acabe:

Una captura de pantalla de un control Measure in 3D en construcción en Microsoft Power Apps Studio, que se muestra junto a sus propiedades Items y ItemsLabels.

Una captura de pantalla de un control Measure in 3D en construcción en Microsoft Power Apps Studio, que se muestra junto a su propiedad OnMixedRealitySelect.

La fórmula de Items captura las dimensiones del espacio medido en una tabla de datos denominada "Test Volume". La fórmula de OnMixedRealitySelect establece una variable denominada "testVolume" en los valores capturados en la tabla "Test Volume".

Mostrar los resultados

Finalmente, agregaremos etiquetas de texto para mostrar las medidas que se tomaron y el resultado de la prueba (es decir, si el objeto cabe en el espacio medido).

  1. Seleccione la pestaña Insertar e inserte cuatro controles Etiqueta de texto en la pantalla.

  2. Cambie la propiedad Text de los controles de etiqueta de la siguiente manera. (Sugerencia: copie cada fórmula y péguela en la barra de fórmulas o en la pestaña de propiedades Avanzadas, lo que prefiera).

    • Primera etiqueta:

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

      Esta fórmula establece el texto de la etiqueta según si la prueba tuvo éxito o no, en función de las dimensiones mínimas necesarias para sostener el objeto que queremos ajustar. Si la prueba no se ejecutó, ya sea porque no se capturaron mediciones o porque ocurrió un error, el texto de la etiqueta lo refleja.

      Una captura de pantalla de un control de etiqueta de texto en construcción en Microsoft Power Apps Studio, que se muestra con su propiedad Text en la barra de fórmulas y la pestaña de propiedades avanzadas.

    • Segunda etiqueta:

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

      Esta fórmula establece el texto de la etiqueta en "Bounding Width:" seguido de la dimensión del ancho del espacio medido.

    • Tercera etiqueta:

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

      Esta fórmula establece el texto de la etiqueta en "Bounding Depth:" seguido de la dimensión de la profundidad del espacio medido.

    • Cuarta etiqueta:

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

      Esta fórmula establece el texto de la etiqueta en "Bounding Height:" seguido de la dimensión de la altura del espacio medido.

La pantalla de la aplicación ahora debería tener este aspecto:

Captura de pantalla de la pantalla de aplicación final.

Probar la aplicación

Seleccione el botón de vista previa para ejecutar la aplicación en modo de vista previa. Seleccione Measuring camera para rellenar las etiquetas con datos. Para verificar que los enlaces de etiquetas funcionan, ingrese nuevos valores en los campos de text input.

Una captura de pantalla de la pantalla de la aplicación en modo de vista previa después de que se hayan ingresado nuevas dimensiones mínimas.

Los valores para Bounding Width y Bounding Depth se puede cambiar al realizar la prueba.

Guarde y publique su aplicación. Ábrala en un dispositivo habilitado para realidad mixta para probar si un objeto con las dimensiones especificadas encajará dentro de los límites de cualquier medida capturada.

Filtrado de un origen de datos

La aplicación que creamos prueba un único conjunto de dimensiones que el usuario especifica cuando se ejecuta la aplicación. Sin embargo, puede ampliarlo para probarlo con cualquier origen de datos aplicando la fórmula como un predicado Filtrar.

Por ejemplo, digamos que nuestra aplicación contiene una referencia a una tabla de Dataverse con el nombre Productos que incluye tres columnas: Ancho, Profundidad, y Altura (correspondientes a las dimensiones de cada producto). Para filtrar la colección para mostrar solo aquellas medidas que encajarían dentro de un volumen medido, podemos aplicar la siguiente fórmula.

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

Consulte también

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).