Zum Hauptinhalt springen

LiDAR-Scans

Wandeln Sie Punktwolken aus stationären oder handgeführten LiDAR-Scannern in eine Karte für AR Clip VPS um. Das funktioniert mit Scannern wie Leica, FARO, Trimble und BLK2GO.

Die Scans vorbereiten​

  1. Bereinigen Sie die Rohscans. Entfernen Sie Stativ-Artefakte, Mehrfachechos und bewegte Objekte in Cyclone, ReCap, CloudCompare oder einem ähnlichen Programm.
  2. Registrieren Sie die Standpunkte. Richten Sie die einzelnen Scans über Zielmarken oder einen Cloud-to-Cloud-Abgleich aneinander aus.
  3. Fügen Sie Farbe hinzu. Legen Sie Fototexturen auf, falls Sie welche haben. Wenn nicht, bilden Sie die LiDAR-Intensität auf Graustufen ab.

Exportieren​

  • Erstellen Sie für die visuelle Vorschau ein vereinfachtes Mesh mit bis zu 5 Millionen Dreiecken.
  • Exportieren Sie die Punktwolke als E57, LAZ oder PLY.
  • Nutzen Sie durchgehend ein einziges Koordinatensystem: in Innenräumen eine lokale Tangentialebene, im Freien ein georeferenziertes KBS.

Mit Python hochladen​

# upload_lidar.py
from pathlib import Path
import os
import requests

API_BASE = "https://api.arclip.app/vps/api/v3"
TOKEN = os.environ["ARCLIP_TOKEN"]
DATA_PATH = Path("outputs/plant.e57")

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

payload = {
"name": "Factory Floor",
"dataType": "point_cloud",
"sourceFormat": "e57",
"hybrid": True,
"coordinate": {"lat": 35.68124, "lon": 139.76712}
}

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

with DATA_PATH.open("rb") as src:
put = requests.put(upload_url, data=src, headers={"Content-Type": "application/octet-stream"})
put.raise_for_status()

finalize = requests.post(f"{API_BASE}/maps/{map_id}/finalize", json={"publish": False}, headers=headers)
finalize.raise_for_status()
print(f"LiDAR map {map_id} queued → {finalize.json()['status']}")
  • hybrid=True teilt dem Server mit, dass der Upload eine Punktwolke enthält und – falls das E57- oder LAZ-Paket eines mitbringt – ein Mesh.
  • Bei reinen Innenraumdaten lassen Sie den Block coordinate weg.

Anker hinzufügen und veröffentlichen​

Hat die Karte den Status READY erreicht:

  1. Wählen Sie Ankerpunkte für Maschinen, Ein- und Ausgänge.
  2. Laden Sie sie als kleine JSON-Liste hoch:
import json

anchors = [
{"name": "CNC-01", "position": [2.4, 0.0, 8.7]},
{"name": "safety_exit", "position": [-11.2, 0.0, 3.1]}
]
resp = requests.post(
f"{API_BASE}/maps/{map_id}/anchors",
headers=headers,
json={"items": anchors}
)
resp.raise_for_status()
  1. Haben Sie die Karte geprüft, veröffentlichen Sie sie in der Konsole oder rufen Sie POST /maps/{id}/publish auf.

Weiter: Karten aus mehreren Sitzungen – mehrere Scans zu einer Karte zusammenführen.