@linkiez/glory-star-calculator
Version:
Calculadora de tempo de corte para arquivos SVG da máquina GloryStar_GS3015
54 lines • 2.33 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const dxf_parser_1 = __importDefault(require("dxf-parser"));
const fs_1 = __importDefault(require("fs"));
const dxf = fs_1.default.readFileSync('./src/LPEL-1530.dxf', 'utf8');
const parser = new dxf_parser_1.default();
const parsed = parser.parseSync(dxf);
const allTypes = {};
if (parsed && parsed.entities) {
parsed.entities.forEach((e) => {
var _a;
allTypes[e.type] = ((_a = allTypes[e.type]) !== null && _a !== void 0 ? _a : 0) + 1;
});
}
console.log('Tipos de entidades encontrados no DXF:');
console.log(allTypes);
const relevant = ['LINE', 'CIRCLE', 'ARC', 'LWPOLYLINE', 'POLYLINE'];
const processed = parsed && parsed.entities ? parsed.entities.filter((e) => relevant.includes(e.type)) : [];
console.log('\nEntidades processadas:');
processed.forEach((e, i) => {
if (e.type === 'LINE') {
if (e.vertices) {
console.log(`#${i} LINE: (${e.vertices.map((v) => `(${v.x},${v.y})`).join(' -> ')})`);
}
else {
console.log(`#${i} LINE: (${e.x1},${e.y1} -> ${e.x2},${e.y2})`);
}
}
else if (e.type === 'CIRCLE') {
console.log(`#${i} CIRCLE: center=(${e.center.x},${e.center.y}), r=${e.radius}`);
}
else if (e.type === 'ARC') {
console.log(`#${i} ARC: center=(${e.center.x},${e.center.y}), r=${e.radius}, start=${e.startAngle}, end=${e.endAngle}`);
}
else if (e.type === 'LWPOLYLINE' || e.type === 'POLYLINE') {
console.log(`#${i} ${e.type}: pontos=${e.vertices.length}, closed=${e.closed}`);
}
});
console.log(`\nTotal de entidades processadas: ${processed.length}`);
console.log(`Total de entidades no arquivo: ${parsed && parsed.entities ? parsed.entities.length : 0}`);
const notProcessed = parsed && parsed.entities ? parsed.entities.filter((e) => !relevant.includes(e.type)) : [];
if (notProcessed.length > 0) {
console.log('\nEntidades NÃO processadas:');
notProcessed.forEach((e, i) => {
console.log(`#${i} ${e.type}`);
});
}
else {
console.log('\nTodas as entidades relevantes estão sendo processadas.');
}
//# sourceMappingURL=review-dxf-full.js.map