extract name from 3mf object when available
This commit is contained in:
parent
c37c627622
commit
abcb2a9fac
2 changed files with 15 additions and 11 deletions
|
|
@ -2486,6 +2486,10 @@ console.log/** Copyright Stewart Allen <sa@grid.space> -- All Rights Reserved */
|
|||
MOTO.TMF.parse(e.target.result).then(models => {
|
||||
console.log({models});
|
||||
for (let model of models) {
|
||||
let name = e.target.file.name;
|
||||
if (model.name) {
|
||||
name = model.name + ' - ' + name;
|
||||
}
|
||||
platform.add(
|
||||
newWidget(undefined,group)
|
||||
.loadVertices(model.faces.toFloat32())
|
||||
|
|
|
|||
|
|
@ -32,22 +32,25 @@
|
|||
let models = [];
|
||||
|
||||
function emitModel(model, faces) {
|
||||
models.push({model, faces});
|
||||
if (faces && faces.length) {
|
||||
models.push({name: model, faces});
|
||||
}
|
||||
}
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
let model;
|
||||
let faces;
|
||||
let units;
|
||||
|
||||
query(doc, ["+model","resources","object","+mesh"], (type, node) => {
|
||||
console.log({type, node});
|
||||
query(doc, ["+model","resources","+object","+mesh"], (type, node) => {
|
||||
switch (type) {
|
||||
case "model":
|
||||
if (model) {
|
||||
emitModel(mode, faces);
|
||||
}
|
||||
model = node;
|
||||
units = node.getAttribute("unit");
|
||||
break;
|
||||
case "object":
|
||||
emitModel(model, faces);
|
||||
faces = [];
|
||||
model = node.getAttribute("name") || undefined;
|
||||
break;
|
||||
case "mesh":
|
||||
let vertices = [];
|
||||
|
|
@ -70,10 +73,7 @@
|
|||
}
|
||||
});
|
||||
|
||||
if (model) {
|
||||
emitModel(model, faces);
|
||||
}
|
||||
|
||||
emitModel(model, faces);
|
||||
resolve(models);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue