Marcador de incidencia sobre una instalación del modelo BIM, conectado con una vista de contexto y su ficha.

Autodesk pushpins: el nombre informal detrás de varias APIs

Una chincheta roja y tres coordenadas. Parece poca cosa para dedicarle una integración, hasta que el marcador aparece fuera del edificio y la captura señala con toda precisión el vacío. Podríamos cambiarle el color, que siempre es una intervención agradecida; yo investigaría primero qué contexto se ha perdido. «Pushpin» describe una forma de presentar el problema, no una API universal que garantice conservarlo. Vamos a separar posición, referencia del modelo y punto de vista antes de volver a culpar al icono.

Al hablar de Autodesk pushpins conviene distinguir el marcador que vemos, la incidencia que guardamos y el modelo o documento que le da contexto. Seguiremos un caso hipotético de una bandeja próxima a un conducto para explicar qué habría que conservar y comprobar. No es una receta de un endpoint universal ni una integración ejecutada: es una guía para definir el recorrido antes de elegir la API y el mecanismo de visualización del producto concreto.

Tabla de contenidos

Identificar qué recurso quieres crear y dónde debe vivir

La primera pregunta es qué necesita recuperar la persona que recibe el aviso. En nuestro caso, quiere abrir la incidencia, localizar la zona y entender por qué la bandeja y el conducto requieren una revisión. Necesita también saber qué entrega se estaba examinando y quién debe realizar la siguiente acción. El marcador ayuda a encontrar el lugar. El título, la descripción, el estado y la responsabilidad pertenecen al registro del problema. Una posición por sí sola no puede conservar todo ese acuerdo.

Los términos pushpin, marcador e incidencia pueden aparecer en ejemplos de productos y versiones diferentes. Un dibujo añadido por una extensión propia del visor puede parecerse al que muestra una plataforma y tener un ciclo de vida completamente distinto. Si el primero solo existe en memoria, desaparecerá al recargar salvo que la aplicación lo guarde. Si el segundo está asociado a un recurso persistente, hay reglas de lectura, actualización y acceso que respetar. La similitud visual es una orientación para el usuario; no define el contrato que debe implementar el desarrollador.

La documentación debe corresponder al recorrido elegido. El tutorial oficial de Issues de Autodesk advierte expresamente que su ejemplo no demuestra el trabajo con incidencias de documento, también llamadas pushpin o markup. La advertencia es útil: conseguir listar incidencias en una tabla no implica haber resuelto su posicionamiento en un modelo. Antes de adaptar un ejemplo habría que comprobar qué recurso maneja, qué campos admite y cómo recupera el contexto gráfico.

Para nuestra aplicación separaría la incidencia de su presentación. El sistema conservaría el problema y sus relaciones; el visor dibujaría el marcador y permitiría abrir ese registro. Así podríamos cambiar el aspecto o la tecnología visual sin perder comentarios e historia. También podríamos mostrar la misma incidencia en una lista cuando su posición no se resuelva. Una herramienta de coordinación necesita sobrevivir a la ausencia del icono, porque el problema del edificio no desaparece con la capa que lo representaba.

Guardar una posición que tenga un sistema de referencia

Un punto tridimensional necesita un espacio en el que interpretarse. Las coordenadas de pantalla dependen del tamaño de la ventana y del encuadre; no equivalen a una posición dentro del modelo. A su vez, el modelo puede utilizar unidades y transformaciones que la escena del visor adapta para presentarlo. En una federación, cada disciplina añade su referencia. Guardar únicamente tres números y llamarlos «posición» deja sin responder la parte que permitirá reconstruir su significado.

En nuestro ejemplo convendría identificar sobre qué modelo se situó la chincheta y qué transformación intervino al cargarlo. Si arquitectura e instalaciones se alinearon mediante una configuración concreta, el marcador debe reconstruirse de forma coherente con ella. No existe una corrección universal que consista en sumar o restar siempre el mismo desplazamiento. Hacerlo puede arreglar el archivo de prueba y descolocar el siguiente. Antes de transformar datos hay que saber de qué espacio vienen y a cuál deben llegar.

