Метод скінченних елементів в TechEditor

Метод скінченних елементів в TechEditor

Раніше ми вже писали про математичні можливості, побудову графіків та навіть використання штучного інтелекту в TechEditor. На цей раз, розглянемо не менш потужну технологію цієї програми — рушій на основі методу скінченних елементів.

Що таке метод скінченних елементів та де він застосовується?

Метод скінченних елементів (МСЕ), або Finite Element Method (FEM), є фундаментальним числовим методом для вирішення різноманітних інженерних та фізичних задач. У сучасній інженерії він став золотим стандартом для аналізу конструкцій на міцність, стійкість, деформативність.

Суть цього методу полягає в тому, щоб розбити складний об'єкт (наприклад, ферму, раму чи деталь механізму) на скінченну кількість простих елементів — стержнів, пластин або об'ємних тіл. Це дозволяє звести складну систему диференціальних рівнянь, що описують реальні фізичні процеси (деформування пружних систем, теплопередача, електромагнетизм тощо), до системи спрощених алгебраїчних рівнянь, яку можна розв'язати відомими числовими методами.

Зазвичай для МСЕ-аналізу інженери використовують потужні спеціалізовані CAE-пакети (Computer-Aided Engineering) з розвиненим графічним інтерфейсом. Серед найвідоміших продуктів цього класу варто згадати Ansys, Nastran, COMSOL, RFEM, ETABS, SAP2000, Midas Civil, SOFiSTiK та ін. Для відносно простих задач Dystlab також радять використовувати TechEditor — він містить власний рушій на основі методу скінченних елементів.

Розглянемо, як це працює.

Скінченно-елементний аналіз в TechEditor: що варто [і не варто] очікувати інженеру

Перш за все варто пам’ятати, що TechEditor призначений для розробки текстової інженерної документації — звітів, пояснювальних записок, розрахункових листів, калькуляторів, тощо.

Математичний рушій TechEditor оперує змінними та функціями в аналітичній формі, дозволяючи створювати максимально зрозумілі та прозорі інженерні розрахункі. Цей редактор не є класичною системою скінченно-елементного аналізу, а отже не варто очікувати від нього функціоналу, що присутній в існуючих комерційних пакетах (CAE).

Натомість, TechEditor пропонує “полегшений” варіант FEM-рушія. Він не візуалізує модель на екрані, а працює через текстові команди. Проте, не поспішайте розчаровуватись: увесь процес моделювання — від призначення вузлів конструкції до отримання внутрішніх зусиль — відбувається безпосередньо в вашому звіті, а отже має безпрецедентний рівень автоматизації!

Про що йдеться?

Параметричний підхід до моделювання

В TechEditor усі команди для роботи з FEM-моделлю є частиною вбудованого фізико-математичного рушія MathSIV. Кожна команда є окремою функцією (як сінус чи косінус), а отже ми не просто формуємо скрипт для аналізу, а гнучко та у природній спосіб “перев’язуємо” потрібні параметри на математичному рівні.

Йдеться про суто параметричну розрахункову модель, в якій усі характеристики (координати вузлів, властивості матеріалів, навантаження та ін.) описуються змінними або (рідше) функціями. Це може здатися заскладно, але лише на перший погляд, адже переваги такого підходу говорять самі за себе:

  1. Потрібно створити арку заданої форми? Опишіть залежність y=f(x) і отримайте точні координати вузлів арки автоматично.
  2. Потрібно посилити переріз балки? Додайте аналітичну формулу площі та моменту інерції і підбирайте оптимальні розміри.
  3. Навантаження залежать від норм проєктування? Створіть ресурний документ і використовуйте потрібні коефіцієнти безпосередньо у виразі навантаження.

Прикладів ефективного застосування параметричного підходу — безліч. Але це ще не все.

Оскільки всі характеристики скінченно-елементної моделі в TechEditor описуються параметрично, ви можете керувати ними через об’єкти автоматизації, як-от слайдер, чекбокс чи селектор. Подібний “тонкий тюнінг” дозволить вам оптимізувати модель і виконати це значно швидше та ефективніше, ніж у багатьох індустріальних CAE.

Отже, що ми маємо:

