Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // remove existing download container (if re-running)
- const element = document.getElementById('DOWNLOADS_CONTAINER');
- if(element) element.remove();
- // make container for download links
- const downloadsContainer = document.body.appendChild(document.createElement('div'));
- downloadsContainer.id = "DOWNLOADS_CONTAINER";
- downloadsContainer.style.background = 'white';
- downloadsContainer.style.padding = '1rem';
- downloadsContainer.style.display = 'flex';
- downloadsContainer.style.flexDirection = 'column';
- downloadsContainer.style.position = 'absolute';
- downloadsContainer.style.zIndex = 1000;
- const makeModelOBJDownload = (meshId, fileName, downloadText) => {
- const mesh = meshManager.getMeshById(meshId);
- let objData = '';
- for(var i = 0; i < mesh.verts.length; i += 3) {
- objData += `v ${mesh.verts[i]} ${mesh.verts[i + 1]} ${mesh.verts[i + 2]}\n`;
- }
- for(var i = 0; i < mesh.origNormals.length; i += 3) {
- objData += `vn ${mesh.origNormals[i]} ${mesh.origNormals[i + 1]} ${mesh.origNormals[i + 2]}\n`;
- }
- for(var i = 0; i < mesh.origIdx.length; i += 3) {
- objData += `f ${mesh.origIdx[i]+1} ${mesh.origIdx[i + 1]+1} ${mesh.origIdx[i + 2]+1}\n`;
- }
- const aObj = downloadsContainer.appendChild(document.createElement('a'));
- aObj.download = fileName;
- aObj.href = `data:text/plain;charset=utf-8,${encodeURIComponent(objData)}`;
- aObj.innerHTML = downloadText;
- }
- // make downloads for teeth
- for(var toothNumber of project.visualSetups[0].teeth) {
- const meshId = project.visualSetups[0].teethMeshesId[toothNumber];
- makeModelOBJDownload(
- meshId,
- `tooth${toothNumber}.obj`,
- `Download OBJ tooth ${toothNumber}`,
- );
- }
- // make download for upper jaw
- makeModelOBJDownload(
- project.visualSetups[0].upperJawMeshId,
- `upperJaw.obj`,
- `Download OBJ upper jaw`,
- );
- // make download for lower jaw
- makeModelOBJDownload(
- project.visualSetups[0].lowerJawMeshId,
- `lowerJaw.obj`,
- `Download OBJ lower jaw`,
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement