getLayers working

This commit is contained in:
Nick Playfair 2021-01-27 20:39:57 +00:00
parent a1b06686fe
commit eb7d95fba3
2 changed files with 36 additions and 11 deletions

View File

@ -73,23 +73,26 @@ async function getLayers2(fileName) {
} }
async function getLayers(fileName) { async function getLayers(fileName) {
try { return new Promise((resolve, reject) => {
const tempDir = path.join(__dirname, 'gerber', 'tmp', 'archive'); const tempDir = path.join(__dirname, 'gerber', 'tmp', 'archive');
extractArchive(fileName) extractArchive(fileName)
.then(numfiles => { .then(numfiles => {
// const layers = gerberFiles.map(fileName => ({
// filename: fileName,
// gerber: fs.createReadStream(path.join(tempDir, fileName))
// }));
// console.log(layers);
console.log(`${numfiles} files extracted successfully`); console.log(`${numfiles} files extracted successfully`);
const layers = gerberFiles.map(fileName => ({
filename: fileName,
gerber: fs.createReadStream(path.join(tempDir, fileName))
}));
if(numfiles > 0) {
// Some files were extracted
resolve(layers);
} else {
reject();
}
}) })
.catch(e => { .catch(e => {
console.log(e); console.log(e);
}) })
} catch (err) { })
console.error(err);
}
} }
function extractArchive(fileName) { function extractArchive(fileName) {

View File

@ -20,7 +20,7 @@ const sampleNames = [
'./gerber/default/profile.gbr', './gerber/default/profile.gbr',
] ]
const layers = sampleNames.map(filename => ({ const samplelayers = sampleNames.map(filename => ({
filename, filename,
gerber: fs.createReadStream(filename), gerber: fs.createReadStream(filename),
})); }));
@ -60,4 +60,26 @@ const layers = sampleNames.map(filename => ({
// console.log('done'); // console.log('done');
// }) // })
fileProc.getLayers('./gerber/sho_v2.zip') // const templayers = fileProc.getLayers('./gerber/sho_v2.zip')
// console.log(templayers)
fileProc.getLayers('./gerber/Timmy.zip')
.then(layers => {
pcbStackup(layers).then(stackup => {
// Create buffer from SVG string
sharp(Buffer.from(stackup.top.svg), { density: density })
.resize({ width: resizeWidth })
.png({
compressionLevel: compLevel })
.toFile(destfile)
.then((info) => {
console.log(info)
})
.catch((e) => {
console.error(e);
})
})
.catch((e) => {
console.error(e);
});
})