Aller au contenu principal

CAO / BIM / assets synthétiques

Convertissez des assets architecturaux ou synthétiques en cartes AR Clip VPS pour la construction, la navigation en intérieur ou des scénarios de jumeau numérique.

Préparation de la géométrie

  1. Importez le modèle CAO/BIM dans Blender, Unity ou un outil similaire.
  2. Aplatissez les objets instanciés et retirez la géométrie cachée ou inutile.
  3. Réduisez le nombre de polygones en préservant les éléments clés (visez ≤5 millions de triangles).
  4. Générez les UV et cuisez des textures légères si vous comptez prévisualiser le modèle.

Planification des ancres

[
{ "name": "lobby", "position": [0.0, 0.0, 0.0] },
{ "name": "elevator_north", "position": [12.4, 0.0, 28.9] }
]
  • Les coordonnées sont exprimées en mètres par rapport à l'origine du modèle.
  • Utilisez des identifiants stables (lobby, loading_dock) pour que le code du SDK puisse les consommer directement.

Envoi avec l'API REST 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']}")
  • Les ancres peuvent être incluses dans la requête initiale ; sinon, appelez POST /maps/{id}/anchors ensuite.
  • Ajoutez coordinate si le modèle est géoréférencé ({"lat": ..., "lon": ..., "alt": ...}).

Validation

  • Prévisualisez la carte dans arclip.design et ajustez les décalages d'ancres si nécessaire.
  • Testez la localisation avec le SDK Unity ; alignez les objets virtuels sur les mêmes identifiants d'ancres.
  • Quand le modèle CAO change, relancez l'import. Le mapId reste stable si vous appelez POST /maps/{id}/update plutôt que de créer une nouvelle carte.