El tratamiento de la cámara ofrece un ejemplo documentado de esa precaución. Un artículo de Autodesk sobre el traslado de vistas a Navisworks, publicado en 2019, utiliza posición, objetivo, orientación y desplazamiento global para explicar la correspondencia. Sirve para entender el problema; su código histórico no sustituye la referencia vigente del SDK que vayamos a utilizar. El aprendizaje importante es que copiar números entre aplicaciones requiere interpretar las referencias de ambos lados.

La posición tampoco cuenta toda la historia visual. La bandeja puede quedar detrás de una pared y ser difícil de reconocer aunque el punto sea correcto. Una cámara, una selección y un estado de sección compatibles con el flujo pueden ayudar a reconstruir la vista. La captura sigue siendo un apoyo útil cuando alguna de esas capacidades no se transporta. Lo sensato es conservar lo que el contrato permite, explicar sus límites y ofrecer una forma de orientarse si la reconstrucción es parcial.

Para comprobarlo, prepararía casos con origen desplazado, una disciplina transformada y una vista desde la que un elemento oculte a otro. Crearía el marcador y volvería a abrirlo, también después de recargar. Si el recorrido incluye planos 2D, tendría su prueba separada con la hoja y el contexto correspondientes. Una chincheta sobre una hoja no adquiere profundidad por compartir icono con la que aparece en 3D. El criterio es reproducir el lugar necesario para entender el problema, sin inventar precisión donde el flujo no la conserva.

Relacionar objetos y versiones sin borrar el pasado

La incidencia puede necesitar referencias a los elementos implicados, además de una ubicación. Si la coordinadora selecciona la bandeja y el conducto, guardar su relación con el modelo ayuda a consultar propiedades o aislarlos después. Pero hay que conocer qué identificador devuelve el visor y en qué ámbito es válido. Un número interno útil dentro de una representación no debe tratarse automáticamente como una identidad que sobrevivirá a nuevas conversiones y entregas.

La documentación de preparación de modelos de Model Derivative explica la relación con identificadores externos preservados desde el origen en los formatos compatibles. Esa referencia puede ser útil para construir correspondencias, pero la aplicación necesita comprobar su uso concreto. Si alguien elimina y recrea un elemento, puede haberse roto la continuidad que esperábamos. Una geometría casi idéntica no garantiza que conservemos el mismo objeto ni la misma relación con la incidencia.

Guardaría de forma explícita la versión sobre la que se creó el comentario. Al abrir la incidencia, la persona debería saber si está investigando esa entrega o verificando otra posterior. Las dos acciones tienen sentido. Sustituir silenciosamente la referencia por «la última» elimina precisamente el contexto que permite entender por qué alguien escribió el aviso. Es una forma muy eficaz de que el historial siga existiendo y deje de explicar lo ocurrido.

Supongamos que instalaciones cambia el trazado y la bandeja se sustituye. La nueva revisión podría localizar el conducto original y no resolver la referencia de la bandeja. La interfaz tendría que mostrarlo, mantener el comentario histórico y permitir una comprobación o reasociación consciente. Una coincidencia por proximidad puede ayudar a proponer candidatos, pero no debería convertirse sin más en identidad confirmada. Estamos intentando recuperar una decisión del proyecto, no ganar una competición de puntos cercanos.

Esta distinción afecta al cierre. La incidencia debería registrar sobre qué entrega se comprobó la solución y qué permitió considerarla atendida. La ausencia del marcador en la escena actual podría deberse a un filtro, una referencia sin resolver o un fallo de carga. Ninguna de esas causas demuestra una corrección técnica. Mantener separados el estado del registro y el de su representación evita que un problema de visualización se convierta accidentalmente en una aprobación.

Crear y actualizar incidencias sin multiplicar el ruido

La creación manual y la automática necesitan los datos y permisos que exija la plataforma elegida. La interfaz puede guiar a la persona para que seleccione contexto y escriba una descripción comprensible. Una integración puede reunir datos de una detección y preparar una propuesta. En ambos casos conviene validar el recurso, el proyecto y la acción con la identidad correspondiente. Poder ver el modelo no implica necesariamente poder crear una incidencia, cambiar su responsable o cerrar cualquier registro.

