This repository has been archived on 2023-01-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
cad/web/xeo/assets/js/generateTestSTL.js
T
2022-10-15 19:16:08 +02:00

566 lines
16 KiB
JavaScript

function generateTestSTL(options) {
const pos = options.pos || [0, 0, 0];
const posX = pos[0];
const posY = pos[1];
const posZ = pos[2];
function getPos(x, y, z) {
// Swizzling the XYZ here, because this model is made
// for +Z as up axis, and xeokit uses +Y for up axis
return "" + (y + posX) + " " + (z + posY) + " " + (x + posZ);
}
return [
"solid AssimpScene",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(13.998, 1.002, 6.998),
"vertex " + getPos(13.998, 1.002, 16.003),
"vertex " + getPos(13.998, -7.003, 16.003),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(13.998, 1.002, 6.998),
"vertex " + getPos(13.998, -7.003, 16.003),
"vertex " + getPos(13.998, -7.003, 6.998),
"endloop",
"endfacet",
"facet normal 0.541477 0 0.840716",
"outer loop",
"vertex " + getPos(18, 46, 20),
"vertex " + getPos(-11.5, 46, 39),
"vertex " + getPos(-9, -18, 37.39),
"endloop",
"endfacet",
"facet normal 0 -1 0",
"outer loop",
"vertex " + getPos(18, 16.003, 0),
"vertex " + getPos(18, 16.003, 20),
"vertex " + getPos(17.998, 16.003, 0),
"endloop",
"endfacet",
"facet normal 0 -1 0",
"outer loop",
"vertex " + getPos(17.998, 16.003, 20.0013),
"vertex " + getPos(17.998, 16.003, 0),
"vertex " + getPos(18, 16.003, 20),
"endloop",
"endfacet",
"facet normal 0 1 0",
"outer loop",
"vertex " + getPos(18, 5.998, 20),
"vertex " + getPos(18, 5.998, 0),
"vertex " + getPos(17.998, 5.998, 0),
"endloop",
"endfacet",
"facet normal 0 1 0",
"outer loop",
"vertex " + getPos(18, 5.998, 20),
"vertex " + getPos(17.998, 5.998, 0),
"vertex " + getPos(17.998, 5.998, 20.0013),
"endloop",
"endfacet",
"facet normal 0 -1 0",
"outer loop",
"vertex " + getPos(13.998, 1.002, 6.998),
"vertex " + getPos(18, 1.002, 6.998),
"vertex " + getPos(13.998, 1.002, 16.003),
"endloop",
"endfacet",
"facet normal 0 -1 0",
"outer loop",
"vertex " + getPos(18, 1.002, 16.003),
"vertex " + getPos(13.998, 1.002, 16.003),
"vertex " + getPos(18, 1.002, 6.998),
"endloop",
"endfacet",
"facet normal 0 1 0",
"outer loop",
"vertex " + getPos(13.998, -7.003, 16.003),
"vertex " + getPos(18, -7.003, 16.003),
"vertex " + getPos(18, -7.003, 6.998),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(-9, -23, 0),
"vertex " + getPos(-9, -18, 37.39),
"vertex " + getPos(-9, -23, 56),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(-9, -18, 0),
"vertex " + getPos(-9, -18, 37.39),
"vertex " + getPos(-9, -23, 0),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(-9, -18, 56),
"vertex " + getPos(-9, -23, 56),
"vertex " + getPos(-9, -18, 37.39),
"endloop",
"endfacet",
"facet normal -1 0 0",
"outer loop",
"vertex " + getPos(-16, -23, 56),
"vertex " + getPos(-16, -18, 36.102),
"vertex " + getPos(-16, -23, 0),
"endloop",
"endfacet",
"facet normal -1 0 0",
"outer loop",
"vertex " + getPos(-16, -18, 56),
"vertex " + getPos(-16, -18, 36.102),
"vertex " + getPos(-16, -23, 56),
"endloop",
"endfacet",
"facet normal -1 0 0",
"outer loop",
"vertex " + getPos(-16, -18, 0),
"vertex " + getPos(-16, -23, 0),
"vertex " + getPos(-16, -18, 36.102),
"endloop",
"endfacet",
"facet normal 0 0 1",
"outer loop",
"vertex " + getPos(-9, -18, 56),
"vertex " + getPos(-16, -18, 56),
"vertex " + getPos(-16, -23, 56),
"endloop",
"endfacet",
"facet normal 0 0 1",
"outer loop",
"vertex " + getPos(-9, -18, 56),
"vertex " + getPos(-16, -23, 56),
"vertex " + getPos(-9, -23, 56),
"endloop",
"endfacet",
"facet normal 0 1 0",
"outer loop",
"vertex " + getPos(-16, -18, 56),
"vertex " + getPos(-9, -18, 56),
"vertex " + getPos(-11.5, -18, 39),
"endloop",
"endfacet",
"facet normal 0 1 0",
"outer loop",
"vertex " + getPos(-16, -18, 36.102),
"vertex " + getPos(-16, -18, 56),
"vertex " + getPos(-11.5, -18, 39),
"endloop",
"endfacet",
"facet normal 0 1 0",
"outer loop",
"vertex " + getPos(-9, -18, 37.39),
"vertex " + getPos(-11.5, -18, 39),
"vertex " + getPos(-9, -18, 56),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(18, -7.003, 16.003),
"vertex " + getPos(18, -18, 20),
"vertex " + getPos(18, -7.003, 6.998),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(18, 5.998, 0),
"vertex " + getPos(18, 1.002, 6.998),
"vertex " + getPos(18, -7.003, 6.998),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(18, 5.998, 0),
"vertex " + getPos(18, -7.003, 6.998),
"vertex " + getPos(18, -18, 0),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(18, 1.002, 16.003),
"vertex " + getPos(18, 5.998, 20),
"vertex " + getPos(18, -7.003, 16.003),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(18, 1.002, 16.003),
"vertex " + getPos(18, 1.002, 6.998),
"vertex " + getPos(18, 5.998, 20),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(18, 5.998, 20),
"vertex " + getPos(18, -18, 20),
"vertex " + getPos(18, -7.003, 16.003),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(18, -18, 0),
"vertex " + getPos(18, -7.003, 6.998),
"vertex " + getPos(18, -18, 20),
"endloop",
"endfacet",
"facet normal 0 1 0",
"outer loop",
"vertex " + getPos(-41, 46, 20),
"vertex " + getPos(18, 46, 20),
"vertex " + getPos(-41, 46, 0),
"endloop",
"endfacet",
"facet normal 0 1 0",
"outer loop",
"vertex " + getPos(18, 46, 0),
"vertex " + getPos(-41, 46, 0),
"vertex " + getPos(18, 46, 20),
"endloop",
"endfacet",
"facet normal 0 1 0",
"outer loop",
"vertex " + getPos(-11.5, 46, 39),
"vertex " + getPos(18, 46, 20),
"vertex " + getPos(-41, 46, 20),
"endloop",
"endfacet",
"facet normal -1 0 0",
"outer loop",
"vertex " + getPos(-41, -18, 20),
"vertex " + getPos(-41, 46, 20),
"vertex " + getPos(-41, 46, 0),
"endloop",
"endfacet",
"facet normal -1 0 0",
"outer loop",
"vertex " + getPos(-41, -18, 20),
"vertex " + getPos(-41, 46, 0),
"vertex " + getPos(-41, -18, 0),
"endloop",
"endfacet",
"facet normal 0 -1 0",
"outer loop",
"vertex " + getPos(-9, -23, 56),
"vertex " + getPos(-16, -23, 56),
"vertex " + getPos(-16, -23, 0),
"endloop",
"endfacet",
"facet normal 0 -1 0",
"outer loop",
"vertex " + getPos(-9, -23, 56),
"vertex " + getPos(-16, -23, 0),
"vertex " + getPos(-9, -23, 0),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(-9, -18, 0),
"vertex " + getPos(-9, -23, 0),
"vertex " + getPos(-16, -23, 0),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(-9, -18, 0),
"vertex " + getPos(-16, -23, 0),
"vertex " + getPos(-16, -18, 0),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(18, 16.003, 0),
"vertex " + getPos(17.998, 16.003, 0),
"vertex " + getPos(18, 46, 0),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(18, 5.998, 0),
"vertex " + getPos(18, -18, 0),
"vertex " + getPos(17.998, 5.998, 0),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(18, 46, 0),
"vertex " + getPos(17.998, 16.003, 0),
"vertex " + getPos(-41, 46, 0),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(-9, -18, 0),
"vertex " + getPos(-41, 46, 0),
"vertex " + getPos(17.998, 5.998, 0),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(18, -18, 0),
"vertex " + getPos(-9, -18, 0),
"vertex " + getPos(17.998, 5.998, 0),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(17.998, 16.003, 0),
"vertex " + getPos(17.998, 5.998, 0),
"vertex " + getPos(-41, 46, 0),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(-41, 46, 0),
"vertex " + getPos(-9, -18, 0),
"vertex " + getPos(-16, -18, 0),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(-41, 46, 0),
"vertex " + getPos(-16, -18, 0),
"vertex " + getPos(-41, -18, 0),
"endloop",
"endfacet",
"facet normal 0 0 1",
"outer loop",
"vertex " + getPos(18, -7.003, 6.998),
"vertex " + getPos(18, 1.002, 6.998),
"vertex " + getPos(13.998, 1.002, 6.998),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(13.998, 1.002, 16.003),
"vertex " + getPos(18, 1.002, 16.003),
"vertex " + getPos(18, -7.003, 16.003),
"endloop",
"endfacet",
"facet normal 0 0 -1",
"outer loop",
"vertex " + getPos(13.998, 1.002, 16.003),
"vertex " + getPos(18, -7.003, 16.003),
"vertex " + getPos(13.998, -7.003, 16.003),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(17.998, 16.003, 20.0013),
"vertex " + getPos(17.998, 5.998, 0),
"vertex " + getPos(17.998, 16.003, 0),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(17.998, 5.998, 20.0013),
"vertex " + getPos(17.998, 5.998, 0),
"vertex " + getPos(17.998, 16.003, 20.0013),
"endloop",
"endfacet",
"facet normal 0 1 0",
"outer loop",
"vertex " + getPos(13.998, -7.003, 16.003),
"vertex " + getPos(18, -7.003, 6.998),
"vertex " + getPos(13.998, -7.003, 6.998),
"endloop",
"endfacet",
"facet normal 0 0 1",
"outer loop",
"vertex " + getPos(13.998, 1.002, 6.998),
"vertex " + getPos(13.998, -7.003, 6.998),
"vertex " + getPos(18, -7.003, 6.998),
"endloop",
"endfacet",
"facet normal 0 -1 0",
"outer loop",
"vertex " + getPos(-9, -18, 37.39),
"vertex " + getPos(-9, -18, 0),
"vertex " + getPos(18, -18, 20),
"endloop",
"endfacet",
"facet normal 0 -1 0",
"outer loop",
"vertex " + getPos(-9, -18, 0),
"vertex " + getPos(18, -18, 0),
"vertex " + getPos(18, -18, 20),
"endloop",
"endfacet",
"facet normal 0 -1 0",
"outer loop",
"vertex " + getPos(-41, -18, 0),
"vertex " + getPos(-16, -18, 0),
"vertex " + getPos(-41, -18, 20),
"endloop",
"endfacet",
"facet normal 0 -1 0",
"outer loop",
"vertex " + getPos(-16, -18, 36.102),
"vertex " + getPos(-41, -18, 20),
"vertex " + getPos(-16, -18, 0),
"endloop",
"endfacet",
"facet normal -0.54144 0 0.84074",
"outer loop",
"vertex " + getPos(-11.5, -18, 39),
"vertex " + getPos(-11.5, 46, 39),
"vertex " + getPos(-16, -18, 36.102),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(18, 46, 20),
"vertex " + getPos(18, 16.003, 20),
"vertex " + getPos(18, 16.003, 0),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(18, 46, 20),
"vertex " + getPos(18, 16.003, 0),
"vertex " + getPos(18, 46, 0),
"endloop",
"endfacet",
"facet normal 1 0 0",
"outer loop",
"vertex " + getPos(18, 5.998, 0),
"vertex " + getPos(18, 5.998, 20),
"vertex " + getPos(18, 1.002, 6.998),
"endloop",
"endfacet",
"facet normal 0.54144 0 0.84074",
"outer loop",
"vertex " + getPos(-9, -18, 37.39),
"vertex " + getPos(-11.5, 46, 39),
"vertex " + getPos(-11.5, -18, 39),
"endloop",
"endfacet",
"facet normal -0.541477 0 0.840716",
"outer loop",
"vertex " + getPos(-41, 46, 20),
"vertex " + getPos(-16, -18, 36.102),
"vertex " + getPos(-11.5, 46, 39),
"endloop",
"endfacet",
"facet normal -0.541482 0 0.840713",
"outer loop",
"vertex " + getPos(-41, 46, 20),
"vertex " + getPos(-41, -18, 20),
"vertex " + getPos(-16, -18, 36.102),
"endloop",
"endfacet",
"facet normal 0.541482 0 0.840713",
"outer loop",
"vertex " + getPos(17.998, 16.003, 20.0013),
"vertex " + getPos(18, 16.003, 20),
"vertex " + getPos(18, 46, 20),
"endloop",
"endfacet",
"facet normal 0.541482 0 0.840713",
"outer loop",
"vertex " + getPos(18, 5.998, 20),
"vertex " + getPos(17.998, 5.998, 20.0013),
"vertex " + getPos(18, -18, 20),
"endloop",
"endfacet",
"facet normal 0.541482 0 0.840713",
"outer loop",
"vertex " + getPos(17.998, 16.003, 20.0013),
"vertex " + getPos(-9, -18, 37.39),
"vertex " + getPos(17.998, 5.998, 20.0013),
"endloop",
"endfacet",
"facet normal 0.541482 0 0.840713",
"outer loop",
"vertex " + getPos(18, 46, 20),
"vertex " + getPos(-9, -18, 37.39),
"vertex " + getPos(17.998, 16.003, 20.0013),
"endloop",
"endfacet",
"facet normal 0.541482 0 0.840713",
"outer loop",
"vertex " + getPos(18, -18, 20),
"vertex " + getPos(17.998, 5.998, 20.0013),
"vertex " + getPos(-9, -18, 37.39),
"endloop",
"endfacet",
"endsolid AssimpScene"
].join("\n");
}
export {generateTestSTL};