Перейти к основному содержимому

Модели CAD и BIM

Превратите архитектурную или синтетическую 3D-модель в карту AR Clip VPS. Это пригодится для строительства, навигации в помещениях и цифровых двойников.

Подготовка геометрии​

  1. Импортируйте CAD- или BIM-модель в Blender, Unity или похожую программу.
  2. Схлопните инстансы и удалите скрытую и ненужную геометрию.
  3. Уменьшите число полигонов, но сохраните ключевые детали. Ориентируйтесь на 5 миллионов треугольников или меньше.
  4. Если хотите посмотреть модель заранее, создайте UV-развёртку и запеките лёгкие текстуры.

Якоря​

[
{ "name": "lobby", "position": [0.0, 0.0, 0.0] },
{ "name": "elevator_north", "position": [12.4, 0.0, 28.9] }
]
  • Координаты задаются в метрах от начала координат модели.
  • Давайте якорям постоянные имена, например lobby или loading_dock, чтобы код с SDK мог обращаться к ним напрямую.

Загрузка через 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']}")
  • Якоря можно передать в первом запросе или добавить позже через POST /maps/{id}/anchors.
  • Если модель привязана к географическим координатам, добавьте coordinate ({"lat": ..., "lon": ..., "alt": ...}).

Проверка карты​

  • Посмотрите карту на arclip.design и, если нужно, поправьте смещения якорей.
  • Проверьте локализацию с Unity SDK. Выравнивайте виртуальные объекты по тем же ID якорей.
  • Когда CAD-модель меняется, импортируйте её снова. Вызовите POST /maps/{id}/update вместо создания новой карты — тогда mapId останется прежним.