Переваги параметричної моделі TechEditor

  • Контроль кожного параметру моделі
  • Можна користуватися вбудованими та власними математичними функціями
  • Повна підтримка одиниць вимірювання
  • Якщо діяти через вектори та матриці, то розмірності усіх параметрів моделі підлаштовуються автоматично — шлях до розрахунку систем довільного розміру
  • Для повторюваних операцій можна застосовувати цикл FOR
  • Вхідні дані, основний розрахунок, перевірки за нормами — все знаходиться у вашому документі і 100% контролюється вами (схема “білої скриньки”)

Обмеження параметричної моделі TechEditor

  • Розрахункова модель не візуалізується на екрані
  • Може знадобитися графічний редактор (для підготовки зображень)
  • Потрібно володіти скриптовими командами

Короткий перелік можливостей рушія

Перелічимо основні можливості TechEditor в контексті скінченно-елементного аналізу:

  • Розмірність моделей: плоскі або просторові (2D / 3D)
  • Типи елементів: 2-вузлова балка (згин у двох площинах, розтяг / стиск, кручення) або 2-вузловий стержень (розтяг / стиск)
  • Навантаження: зосереджені, рівномірно розподілені
  • Комбінації навантажень: підтримуються
  • Аналіз: лінійна статика
  • Постпроцесор: вузлові переміщення, вузлові реакції, внутрішні зусилля в стержнях
  • Автоматизація: пошук екстремального переміщення або зусилля

Системи координат і правило знаків

В розрахунковій моделі TechEditor використовується правостороння декартова система координат.

Глобальна система координат (ГСК) слугує для позиціонування вузлів моделі. Відповідно, вузлові реакції та переміщення обчислюються в цій глобальній системі.

Локальна система координат (ЛСК) пов’язана з відповідним стержнем. Вісь “x” спрямована вздовж стержня, співпадає з його центральною віссю і характеризує стиск, розтяг або кручення. Осі “y” та “z” ЛСК доповнюють “x” до тріедра і характеризують згин стержня. Внутрішні зусилля в перерізах стержневого скінченного елементу обчислюються в його ЛСК.

Coordinate systems | FEM in TechEditor

Правило знаків для зусиль:

  • Стискаюча сила є додатною, розтягуюча сила — від'ємною (стиск “+”, розтяг “–”).
  • Поперечна сила є додатною, якщо її напрямок співпадає з напрямком осі ЛСК.
  • Момент є додатнім, якщо він обертає переріз проти годинникової стрілки навколо відповідної осі (якщо дивитися на цю вісь з боку її гострого кінця).

Примітка. Орієнтація систем координат та знаки внутрішніх зусиль в TechEditor співпадають з Autodesk Robot Structural Analysis Professional.

Приклад скінченно-елементного розрахунку балки в TechEditor

Покажемо, як розрахувати стержневу конструкцію в TechEditor. Приклад включатиме всі основні етапи проєктування — підготовку моделі (препроцесор), розрахунок (процесор), аналіз результатів (постпроцесор).

Постановка задачі

Розглянемо шарнірно обперту балку з консольним звисом, яка навантажена рівномірно розподіленим навантаженням у центральному прогоні і зосередженою силою на кінці консолі.

Працюємо в звіті (TechEditor Report), щоб на виході отримати готовий текстовий документ з інтегрованим і повністю автоматизованим розрахунком.

TechEditor запускається з одним порожнім звітом — скористаємось цим. Додамо до нашого документу схему балки, яку до цього підготували в графічному редакторі:

FEM model | TechEditor

Геометричні та фізичні характеристики балки

Спочатку автоматизуємо обчислення геометричних характеристик перерізу — вони увійдуть у параметри відповідних скінченних елементів.

Балка має трубчастий прямокутний переріз. Введемо до звіту змінні “b”, “h”, “t”, які характеризують ширину, висоту та товщину перерізу, відповідно. Використовуємо для цих цілей Math Object (вкладка Automation).

Площу обчислюємо аналітично: від площі зовнішнього контуру віднімаємо площу внутрішнього, і додаємо потрібні одиниці. Момент інерції визначаємо аналогічно, в аналітичній формі.

Math Object | FEM in TechEditor

Також вводимо у розрахунок довжину балки “L” та довжину консолі “c”. Фізико-механічні властивості балки описуємо модулем пружності “E” та модулем зсуву “G”. Розподілене навантаження “w” та зосереджений тиск “F” вказуємо в кН/м та кН, відповідно.

Команди цього блоку (Copy/Paste)

