Навчально-тестова web-система для оцінки та вдосконалення володіння програмними продуктами САПР 2D-проектування
Authors: Рубан Юрій Якович , Вовк Анатолій Іванович , Гірник Анатолій Володимирович 
Published: March 2022

Вступ. Державний науково-дослідний інститут автоматизованих систем в будівництві на протязі останніх років проводить атестацію інженерних кадрів будівельної галузі. Наразі проходять атестацію інженери-проектувальники. Виникає проблема автоматизованої оцінки рівня знань та тренування навичок володіння програмними продуктами систем автоматизованого проектування (САПР), зокрема, таких як BudCAD, AutoCAD, AllPlan, Revit. Результатом цієї публікації є презентація навчально-тестової Web-системи для оцінки рівня знань та вдосконалення володіння програмними продуктами САПР в частині 2D-проектування.Структура навчально-тестової Web-системиНавчально-тестова Web-система для оцінки рівня знань та вдосконалення володіння програмними продуктами систем автоматизованого проектування в частині 2D-проектування (TestCAD-2d) являє собою комплекс програм, який умовно можна розділити на декілька частин:програми взаємодії між базою даних, розміщеній на сервері, і клієнтами;плагін для інтерфейсу з вихідними файлами формату DXF (AutoCAD 2004 ASCII (dxf)), що містять інформацію про креслення, виконані за допомогою САПР (BudCAD, AutoCAD, AllPlan, Revit), та для взаємодії з сервером;власне САПР;файли креслень у форматі DXF.Вище згадані САПР можуть використовуватися самі по собі, як повні редактори креслень. Проте в деяких програмах, наприклад, в представленій в цій публікації Web-системі тестування, виникає необхідність аналізувати креслення, створені таким системами за допомогою інших програм.База даних креслень САПР зберігається в дуже стислому форматі DWG (Drawing), тому програмами користувача безпосередньо прочитати цю інформацію важко. Крім того, різні машинні реалізації САПР можуть використовувати різні внутрішні формати для бази даних, дібрані для отримання максимальної продуктивності обчислювальної машини, на якій функціонує САПР. Для забезпечення можливості обміну файлами креслень між різними машинними реалізаціями САПР, а також між САПР та іншими програмами був визначений формат файлу обміну кресленнями DXF (Drawing eXchange Format).Даний формат сприймається усіма машинними реалізаціями вищезгаданих САПР, і існує можливість його перетворення як в їх внутрішній файл креслення, так і навпаки. Саме цей формат і був вибраний для реалізації комплексу TestCAD-2d.Інтерфейс зв’язку комплексу TestCAD-2d з файлами формату DXF аналізує інформацію двох типів. До першого типу відноситься інформація про об’єкти із секції ENTITIES. Цей тип відрізняється хорошою сумісністю з програмами, для яких DXF не є рідним форматом. Другий тип використовує набагато більш складний синтаксис і читає інформацію (вірніше, деяку частину інформації) про об’єкти із секції BLOCKS.DXF – відкритий формат файлів для обміну графічною інформацією між застосуваннями САПР. Був створений фірмою Autodesk для системи AutoCAD. Підтримується практично всіма CAD-системами на платформі PC [1]. DXF був вперше представлений в грудні 1982 року як частина AutoCAD 1.0, в якості обмінного формату даних, що надає ту ж інформацію, що і закритий внутрішній формат AutoCAD – DWG, специфікація на який ніколи не надавалася. В даний час на сайті Autodesk можна знайти специфікації всіх версій DXF, починаючи з AutoCAD Release 13 (листопад 1994) по AutoCAD 2012. Починаючи з AutoCAD Release 10 (жовтень 1988 р.), крім текстового варіанта DXF, підтримується також і двійкова версія – DXB.Не зважаючи на те, що нові об’єкти в специфікації формату DXF з часом описувалися не повністю або не описувалися зовсім, формат DXF залишився де-факто одним з двох стандартів для векторних зображень у відкритих операційних системах та застосуваннях (інший стандарт – SVG). Опис формату DXF доступний на сайті розробника [2].Відомі також методи тестування, що використовують відкритий формат XML, зокрема, наприклад, система IMS QTI (Instructional Management Systems Question and Test Interoperability), заснована на IMS –одному з ключових стандартів у галузі e-Learning, яка підтримується консорціумом IMS Global Learning Consortium [3]. Ці системи набули розповсюдження для різних видів тестування [4], зокрема, математичного тестування [5] та інших застосувань, але не досліджені у сфері графічних програмних засобів.Види тестових завданьРозглянемо варіант тестового завдання, наведеного на рис. 1, яке виконане у першій вітчизняній системі автоматизованого проектування BudCAD (розробник – Державний науково-дослідний інститут автоматизованих систем в будівництві). Скриншот результуючого вікна системи TestCAD-2d, суміщеного з вікном BudCAD, наведений нижче. Рис. 1 Тестова робота для проектувальника полягає у виконанні креслення в пакеті САПР визначених завданням примітивів та виконанні кількох операцій по їх редагуванню (перетин, масштабування, обрізання тощо, прив’язка).Результат виконаної роботи зберігається у файлі DXF (використана версія 2004) засобами самого пакету БудКАД.Особливість цього тесту в тому, що він є навчальним, оскільки видає «протокол» (лог-файл) дій учасника тестування, який порівнюється з відповідним протоколом дій викладача. Складність оцінки правильності виконання завдання полягає в тому, що викладач і учень можуть виконувати елементи креслення різними способами, навіть в рамках заданої інструкції. Наприклад, трикутник може бути накреслений з використанням методів ВІДРІЗОК або ПОЛІЛІНІЯ з операцією ЗАМКНУТИ або без неї.Тепер розглянемо завдання, наведене на рис. 2, яке виконане в інтегрованій системі будівельного проектування Allplan (Nemetschek, Німеччина).Рис. 2 Результат збережено у форматі DXF версії 2002. Слід відмітити, що штриховка, виконана в AllPlan, не прив’язана до об’єкту ПРЯМОКУТНИК, на відміну від BudCAD.Ще один приклад демонструє вміння суб’єкта тестування створювати блоки та вставляти їх в креслення. Результат виконання такого типу тестового завдання наведений на рис. 3. Рис. 3 Тести для оцінки знань відмінні від навчальних тестів лише відсутністю протоколу дій учасника тестування.Програмні аспекти системи тестуванняПлагін для тестування навиків володіння САПР має наступну структуру вхідних параметрів:<OBJECT classid="clsid:F1687401-5C57-476D-BD6F-B57994DE87F1" tabindex="1" codebase="http://bil.gov.ua/ActiveBudCADProj1.ocx"><param NAME="CAD" VALUE="BudCAD"><param NAME="TestNum" VALUE="107"><param NAME="CorrectAnswer" VALUE="CIRCLE: 5,55,0;45.3$LINE: 10,10,0;10,100,0$LINE: 10,10,0;50,50,0$ LINE: 10,100,0;50,50,0"></OBJECT>Відмітимо, що тут наведено «миттєвий знімок» HTML-коду завдання, представленого на рис. 1, оскільки значення параметрів CAD, TestNum і CorrectAnswer формуються «на льоту» за допомогою програмного забезпечення, розміщеного на сервері. Крім цього, цей плагін має ще одну можливість – він відсилає варіант відповіді на сервер.ВисновокВ статті розглянуті питання розробки навчально-тестових Web-систем для оцінки рівня кваліфікації та навчання спеціалістів будівельної галузі з використанням Web-технологій. Розглянуто ряд типів тестових завдань для тестування роботи в САПР в частині 2d-проектування, як простих, так і більш складних.