Bibliotecă Node.js gratuită pentru crearea de schițe și exportarea în DWG
Biblioteca open source Node.js de modelare CAD 2D și 3D permite crearea, editarea și convertirea schițelor 2D în STL, DWG și SVG prin programare.
Ce este Biblioteca JSketcher?
jSketcher este o bibliotecă Node.js puternică, concepută pentru a oferi o API simplă, dar puternică, pentru crearea, editarea și exportarea schițelor direct în aplicația web. Construită având în vedere performanța și ușurința în utilizare, aceasta valorifică natura asincronă a Node.js pentru a gestiona eficient sarcinile de desen interactive. JSketcher este o bibliotecă JavaScript ușoară, open-source, concepută pentru a crea și manipula schițe 2D programatic. Oferă o API simplă și intuitivă pentru desenarea formelor, liniilor și curbelor, ceea ce o face o alegere excelentă pentru dezvoltatorii care trebuie să genereze diagrame sau schițe dinamic. Proiectul este menținut pe GitHub, primind cu bucurie contribuțiile și feedback-ul comunității, ceea ce îl face o alegere excelentă pentru dezvoltatorii care apreciază inovația open source.
JSketcher oferă o interfață ușor de utilizat pentru dezvoltatori, care simplifică configurarea și gestionarea unei pânze de desen. Biblioteca oferă instrumente încorporate pentru desenul manual, crearea de forme (de exemplu, dreptunghiuri, cercuri), inserarea de text și multe altele. Include operații geometrice avansate, cum ar fi intersecții, decalaje și transformări (de exemplu, scalare, rotație și translație). Aceste caracteristici permit crearea ușoară de diagrame complexe. Biblioteca este extrem de extensibilă, permițând dezvoltatorilor să adauge forme, instrumente și funcționalități personalizate, după cum este necesar. Indiferent dacă construiți instrumente educaționale, table albe colaborative sau platforme de design creativ, jSketcher oferă o soluție robustă, flexibilă și modulară pentru a stimula creativitatea proiectului dumneavoastră.
Noțiuni introductive despre JSketcher
Modul recomandat de instalare a JSketcher este utilizând npm. Vă rugăm să utilizați următoarea comandă pentru o instalare fără probleme.
Instalați JSketcher prin npm
npm install jsketcher
De asemenea, îl puteți instala manual; descărcați fișierele celei mai recente versiuni direct din depozitul GitHub.
Creați schițe simple prin JavaScript
Biblioteca JSketcher oferă o API curată și ușor de utilizat, care permite dezvoltatorilor de software să creeze schițe cu un cod minim. Biblioteca este concepută pentru a fi ușor de utilizat pentru începători, oferind în același timp funcții avansate pentru dezvoltatorii experimentați. Exemplul următor demonstrează cum dezvoltatorii de software pot crea o schiță nouă, pot adăuga un cerc și un dreptunghi, apoi pot exporta schița ca șir SVG.
Cum să creezi o schiță nouă și să desenezi forme de bază în aplicațiile Node.js?
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);
Exportarea și salvarea schițelor în Node.js
Biblioteca open source JSketcher facilitează încărcarea și exportarea schițelor CAD de către dezvoltatorii de software în diverse alte formate de fișiere acceptate, cu doar câteva linii de cod. Biblioteca permite exportarea schițelor în diverse formate, inclusiv PDF, SVG și JSON. Acest lucru facilitează integrarea bibliotecii cu alte instrumente sau afișarea schițelor în aplicații web sau este benefic pentru aplicațiile care necesită stocare persistentă sau capacități de partajare. Următorul exemplu arată cum se creează un poligon și se exportă schița ca obiect JSON.
Cum se creează un poligon și se exportă schița ca obiect JSON în 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);
Colaborare în timp real
Deși jSketcher gestionează funcționalitatea de bază a desenului, integrarea sa cu Node.js îl face un candidat excelent pentru aplicațiile de colaborare în timp real. Prin combinarea sa cu biblioteci precum Socket.io, puteți transmite evenimente de desen către mai mulți utilizatori, permițând o experiență de tablă albă partajată. Următorul fragment de cod pe server configurează o aplicație expres de bază care utilizează Socket.io pentru a transmite evenimente de desen, deschizând calea pentru schițare colaborativă cu mai mulți utilizatori.
Cum se integrează biblioteca jSketcher cu 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ții geometrice avansate și personalizare a formelor
Biblioteca open source JSketcher a inclus operații geometrice avansate care permit dezvoltatorilor de software să efectueze operațiuni precum intersecții, offset-uri și transformări (de exemplu, scalare, rotație și translație). Aceste caracteristici permit crearea ușoară de diagrame complexe. Mai mult, pentru aplicațiile CAD, personalizarea este esențială. jSketcher permite dezvoltatorilor să adauge forme cu parametri detaliați - cum ar fi dimensiuni, coordonate și atribute de culoare - asigurându-se că fiecare element poate fi controlat cu precizie.