Modelos CAD y BIM
Convierte un modelo 3D arquitectónico o sintético en un mapa de AR Clip VPS. Úsalo para obras, navegación en interiores o gemelos digitales.
Preparar la geometría
- Importa el modelo CAD o BIM en Blender, Unity o una herramienta parecida.
- Fusiona los objetos instanciados y quita la geometría oculta o innecesaria.
- Reduce el número de polígonos, pero conserva los rasgos clave. Intenta no pasar de 5 millones de triángulos.
- Si quieres previsualizar el modelo, genera las UV y hornea (bake) texturas ligeras.
Planificar las anclas
[
{ "name": "lobby", "position": [0.0, 0.0, 0.0] },
{ "name": "elevator_north", "position": [12.4, 0.0, 28.9] }
]
- Las coordenadas van en metros, medidas desde el origen del modelo.
- Usa nombres estables, como
lobbyoloading_dock, para que tu código del SDK pueda usarlos directamente.
Subir con 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']}")
- Puedes incluir las anclas en la primera petición o añadirlas después con
POST /maps/{id}/anchors. - Si el modelo está georreferenciado, añade
coordinate({"lat": ..., "lon": ..., "alt": ...}).
Comprobar el mapa
- Previsualiza el mapa en arclip.design y ajusta los desplazamientos de las anclas si hace falta.
- Prueba la localización con el SDK para Unity. Alinea los objetos virtuales con los mismos ID de ancla.
- Cuando cambie el modelo CAD, vuelve a importarlo. Llama a
POST /maps/{id}/updateen lugar de crear un mapa nuevo, y elmapIdse mantiene.