Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

392
Vistas
Autodesk Forge Viewer: categoryFilter para getBulkProperties2 no funciona en absoluto

Tengo una extensión de la barra de herramientas de Autodesk Forge Viewer para la que intento recuperar una lista filtrada de elementos del modelo actual. Estoy tratando de usar getBulkProperties2 para esto, ya que incluye específicamente categoryFilter en el objeto de opciones, lo que (hipotéticamente, al menos) me evitaría tener que extraer todo y filtrar manualmente.

Envolví la llamada a getBulkProperties2 en una promesa para que sea más fácil de manejar:

 function getBulkProperties(model, dbIds, options) { return new Promise(function (resolve, reject) { model.getBulkProperties2(dbIds, options, resolve, reject); }); }

A partir de ahí, realizo una llamada a esta función una vez que el modelo se ha cargado correctamente agregando un detector de eventos e incluyéndolo en la devolución de llamada:

 viewer.addEventListener(Autodesk.Viewing.OBJECT_TREE_CREATED_EVENT, async function (e) { var props = await getBulkProperties(viewer.model, AllDbIds, { categoryFilter: ["Revit Rooms"] }); });

Desafortunadamente, con la opción categoryFilter configurada de esta manera, el resultado siempre es una matriz vacía. He probado varias configuraciones diferentes de esto pero el resultado es siempre el mismo.

Si realizo la misma solicitud omitiendo la opción categoryFilter y filtro la lista manualmente en la consola del navegador, puedo ver que los elementos que estoy buscando existen, exactamente en la configuración que estoy buscando:

 › props.filter(p => p.properties.some(v => v.displayName == 'Category' && v.displayValue == 'Revit Rooms')).length ‹ 113

¿Significa esto que el filtro de categoryFilter simplemente no funciona? ¿O de alguna manera no lo estoy usando correctamente?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Tenga en cuenta que categoryFilter se refiere a categorías de propiedades (por ejemplo, "Datos de identidad"), no a categorías de Revit (como las "Habitaciones de Revit" en su ejemplo).

https://imgur.com/a/5ipSnMc

Si solo desea obtener las propiedades de "Revit Rooms", probablemente podría intentar encontrar el objeto "Rooms" en el navegador modelo, encontrar los dbID de todos sus elementos secundarios y luego pasar esos dbID al método getBulkProperties2 .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda