566 lines
16 KiB
JavaScript
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}; |