b=100 mm
h=100 mm
t=5 mm
A1=b*h
A0=(b-2*t)*(h-2*t)
A=(A1-A0)•{mm²}
J1=b*h^3/12
J0=(b-2*t)*(h-2*t)^3/12
Jy=(J1-J0)•{mm⁴}
Jx=0 mm⁴
Jz=0 mm⁴
E=200 GPa
G=78 GPa
w=8.5 kN/m
F=28 kN

Створення скінченно-елементної моделі (препроцесор)

Балку розділено на 3 скінченні елементи, що послідовно з’єднуються в 4-х вузлах.

FEM model | TechEditor

Підготовка програми

Функція femreset() видаляє попередню модель і готує рушій до роботи. В даному випадку вона не є обов’язковою, оскільки ми працюємо з однією схемою конструкції. Проте починати з неї є рекомендованою практикою — якщо ваш документ містить 2, 3 та більше моделей, то функцію femreset() потрібно викликати перед створенням кожної такої моделі (для перезапуску рушія). Ця функція вертає “0”, якщо рушій готовий до роботи.

Вузли

Вузли скінченно-елементної сітки додаються командою femnode(x y z), де “x”, “y”, “z” можуть бути фізичними величинами (розмірність — довжина, одиниці — довільні) або дійсними числами (інтерпретуються як метри). Кожна функція femnode вертає номер вузла, який вона створює, починаючи з 1.

Загальну кількість вузлів дізнаємось командою femnodes().

Примітка. В якості аргументів функції femnode (та інших команд рушія) можна використовувати змінні та функції з потрібними одиницями вимірювання.

Опори

Кінематичні закріплення вузлів (граничні умови) накладаються командою fembcond{i}(x y z rx ry rz), де “i” — номер вузла; “x”, “y”, “z” — прапорці наявності лінійних опор відносно відповідних осей ГСК; “rx”, “ry”, “rz” — прапорці наявності кутових опор.

Кожен прапорець може бути “1” (якщо опора є) або “0” (якщо опора відсутня). Таким чином, аргументами функції fembcond є шість компонентів (нулів або одиниць). Повністю вільний від опор вузол має код “0 0 0 0 0 0”, а жорстке защемлення — код “1 1 1 1 1 1”.

У нашому випадку, балка має дві шарнірні опори — рухому та нерухому. Шарнірно-нерухома опора забороняє усі переміщення вузла, крім обертання навколо осі “y”. Рухома опора діє так само, але додатково дозволяє поздовжні переміщення вузла:

  • Код плоскої шарнірно-нерухомої опори: 1 1 1 1 0 1
  • Код плоскої шарнірно-рухомої опори: 0 1 1 1 0 1

Команди цього блоку (Copy/Paste)

y=0 m
z=0 m
femnode(0 0 0)
femnode(L/2 y z)
femnode(L y z)
femnode(L+c y z)
femnodes()
fembcond{1}(1 1 1 1 0 1)
fembcond{3}(0 1 1 1 0 1)

Елементи

Скінченні елементи додаємо командою fembeam{i j}(E G A Jx Jy Jz), де “i”, “j” — номери вузлів, що з’єднуються стержнем; “E”, ”G” — модуль пружності та модуль зсуву матеріала (Па); “A”, “Jx”, “Jy”, “Jz” — площа, крутний момент інерції та згинальні моменти інерції відносно осей ЛСК x, y, z, відповідно (м, м⁴).

Функція fembeam вертає номер елемента, який вона створює, починаючи з 1. Загальну кількість елементів дізнаємось командою femelements().

Команди цього блоку (Copy/Paste)

fembeam{1 2}(E G A Jx Jy Jz)
fembeam{2 3}(E G A Jx Jy Jz)
fembeam{3 4}(E G A Jx Jy Jz)
femelements()

Навантаження

Рівномірно розподілене навантаження в TechEditor задається командою femudload{i}(qx qy qz mx my mz), де “qx”, “qy”, “qz” — інтенсивності зусилля, розподіленого вздовж відповідної осі ЛСК стержня; “mx”, “my”, “mz” — інтенсивності моментів, розподілених навколо тих самих осей.

FEM model | TechEditor

Зосереджена сила моделюється командою femnodload{i}(Fx Fy Fz Mx My Mz), де “i” — номер вузла; “Fx”, “Fy”, “Fz” — компоненти зосередженого зусилля в ГСК; “Mx”, “My”, “Mz” — компоненти зосередженого моменту, відповідно.

