extract name from 3mf object when available

This commit is contained in:
Stewart Allen 2021-08-28 20:52:21 -04:00
commit abcb2a9fac
2 changed files with 15 additions and 11 deletions

View file

@ -2486,6 +2486,10 @@ console.log/** Copyright Stewart Allen <sa@grid.space> -- All Rights Reserved */
MOTO.TMF.parse(e.target.result).then(models => { MOTO.TMF.parse(e.target.result).then(models => {
console.log({models}); console.log({models});
for (let model of models) { for (let model of models) {
let name = e.target.file.name;
if (model.name) {
name = model.name + ' - ' + name;
}
platform.add( platform.add(
newWidget(undefined,group) newWidget(undefined,group)
.loadVertices(model.faces.toFloat32()) .loadVertices(model.faces.toFloat32())

View file

@ -32,22 +32,25 @@
let models = []; let models = [];
function emitModel(model, faces) { function emitModel(model, faces) {
models.push({model, faces}); if (faces && faces.length) {
models.push({name: model, faces});
}
} }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let model; let model;
let faces; let faces;
let units;
query(doc, ["+model","resources","object","+mesh"], (type, node) => { query(doc, ["+model","resources","+object","+mesh"], (type, node) => {
console.log({type, node});
switch (type) { switch (type) {
case "model": case "model":
if (model) { units = node.getAttribute("unit");
emitModel(mode, faces); break;
} case "object":
model = node; emitModel(model, faces);
faces = []; faces = [];
model = node.getAttribute("name") || undefined;
break; break;
case "mesh": case "mesh":
let vertices = []; let vertices = [];
@ -70,10 +73,7 @@
} }
}); });
if (model) { emitModel(model, faces);
emitModel(model, faces);
}
resolve(models); resolve(models);
}); });
} }