1. Продукти
  2.   CAD
  3.   Node.js
  4.   JSketcher
 
  

Безкоштовна бібліотека Node.js для створення ескізів та експорту в DWG

Бібліотека Node.js для 2D та 3D CAD-моделювання з відкритим кодом дозволяє створювати, редагувати та конвертувати 2D-ескізи в STL, DWG та SVG програмно

Що таке бібліотека JSketcher?

jSketcher — це потужна бібліотека Node.js, розроблена для надання простого, але потужного API для створення, редагування та експорту ескізів безпосередньо у вашому веб-застосунку. Створена з урахуванням продуктивності та простоти використання, вона використовує асинхронну природу Node.js для ефективної обробки інтерактивних завдань малювання. JSketcher — це легка бібліотека JavaScript з відкритим кодом, розроблена для програмного створення та маніпулювання 2D-ескізами. Вона надає простий та інтуїтивно зрозумілий API для малювання фігур, ліній та кривих, що робить її чудовим вибором для розробників, яким потрібно динамічно генерувати діаграми або ескізи. Проект підтримується на GitHub, вітаючи внески та відгуки спільноти, що робить його чудовим вибором для розробників, які цінують інновації з відкритим кодом.

JSketcher надає зручний для розробників інтерфейс, який спрощує налаштування та керування полотном для малювання. Бібліотека надає вбудовані інструменти для малювання від руки, створення фігур (наприклад, прямокутників, кіл), вставки тексту тощо. Він включає розширені геометричні операції, такі як перетини, зміщення та перетворення (наприклад, масштабування, обертання та переміщення). Ці функції дозволяють легко створювати складні діаграми. Бібліотека є дуже розширюваною, що дозволяє розробникам додавати власні фігури, інструменти та функції за потреби. Незалежно від того, чи створюєте ви освітні інструменти, дошки для спільної роботи чи платформи для креативного дизайну, jSketcher пропонує надійне, гнучке та модульне рішення, яке розпалить креативність вашого проекту.

Previous Next

Початок роботи з JSketcher

Рекомендований спосіб встановлення JSketcher – за допомогою npm. Будь ласка, скористайтеся наступною командою для безпроблемної інсталяції.

Встановлення JSketcher через npm

 npm install jsketcher  

Ви також можете встановити його вручну; завантажте файли останньої версії безпосередньо з репозиторію GitHub.

Створення простих ескізів за допомогою JavaScript

Бібліотека JSketcher надає зрозумілий та простий у використанні API, який дозволяє розробникам програмного забезпечення створювати ескізи з мінімальним кодом. Бібліотека розроблена для початківців, але водночас пропонує розширені функції для досвідчених розробників. У наступному прикладі показано, як розробники програмного забезпечення можуть створити новий ескіз, додати коло та прямокутник, а потім експортувати ескіз як рядок SVG.

Як створювати нові ескізи та малювати прості фігури в застосунках 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);

Експорт та збереження ескізів у Node.js

Бібліотека JSketcher з відкритим кодом дозволяє розробникам програмного забезпечення легко завантажувати та експортувати свої ескізи САПР у різні інші підтримувані формати файлів лише за допомогою кількох рядків коду. Бібліотека дозволяє експортувати ваші ескізи в різні формати, включаючи PDF, SVG та JSON. Це спрощує інтеграцію бібліотеки з іншими інструментами або відображення ескізів у веб-додатках, що корисно для додатків, які потребують постійного зберігання або можливостей спільного використання. У наступному прикладі показано, як створити полігон та експортувати ескіз як об'єкт JSON.

Як створити полігон та експортувати ескіз як об'єкт JSON всередині 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);

Співпраця в реальному часі

Хоча jSketcher виконує основні функції малювання, його інтеграція з Node.js робить його чудовим кандидатом для спільної роботи в реальному часі. Поєднуючи його з бібліотеками, такими як Socket.io, ви можете транслювати події малювання кільком користувачам, забезпечуючи спільний досвід роботи з білою дошкою. Наведений нижче фрагмент коду на стороні сервера налаштовує базову експрес-програму, яка використовує Socket.io для передачі подій малювання, прокладаючи шлях для спільного створення ескізів багатьма користувачами.

Як інтегрувати бібліотеку jSketcher із 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.');
});

Розширені геометричні операції та налаштування фігур

Бібліотека JSketcher з відкритим кодом містить розширені геометричні операції, які дозволяють розробникам програмного забезпечення виконувати такі операції, як перетини, зміщення та перетворення (наприклад, масштабування, обертання та переміщення). Ці функції дозволяють легко створювати складні діаграми. Більше того, для САПР-додатків налаштування є ключовим. jSketcher дозволяє розробникам додавати фігури з детальними параметрами, такими як розміри, координати та атрибути кольору, що гарантує точний контроль кожного елемента.

 Українська