From d3f930f72c2dae5fd3094716022dcba757b646c0 Mon Sep 17 00:00:00 2001 From: kovacsv Date: Tue, 19 Apr 2022 23:01:41 +0200 Subject: [PATCH] Generate a pseudo-random guid during bim export. --- source/engine/export/exporterbim.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/source/engine/export/exporterbim.js b/source/engine/export/exporterbim.js index 1893ba0..1a35bcd 100644 --- a/source/engine/export/exporterbim.js +++ b/source/engine/export/exporterbim.js @@ -4,6 +4,17 @@ import { ConvertMeshToMeshBuffer } from '../model/meshbuffer.js'; import { PropertyToString } from '../model/property.js'; import { ExportedFile, ExporterBase } from './exporterbase.js'; +function GenerateGuid () +{ + // https://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid + let template = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'; + return template.replace (/[xy]/g, (c) => { + let r = Math.random () * 16 | 0; + let v = (c === 'x') ? r : (r & 0x3 | 0x8); + return v.toString (16); + }); +} + export class ExporterBim extends ExporterBase { constructor () @@ -57,7 +68,7 @@ export class ExporterBim extends ExporterBase qz: 0.0, qw: 1.0 }, - guid : '00000000-0000-0000-0000-000000000000' + guid : GenerateGuid () }; this.ExportProperties (mesh, bimElement); bimContent.meshes.push (bimMesh);