Бесплатная библиотека Node.js для создания эскизов и экспорта в DWG
Библиотека CAD-моделирования Node.js с открытым исходным кодом позволяет программно создавать, редактировать и конвертировать 2D-эскизы в форматы STL, DWG и SVG.
Что такое библиотека JSketcher?
jSketcher — это мощная библиотека Node.js, предоставляющая простой, но мощный API для создания, редактирования и экспорта эскизов непосредственно в вашем веб-приложении. Она разработана с учётом производительности и простоты использования и использует асинхронную природу Node.js для эффективного выполнения задач интерактивного рисования. JSketcher — это лёгкая библиотека JavaScript с открытым исходным кодом, предназначенная для программного создания и управления двухмерными эскизами. Она предоставляет простой и интуитивно понятный API для рисования фигур, линий и кривых, что делает её отличным выбором для разработчиков, которым требуется динамическая генерация диаграмм или эскизов. Проект поддерживается на GitHub, где мы рады любым предложениям и отзывам сообщества, что делает его отличным выбором для разработчиков, ценящих инновации с открытым исходным кодом.
JSketcher предоставляет удобный для разработчиков интерфейс, который упрощает настройку и управление холстом для рисования. Библиотека предоставляет встроенные инструменты для рисования от руки, создания фигур (например, прямоугольников, кругов), вставки текста и многого другого. Она включает в себя расширенные геометрические операции, такие как пересечения, смещения и преобразования (например, масштабирование, поворот и перемещение). Эти функции позволяют легко создавать сложные диаграммы. Библиотека легко расширяется, позволяя разработчикам добавлять собственные фигуры, инструменты и функции по мере необходимости. jSketcher предлагает надежное, гибкое и модульное решение для создания образовательных инструментов, досок для совместной работы или платформ для креативного дизайна, чтобы пробудить творческий потенциал вашего проекта.
Начало работы с 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, вы можете транслировать события рисования нескольким пользователям, обеспечивая совместную работу с доской. Следующий фрагмент кода на стороне сервера настраивает базовое приложение Express, которое использует 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 позволяет разработчикам добавлять фигуры с подробными параметрами, такими как размеры, координаты и атрибуты цвета, обеспечивая точный контроль каждого элемента.