UNPKG

@linkiez/glory-star-calculator

Version:

Calculadora de tempo de corte para arquivos SVG da máquina GloryStar_GS3015

124 lines (89 loc) 4.01 kB
# Glory Star GS3015 Cutting Time Calculator Biblioteca em TypeScript para calcular o tempo de corte a partir de arquivos SVG para a máquina de corte a laser GloryStar_GS3015, considerando diferentes espessuras de chapa. ## Instalação ```bash npm install @linkiez/glory-star-calculator ``` ## Recursos - Cálculo de tempo de corte baseado em arquivos SVG - Suporte para diferentes espessuras de material (0.5mm a 30mm) - Cálculo preciso considerando: - Velocidade de corte específica para cada espessura - Tempo de perfuração - Tempo de movimento (posicionamento) - Otimização de caminho - Suporte para elementos SVG comuns (linhas, retângulos, círculos, polígonos, caminhos) - Extensível para outras máquinas de corte ## Uso Básico ```typescript import { calculateCuttingTimeFromSvg } from '@linkiez/glory-star-calculator'; // Cálculo a partir de string SVG const svgString = ` <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"> <rect x="10" y="10" width="80" height="80" fill="none" stroke="black" /> </svg> `; const result = calculateCuttingTimeFromSvg(svgString, { materialThickness: 5.0, // espessura da chapa em mm optimize: true // opcional: otimiza o caminho de corte }); console.log(`Tempo total de corte: ${result.totalTimeSec} segundos`); console.log(`Distância de corte: ${result.cuttingDistance} mm`); ``` ### Node.js: cálculo a partir de arquivo SVG Se você estiver usando Node.js, pode importar a função específica: ```typescript import { calculateCuttingTimeFromFile } from '@linkiez/glory-star-calculator/dist/node'; const fileResult = calculateCuttingTimeFromFile('/caminho/para/arquivo.svg', { materialThickness: 3.0 }); console.log(`Tempo total para arquivo: ${fileResult.totalTimeSec} segundos`); ``` ## API ### Funções Principais #### `calculateCuttingTimeFromSvg(svgString, options)` Calcula o tempo de corte a partir de uma string SVG. - **svgString**: String contendo o SVG - **options**: Opções de cálculo (veja abaixo) - **Retorna**: Objeto com os resultados do cálculo #### `calculateCuttingTimeFromFile(filePath, options)` Calcula o tempo de corte a partir de um arquivo SVG. - **filePath**: Caminho para o arquivo SVG - **options**: Opções de cálculo - **Retorna**: Objeto com os resultados do cálculo ### Opções ```typescript interface CuttingTimeOptions { materialThickness: number; // Espessura do material (mm) [OBRIGATÓRIO] kerf?: number; // Largura do corte (mm) leadIn?: number; // Comprimento de entrada (mm) leadOut?: number; // Comprimento de saída (mm) piercingType?: 'normal' | 'flying'; // Tipo de perfuração optimize?: boolean; // Otimizar caminho de corte } ``` ### Resultados ```typescript interface CuttingTimeResult { totalTimeSec: number; // Tempo total (segundos) cuttingTimeSec: number; // Tempo de corte efetivo movementTimeSec: number; // Tempo de posicionamento piercingTimeSec: number; // Tempo de perfuração setupTimeSec: number; // Tempo de setup totalDistance: number; // Distância total percorrida (mm) cuttingDistance: number; // Distância de corte (mm) movementDistance: number; // Distância de posicionamento (mm) pierceCount: number; // Número de perfurações partCount: number; // Número de peças } ``` ## Exemplo Completo Veja o arquivo `src/example.ts` para um exemplo mais detalhado de utilização da biblioteca. ## Limitações - A biblioteca implementa uma versão simplificada do parser de SVG, podendo não suportar todos os recursos avançados. - Os tempos calculados são estimativas baseadas em dados da máquina GloryStar_GS3015 e podem variar em condições reais. - Curvas complexas em caminhos SVG são aproximadas como segmentos lineares. ## Licença ISC ## Contribuições Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.