0.10.0 • Published 5 years ago
zevs-lite-model v0.10.0
Объектная модель оконных изделий и конструкций
Данная модель является облегченной (lite) версией более сложной модели, которая используется в построителе оконных изделий и конструкций. Ее предназначение состоит в отображении изделий в простых калькуляторах расчета стоимости окон и дверей ПВХ.
Модель состоит из следующих сущностей:
- Проект
- Справочник (типы изделий, системы профилей и фурнитуры)
- Справочник Шаблонов
- Справочник Единиц измерения
- Конструкция
- Изделие
- Рама
- Проем рамы
- Заполнение
- Створка
Единицы измерения
Таблица: Название, код, коэффициент перевода, погрешность по умолчанию.
Погрешность применяется для вывода.
Использование
import Project from './src/model/Project';
import Product from './src/model/Product';
import Filling from './src/model/Filling';
import Sash from './src/model/Sash';
const project = Project.create(3, 1, 1);
project.hardwareSystemDictionary.appendFromArray([{
code: 'hs1',
label: 'Система фурнитуры 1'
}, {
code: 'hs2',
label: 'Система фурнитуры 2'
}]);
project.profileSystemDictionary.appendFromArray([{
code: 'ps1',
label: 'Система профиля 1',
parameters: [{
name: 'frameBeamWidth',
value: 35
}, {
name: 'impostWidth',
value: 10
}]
}, {
code: 'ps2',
label: 'Система профиля 2'
}]);
const product1 = Product.create(1000, 2000, 3);
product1.hardwareSystem = 'hardwareSystem1';
product1.frame.apertures[0].append(new Filling);
const sash1 = Sash.create(2);
sash1.frame.apertures[0].append(new Filling);
sash1.frame.apertures[1].append(new Filling);
product1.frame.apertures[1].append(sash1);
project.constructions[0].append(product1);
console.log(project.pathDocument.serializeToString());