Saltar al contenido principal

CAD / BIM / activos sintéticos

Convierte activos arquitectónicos o sintéticos en mapas AR Clip VPS para obra, navegación en interiores o escenarios de gemelo digital.

Preparación de la geometría

  1. Importa el modelo CAD/BIM en Blender, Unity o herramientas similares.
  2. Colapsa los objetos instanciados y elimina la geometría oculta o irrelevante.
  3. Reduce el número de polígonos conservando los elementos clave (apunta a ≤5 millones de triángulos).
  4. Genera UV y hornea texturas ligeras si piensas previsualizar el modelo.

Planificación de anclajes

[
{ "name": "lobby", "position": [0.0, 0.0, 0.0] },
{ "name": "elevator_north", "position": [12.4, 0.0, 28.9] }
]
  • Las coordenadas se expresan en metros respecto al origen del modelo.
  • Usa identificadores estables (lobby, loading_dock) para que el código del SDK pueda consumirlos directamente.

Subida con la API REST de Python

# upload_cad.py
from pathlib import Path
import json
import os
import requests

API_BASE = "https://api.arclip.app/vps/api/v3"
TOKEN = os.environ["ARCLIP_TOKEN"]
MODEL = Path("exports/mall.glb")
ANCHORS = Path("exports/anchors.json")

headers = {"Authorization": f"Bearer {TOKEN}"}

payload = {
"name": "Mall Digital Twin",
"dataType": "mesh",
"sourceFormat": "glb",
"anchors": json.loads(ANCHORS.read_text()),
"publish": False
}

init = requests.post(f"{API_BASE}/maps/import", json=payload, headers=headers)
init.raise_for_status()
info = init.json()
map_id, upload_url = info["mapId"], info["uploadUrl"]

with MODEL.open("rb") as src:
put = requests.put(upload_url, data=src, headers={"Content-Type": "model/gltf-binary"})
put.raise_for_status()

finalize = requests.post(f"{API_BASE}/maps/{map_id}/finalize", json={}, headers=headers)
finalize.raise_for_status()
print(f"CAD map {map_id} queued → {finalize.json()['status']}")
  • Los anclajes pueden ir incrustados en la carga inicial; como alternativa, llama después a POST /maps/{id}/anchors.
  • Añade coordinate si el modelo está georreferenciado ({"lat": ..., "lon": ..., "alt": ...}).

Validación

  • Previsualiza el mapa en arclip.design y ajusta los desplazamientos de los anclajes si hace falta.
  • Prueba la localización con el SDK de Unity; alinea los objetos virtuales usando los mismos identificadores de anclaje.
  • Cuando cambie el modelo CAD, vuelve a lanzar la importación. El mapId se mantiene estable si llamas a POST /maps/{id}/update en lugar de crear un mapa nuevo.