-
Notifications
You must be signed in to change notification settings - Fork 0
IFCTerrain Service
Kern der Anwendung ist der IFCTerrainCommand Converter des GitHub Projektes City2BIM. Mit diesem lassen sich Gelände in verschiedenen Ausgangsformaten (z.B. DXF
, LandXML
, ...) nach IFC
konvertieren. Der Converter ist in einem Docker Image zusammen mit einer Java-basierten REST API verpackt. Dazu sind in dem Alpine Image sowohl OpenJDK als auch Mono installiert. Mono ermöglicht es, .NET
-basierte Software plattformunabhängig zu verwenden. Verknüpft ist die Anwendung mit einem MinIO Object Storage, von welchem die Quelldateien gelesen werden und in den die konvertierten IFC
-Dateien geschrieben werden.
[POST]
/terraintoifc/converter/bucket/{bucket}
- über REST-Schnittstelle werden der Bucket des MinIO Object Storage sowie die Konfigurationen für die Konvertierung als JSON eingegeben
- alle folgenden Dateien werden intern im Ordner
app/files
gespeichert -
JSON
wird über ein Java Objekt eingelesen und im Container als*_configs.json
-Datei gespeichert - aus Configs wird Quelldateiname gelesen und im angegeben Bucket danach gesucht -> Datei wird in Container kopiert
- interne Dateipfade werden gesetzt
- mit Befehl
mono IFCTerrainCommand.exe *_configs.json
wird Konvertierung gestartet - generierte
IFC
-Datei und Logfile werden zunächst im Container gespeichert, bevor sie in das Bucket hochgeladen werden - zum Schluss werden alle Datein im Container gelöscht
-
filePath
undlogFilePath
können bei der Eingabe weggelassen werden, da die Pfade im Container intern gesetzt werden. Genauso sollte derdestFileName
nur den Namen der Datei statt des Dateipfades enthalten. - Bei
fileType
sind sowohl Strings als auch deren kompatible Integer Werte möglich. (siehe Tabelle)
Strings | Integer |
DXF | 0 |
LandXML | 1 |
CityGML | 2 |
Grafbat | 3 |
PostGIS | 4 |
Grid | 5 |
REB | 6 |
- nicht alle Einstellungen werden für jede Konvertierung benötigt (siehe IFCTerrain Wiki)
Configs-JSON (Bsp. alle möglichen Einstellungen ohne filePath
und logFilePath
):
{
"fileName": "Baugrube_dgm.dxf",
"fileType": 0,
"destFileName": "Baugrube.ifc",
"outIFCType": 1,
"outFileType": 0,
"verbosityLevel": 4,
"calculateTin": false,
"recalculateTin": false,
"siteName": "Site with Terrain",
"projectName": "Project Titel [Placeholder]",
"editorsFamilyName": "Family name [Placeholder]",
"editorsGivenName": "Given name [Placeholder]",
"editorsOrganisationName": "Organisation [Placeholder]",
"exportMetadataFile": false,
"outIfcPropertySet": false,
"exportMetadataDin91391": false,
"exportMetadataDin18740": false,
"is3D": true,
"minDist": 1.0,
"surfaceType": 2,
"geoElement": false,
"logeoref": 30,
"customOrigin": false,
"xOrigin": 0.0,
"yOrigin": 0.0,
"zOrigin": 0.0,
"trueNorth": 0.0,
"scale": 0.0,
"crsName": 0,
"crsDescription": null,
"geodeticDatum": null,
"verticalDatum": null,
"projectionName": null,
"projectionZone": null,
"layer": "Seeboden",
"isTin": true,
"horizon": 0,
"gridSize": 0,
"bBox": false,
"bbNorth": 0.0,
"bbEast": 0.0,
"bbSouth": 0.0,
"bbWest": 0.0,
"onlyHorizon": false,
"horizonFilter": 0,
"onlyTypes": false,
"ignPos": false,
"ignHeight": false,
"breakline_layer": null,
"breakline": false,
"host": null,
"port": 0,
"user": null,
"password": null,
"database": null,
"schema": null,
"tin_table": null,
"tin_column": null,
"tinid_column": null,
"tin_id": 0,
"breakline_table": null,
"breakline_column": null,
"breakline_tin_id": null
}
weitere Erklährungen zu den einzelnen Einstellungen siehe IFCTerrain Wiki
HTW Dresden - Faculty Geoinformation - Friedrich-List-Platz 1 - 01069 Dresden Project head: Prof. Dr.-Ing. Christian Clemen >>>Back to github wiki main page: here! <<< |
---|
- Projekt TerrainTwin
-
Microservice Architecture
- Basiskomponenten
- Discovery/Eureka Server
- Config Server
- Admin Server
- Gateway Service
- MinIO Upload Service
- File Input Handler
- Csv2Rdf Converter Service
- Geometry Handler
- Dashboard Service
- Topology Service
- IFCTerrain Service
- Scheduler Service
- Semantic Connector und Semantic Connector Web
- BIMserver Query Service
- IfcContour Creator
- Installation Microservice Architecture
- Updaten einzelner Docker Images und Container auf dem Server
- Literatur
- Ifc Modellabfrage mit dem BIMserver