В нашій моделі ми оперуємо плоскими навантаженнями, тому є сенс ввести константи “w₀=0 kN/m”, “m₀=0 kN m/m”, “F₀=0 kN”, “M₀=0 kN m”, які спрощують роботу з нульовими компонентами.

Примітка. Оскільки вісь “z” глобальної системи координат орієнтована “догори”, то вертикальні навантаження від ваги елементів, як правило, мають знак “мінус”.

Команди цього блоку (Copy/Paste)

w₀=0 kN/m
m₀=0 kN m/m
femudload{1}(w₀ w₀ -w m₀ m₀ m₀)
femudload{2}(w₀ w₀ -w m₀ m₀ m₀)
F₀=0 kN
M₀=0 kN m
femnodload{4}(F₀ F₀ -F M₀ M₀ M₀)

Розрахунок моделі методом скінченних елементів (процесор)

Команда femcalc() ініціює лінійний статичний аналіз системи. Вона вертає 0, якщо модель не містить помилок і розрахунок виконано успішно:

FEM model | TechEditor

Щойно розрахунок методом скінченних елементів завершено, ми можемо проаналізувати:

  • Вузлові реакції та переміщення
  • Внутрішні зусилля та моменти в стержнях

За переміщення вузлів відповідає функція femnoddisp(i), де “i” — номер вузла. Функція вертає вектор з 6 компонент: перші три компоненти є лінійними переміщеннями вузла вздовж осей “x”, “y”, “z” (в метрах), інші три — кути поворотів навколо цих самих осей (в радіанах). Ці переміщення розглядаються в системі координат вузла, яка орієнтована як ГСК, але з початком в центрі вузла недеформованої моделі.

Щоб отримати внутрішні зусилля в елементах моделі, скористаємось функцією femintfm{p}(i), де “i” — номер стержня, “p” — початок стержня (1) або кінець (2). Кожна така функція вертає вектор з шести компонент: три сили (поздовжня і дві поперечні, в ньютонах) і три моменти (крутний і два згинальні, Н*м). Внутрішні зусилля розглядаються в ЛСК стержня.

Команди цього блоку (Copy/Paste)

femcalc()
femnoddisp(1)
femnoddisp(2)
femnoddisp(3)
femnoddisp(4)
femintfm{1}(1)
femintfm{1}(2)
femintfm{1}(3)
femintfm{2}(1)
femintfm{2}(2)
femintfm{2}(3)

Перевірка результатів розрахунку за еталонними аналітичними формулами

Перевіримо результати, які ми отримали за допомогою методу скінченних елементів. В якості критерія порівняння оберемо прогин в центрі балки.

Аналітичний вираз прогину (умовно назвемо це “точним рішенням”) складається з прогину балки від рівномірно розподіленого навантаження та зосередженої сили на консолі. Скористаємось формулами з PDF-брошури “Beam Design Formulas with Shear and Moment Diagrams” (Design Aid No. 6, AFPA, AWS, 2007).

Прогин від розподіленого навантаження:

Beam with uniformly distributed load | TechEditor

Прогин від зосередженої сили:

Beam with concentrated load | TechEditor

Реалізуємо наведені формули в середовищі TechEditor. Врахуємо, що прогини відрізняються за знаком (будьте уважні, в брошурі про це не сказано!):

FEM model | TechEditor

Як бачимо, прогини всередині балки за методом скінченних елементів та за точним аналітичним рішенням практично не відрізняються — похибка знаходиться в межах машинної точності і цілком може бути прийнята за нуль.

Зверніть увагу, що тут ми використали синонім функції femnoddisp, який вертає задане переміщення (лінійне або кутове) з одиницями вимірювання. Формат цієї функції наступний: femnoddisp{i}(dof), де “i” — номер вузла; “dof” — номер степені свободи, який може мати значення від 1 до 6:

  • 1 (лінійне переміщення вздовж осі “x” ГСК);
  • 2 (лінійне переміщення вздовж осі “y” ГСК);
  • 3 (лінійне переміщення вздовж осі “z” ГСК);
  • 4 (кут повороту навколо осі “x” ГСК);
  • 5 (кут повороту навколо осі “y” ГСК);
  • 6 (кут повороту навколо осі “z” ГСК).