La aplicación también necesita distinguir propuesta y guardado confirmado. Si la petición falla, el usuario debería conservar su trabajo cuando sea posible y entender qué falta por completar. Mostrar inmediatamente un marcador como si la incidencia ya existiese puede inducir a cerrar la ventana antes de que se haya registrado. Se puede ofrecer una respuesta visual rápida, pero el estado pendiente debe ser reconocible. Un icono muy seguro de sí mismo no constituye una confirmación del servidor.

En procesos automáticos, repetir una ejecución no debería llenar la misma zona de incidencias equivalentes. Conviene definir una referencia de la detección que permita recuperar el registro ya creado cuando se repite exactamente el trabajo previsto. Para resultados similares, puede proponerse una agrupación por modelos, elementos, regla y entorno, con revisión cuando haya ambigüedad. Dos personas pueden señalar la misma causa desde posiciones distintas; dos causas distintas también pueden estar muy cerca. La comparación exacta de coordenadas no resuelve ninguna de esas decisiones por sí sola.

Si varias aplicaciones actualizan las incidencias, hay que fijar quién tiene autoridad sobre cada dato y cómo se detectan cambios concurrentes. Antes de sobrescribir una descripción, el sistema debería conocer si otra persona la ha modificado desde que se leyó, utilizando los mecanismos admitidos por ese contrato. También conviene explicar qué estado está confirmado y cuál espera sincronización. La colaboración necesita algo más cuidadoso que «el último que escribe gana», sobre todo cuando el perdedor había documentado la decisión de la reunión.

La integración debe poder recuperar el contexto tras una interrupción y comprobar el resultado cuando una respuesta sea incierta. Una llamada agotada no demuestra que el servidor no haya guardado nada. Antes de reintentar una creación conviene utilizar el mecanismo de recuperación o prevención de duplicados que admita el diseño. Este trabajo pertenece al recorrido de la aplicación, aunque el usuario solo vea aparecer una chincheta. La sencillez de la interfaz suele requerir bastante disciplina detrás.

Comprobar el recorrido y saber cuándo prescindir del marcador

Una prueba útil recorre creación, guardado, recarga y reapertura con una persona autorizada. Después comprueba una entrega nueva y un caso donde el objeto original ya no existe. Si el uso requiere mover contexto entre herramientas, hay que comprobar el destino real, con las versiones y modelos previstos. Las capturas pueden documentar la posición observada, pero no sustituyen la comprobación de persistencia ni la de permisos. Aquí se propone ese conjunto de pruebas; no se afirma haberlo ejecutado para una aplicación concreta.

Los fallos deberían dejar una explicación útil. Si no se resuelve la selección, quizá todavía podamos abrir la versión de origen y presentar la captura y la descripción. Si el usuario ha perdido acceso al modelo, no se debe entregar su contenido solo para que el marcador aparezca. Si falta el archivo, interesa distinguirlo de un error en la posición. Mantener estos estados separados permite investigar sin pedir a la persona que deduzca la arquitectura a partir de una pantalla vacía.

También hay incidencias que no necesitan una posición única. Una decisión sobre el conjunto de una entrega o un requisito documental pueden estar mejor representados mediante una lista y una relación con el paquete. Obligar a elegir un punto arbitrario aporta una precisión visual que no existe en el problema. El visor es útil cuando la ubicación ayuda a comprender y decidir; no tiene que convertirse en el formulario obligatorio para cualquier conversación del proyecto.

Prueba el marcador en la revisión y el producto de destino antes de dar por terminado el intercambio. La posición, la versión y el contexto deben seguir contando la misma historia. Si otra persona necesita buscar el problema desde cero, la chincheta habrá viajado; la incidencia no tanto. ¿Qué referencia se pierde antes en vuestro recorrido entre aplicaciones?

Artículos relacionados

Respuestas

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *