Biblioteca Node.js gratuita para criar esboços e exportar para DWG
A biblioteca de modelação CAD 2D e 3D Node.js de código aberto permite criar, editar e converter esboços 2D para STL, DWG e SVG programaticamente
O que é a Biblioteca JSketcher?
O jSketcher é uma poderosa biblioteca Node.js, concebida para fornecer uma API simples, mas eficiente, para criar, editar e exportar esboços diretamente na sua aplicação web. Desenvolvido com foco no desempenho e na facilidade de utilização, aproveita a natureza assíncrona do Node.js para lidar com tarefas de desenho interativas de forma eficiente. O JSketcher é uma biblioteca JavaScript leve e de código aberto, concebida para criar e manipular esboços 2D de forma programática. Fornece uma API simples e intuitiva para desenhar formas, linhas e curvas, sendo uma excelente opção para os programadores que necessitam de gerar diagramas ou esboços dinamicamente. O projeto é mantido no GitHub, aceitando contribuições e feedback da comunidade, o que o torna uma excelente opção para os programadores que valorizam a inovação em código aberto.
O JSketcher oferece uma interface amigável para o programador que simplifica a configuração e a gestão de um ecrã de desenho. A biblioteca oferece ferramentas integradas para desenho à mão livre, criação de formas (por exemplo, retângulos, círculos), inserção de texto e muito mais. Inclui operações geométricas avançadas, como intersecções, deslocamentos e transformações (por exemplo, escala, rotação e translação). Estes recursos permitem criar diagramas complexos com facilidade. A biblioteca é altamente extensível, permitindo aos programadores adicionar formas, ferramentas e funcionalidades personalizadas, conforme necessário. Seja para criar ferramentas educativas, quadros brancos colaborativos ou plataformas de design criativo, o jSketcher oferece uma solução robusta, flexível e modular para estimular a criatividade do seu projeto.
Introdução ao JSketcher
A forma recomendada de instalar o JSketcher é utilizando o npm. Utilize o seguinte comando para uma instalação sem problemas.
Instalar o JSketcher via npm
npm install jsketcher
Também pode instalá-lo manualmente; descarregue os ficheiros de versão mais recentes diretamente do repositório GitHub.
Criar esboços simples através de JavaScript
A biblioteca JSketcher fornece uma API limpa e fácil de utilizar que permite aos programadores de software criar esboços com o mínimo de código. A biblioteca foi concebida para ser amigável para principiantes, mas ainda oferece recursos avançados para programadores experientes. O exemplo seguinte demonstra como os programadores de software podem criar um novo esboço, adicionar um círculo e um retângulo e, em seguida, exportar o esboço como uma string SVG.
const { Sketch, Shapes } = require('jsketcher');
// Create a new sketch
const sketch = new Sketch();
// Add a circle
const circle = Shapes.circle(50, 50, 30); // (x, y, radius)
sketch.add(circle);
// Add a rectangle
const rectangle = Shapes.rectangle(100, 100, 80, 40); // (x, y, width, height)
sketch.add(rectangle);
// Export the sketch as SVG
const svg = sketch.toSVG();
console.log(svg);
Exportação e Guardar Esboços em Node.js
A biblioteca de código aberto JSketcher facilita aos programadores de software o carregamento e a exportação dos seus esboços CAD para vários outros formatos de ficheiro suportados com apenas algumas linhas de código. A biblioteca permite exportar os seus esboços em vários formatos, incluindo PDF, SVG e JSON. Isto facilita a integração da biblioteca com outras ferramentas ou a exibição dos esboços em aplicações web, além de ser benéfico para aplicações que exigem recursos de armazenamento ou de partilha persistentes. O exemplo seguinte mostra como criar um polígono e exportar o esboço como um objeto JSON.
Como criar um polígono e exportar o esboço como um objeto JSON dentro do Node.js?
const { Sketch, Shapes } = require('jsketcher');
// Create a new sketch
const sketch = new Sketch();
// Add a polygon
const polygon = Shapes.polygon([
[10, 10],
[50, 30],
[30, 70],
[5, 50]
]);
sketch.add(polygon);
// Export the sketch as JSON
const json = sketch.toJSON();
console.log(json);
Colaboração em Tempo Real
Embora o jSketcher se ocupe da funcionalidade principal de desenho, a sua integração com o Node.js torna-o um ótimo candidato para aplicações colaborativas em tempo real. Ao combiná-lo com bibliotecas como o Socket.io, pode transmitir eventos de desenho para vários utilizadores, possibilitando uma experiência de quadro branco partilhado. O seguinte snippet do lado do servidor configura uma aplicação expressa básica que utiliza o Socket.io para retransmitir eventos de desenho, abrindo caminho para esboços colaborativos multiutilizador.
Como integrar a biblioteca jSketcher com o Socket.io?
const express = require('express');
const http = require('http');
const socketIO = require('socket.io');
const JSketcher = require('jsketcher');
const app = express();
const server = http.createServer(app);
const io = socketIO(server);
app.use(express.static('public')); // Serve client-side files
// When a client connects, set up real-time event broadcasting
io.on('connection', (socket) => {
console.log('A client connected.');
// Relay drawing data to all clients except the sender
socket.on('drawing', (data) => {
socket.broadcast.emit('drawing', data);
});
socket.on('disconnect', () => {
console.log('A client disconnected.');
});
});
server.listen(3000, () => {
console.log('Server is running on port 3000.');
});
Operações Geométricas Avançadas e Personalização de Formas
A biblioteca de código aberto JSketcher inclui operações geométricas avançadas que permitem aos programadores de software realizar operações como intersecções, deslocamentos e transformações (por exemplo, escala, rotação e translação). Estes recursos permitem criar diagramas complexos com facilidade. Além disso, para aplicações CAD, a personalização é fundamental. O jSketcher permite aos programadores adicionar formas com parâmetros detalhados — como dimensões, coordenadas e atributos de cor — garantindo que cada elemento pode ser controlado com precisão.