Команди цього блоку (Copy/Paste)

d1=5*w*L^4/(384*E*Jy)
d2=F*c*(L/2)*(L^2-(L/2)^2)/(6*E*Jy*L)
d=d2-d1
|femnoddisp{3}(2)-d|

Автоматизація

Перевірки перерізів за нормами проєктування (постпроцесор)

Більшість промислових CAE вже мають інтегровані засоби для перевірки конструкцій за нормами проєктування. Цей етап нерідко називають “постпроцесором”.

Та навіть попри автоматизацію, вбудований постпроцесор не завжди є зручним. Ось кілька ситуацій, з якими періодично стикаються проєктувальники:

  • В програмі немає потрібних норм, стандартів, специфікацій.
  • Норми підтримуються, але застарілі.
  • Ваша задача надто “проста”, щоб використовувати CAE (це не недолік, а питання доцільності та ефективності).
  • Алгоритм потребує уточнення або редагування (наприклад, змінити коефіцієнти).
  • та ін.

Практично у всіх цих випадках комерційна CAE виступає “чорною скринею”, до алгоритмів якої ми не маємо доступу. Відповідно, втрутитися і щось змінити на цьому етапі ми не можемо — потрібно спочатку отримати текстовий звіт, а потім “докрутити” його в офісному редакторі, в електронних таблицях або за допомогою інших програм. Про небезпеки такого підходу ми писали неодноразово, наприклад тут і тут.

“Чорна скриня” добре працює в математично суворих задачах з замкненим розв’язком, які роками не змінюються і не залежать від зовнішніх чинників. Це, зокрема, сам метод скінченних елементів (точніше, його фізико-математична реалізація). Але не перевірки за нормами!

TechEditor надає альтернативу, діючи за принципом “білої скрині”. Тут ми можемо власноруч створювати потрібні перевірки з повним контролем кожного параметру.

Розглянемо, як перевірити переріз балки за згинальним моментом в TechEditor після того, як ми порахували її методом скінченних елементів.

FEM model | TechEditor

Спочатку визначимо екстремальні значення моментів, які виникають в перерізах. У цьому нам допоможе функція femintfmext{dof}(), де “dof” може мати значення від 1 до 6:

  • 1 — поздовжня сила (Н);
  • 2 — поперечна сила в напрямку “y” ЛСК стержня (Н);
  • 3 — поперечна сила в напрямку “z” ЛСК стержня (Н);
  • 4 — крутний момент (Н*м);
  • 5 — згинальний момент навколо осі “y” ЛСК стержня (Н*м);
  • 6 — згинальний момент навколо осі “z” ЛСК стержня (Н*м).

В якості результату femintfmext вертає вектор з двома компонентами — найменшим і найбільшим значенням сили або моменту (у нашому випадку, згинальним моментом). З цими значеннями можна працювати і у вигляді вектора, але я рекомендую “розвести” їх за окремими змінними Mmin та Mmax, наділивши потрібними одиницями вимірювання (кН*м).

Оскільки нас цікавить абсолютний максимум моменту, то логічно застосувати функцію Max, передавши їй додатній момент Mmax та від’ємний момент Mmin за модулем.

Наступним кроком визначаємо момент тримальної здатності Mr, використовуючи коефіцієнти γn і γc, опір сталі Ry та момент опору Wn (в аналітичній формі).

Як бачимо, в даному випадку міцність конструкції не забезпечена — згинальний момент Mf перевищує момент тримальної здатності Mr більше, ніж у 2.5 рази. Необхідно збільшити переріз та повторити розрахунки.

Команди цього блоку (Copy/Paste)

M=femintfmext{5}()
Mmax=Max(M)•{N m}•{kN m}
Mmin=Min(M)•{N m}•{kN m}
Mf=Max(Mmax |Mmin|)
γn=1.1
γc=1
Ry=250 MPa
Wn=Jy/(0.5*h)•{mm^3}
Mr=Wn*Ry*γc/γn•{kN m}
Mf/Mr

Оптимізація розмірів перерізу

Розміри перерізу ми ввели на початку проєкту. Як й інші параметри, вони реалізовані за допомогою Math Object. Цей об’єкт автоматизації чудово підходить для роботи зі змінними або виразами, значення яких майже не коливаються. Але у випадках, коли величина параметру багаторазово змінюється (підбирається) користувачем, більш ефективним є слайдер (Slider).

Повернемось на початок звіту і видалимо висоту перерізу h, яка була змодельована через Math Object. На вкладці Automation візьмемо об’єкт Slider і налаштуємо його наступним чином:

Slider automation object | TechEditor

Що відбувається? Тут ми знову вводимо у розрахунок ту саму висоту перерізу h, але тепер її значення можна варіювати від 100 до 250 мм з кроком 10 мм.

Перейдемо на останній аркуш звіту і рухаючи слайдер мишею або стрілками на клавіатурі, підберемо висоту перерізу, яка відповідатиме умові міцності:

FEM model | TechEditor

Тепер вікно слайдеру можна закрити. Зверніть увагу, що висота h зберігається у звіті з поточним значенням. Щоб знову скоригувати його слайдером, двічі клацніть по ньому в самому документі.

Ми підібрали оптимальну висоту балки — 200 мм. Але завдяки повній автоматизації обчислень, TechEditor дозволяє застосувати цей підхід до будь-якого параметру моделі.

Висновки

В цій статті ми розглянули приклад автоматизованого розрахунку стержневої конструкції методом скінченних елементів у програмі TechEditor.

Він також доступний в нашому онлайн-репозиторії прикладів. Щоб скористатися ним, двічі клацніть відповідну позицію в Project Explorer — звіт буде додано до вашого проєкту:

Download example | TechEditor

Як ми продемонстрували, ключова перевага МСЕ-рушія в TechEditor — не конкуренція з важкими CAE-системами, а глибока інтеграція в процес створення документації.

Параметричний підхід, де кожен вузол, навантаження чи переріз описується змінною, перетворює статичний звіт на живий, інтерактивний калькулятор. Можливість миттєво оптимізувати переріз за допомогою слайдера, як ми зробили з висотою балки, наочно демонструє цінність “білої скриньки”, де інженер на 100% контролює кожен етап перевірки.

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

Спробуйте цей функціонал у дії! Завантажте TechEditor та виконайте власні розрахунки. А якщо виникнуть питання — чекаємо на вас у нашій Discord-спільноті для обговорення!

Часті питання (FAQ)

  1. Q: Чи може TechEditor замінити ANSYS або Lira?
    A: Ні, TechEditor не є класичною CAE-системою. Він призначений для інтеграції параметричних розрахунків, зокрема FEM-аналізу стержневих систем, безпосередньо в текстові звіти. То ж якщо ваша задача це розрахунок балки, ферми або рами — його можна виконати в TechEditor.
  2. Q: Які типи елементів підтримує МСЕ-рушій TechEditor?
    A: Наразі підтримуються 2D/3D моделі з використанням 2-вузлової балки (згин, розтяг/стиск, кручення) та 2-вузлового стержня (розтяг/стиск).
  3. Q: Чи має Free-версія TechEditor обмеження щодо скінченно-елементного аналізу?
    A: Ні, безкоштовна версія має той самий функціонал МСЕ, що й професійна.
Image

Віталій Артьомов

"Працюю, щоб зробити «Made in Ukraine» світовим знаком якості та стилю"

Керівник, співзасновник Dystlab, розробник TechEditor. Інженер, науковець, к.т.н. з понад 20-річним досвідом в аналізі конструкцій та автоматизації інженерних розрахунків. Консультую проєктні компанії в Україні, Європі, Канаді, США.

Обговорити рішення для бізнесу: Ця електронна адреса захищена від спам-ботів. Вам необхідно увімкнути JavaScript, щоб побачити її. | +380504576819 (WhatsApp)

dystlab-logo4-bg-white1920.png
dystlab-logo4-bg-white1920.png

Технологічний центр Dystlab

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

innot needed textfoanother not needed text@dystlabdummy text.com

Visa MasterCard | DS.Store

© Copyright 2019-2026 Dystlab™, Ukraine. All rights reserved.
Ми використовуємо cookies

Сайт Dystlab Store використовує файли cookie. Деякі з них необхідні для роботи сайту, інші ж допомагають нам покращити ресурс і взаємодію з користувачами (tracking cookie). Ви можете дозволити чи заборонити ці файли на своєму пристрої. Але щоб користуватися усіма функціями сайту в повному обсязі, рекомендуємо дозволити файли cookie (кнопка OK).