Details

Title: Приложение для пакетной постобработки файлов информационных моделей зданий в нейтральном формате (IFC): выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_03 «Разработка программного обеспечения»
Creators: Ашмарин Владимир Юрьевич
Scientific adviser: Маслаков Алексей Павлович
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2023
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: bim; ifc; информационное моделирование; преобразование данных; c++; bim engeneering; data conversion
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.04
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2023/vr/vr23-867
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: ru\spstu\vkr\20536

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Тема выпускной квалификационной работы «Приложение для пакетной постобработки файлов информационных моделей зданий в нейтральном формате (IFC)».Целью работы являлось создание приложения для пакетной постобработки файлов информационных моделей зданий в нейтральном формате (IFC) для ОС Microsoft Windows.Разработанное приложение предназначено для перевода строк наименований и значений атрибутов в файлах информационных моделей зданий и сооружений в нейтральном формате IFC.Формат IFC представляет собой специализированную версию XML-формата, наследующую основные принципы от формата STEP и предназначенную для хранения информационных моделей зданий (т.н. BIM-моделей).В программе применяются технологии многопоточной программной обработки больших объемов данных.При разработке программы использовались WIN API, MFC, многопоточная обработка данных, явное кэширование обрабатываемых файлов в памяти ОС.Разработанная программа применяется в реальной работе АО «Атомэнергопроект» для постобработки файлов IFC с целью устранения недоработок проектировщиков без необходимости внесения изменений в исходные модели комплектов проектной продукции.Модуль парсинга IFC разработанный для данной программы применяется в АО «Атомэнергопроект» при разработке программного обеспечения для пакетной постобработки IFC.

The subject of the graduate qualification work is «Application for batch postprocessing of building information model files in Neutral format (IFC) ».The aim of the work was to create an application for batch postprocessing of building information model files in neutral format (IFC) for Microsoft Windows OS.The developed application is designed to translate strings of names and attribute values in the files of information models of buildings and structures in a neutral IFC format.The IFC format is a version of the XML format, based on the basic principles of the STEP format and designed for storing building information models (so-called BIM models).The program uses technologies of multithreaded software processing of large amounts of data.When developing the program, WINAPI, MFC, multithreaded data processing, explicit caching of processed files in OS memory were used.The developed program is used in the real work of Atomenergoproject JSC for post-processing of IFC files in order to eliminate the shortcomings of designers without the need to make changes to the developing models of project documentation sets.The IFC parsing module developed for this program is used in Atomenergoproject JSC in the development of software for batch postprocessing of IFC.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users SPbPU Read Print Download
-> Internet Anonymous

Table of Contents

  • 1 Иерархический список классов
    • 1.1 Иерархия классов
  • 2 Алфавитный указатель классов
    • 2.1 Классы
  • 3 Список файлов
    • 3.1 Файлы
  • 4 Классы
    • 4.1 Структура buf_strQuote
      • 4.1.1 Подробное описание
      • 4.1.2 Данные класса
        • 4.1.2.1 pb
        • 4.1.2.2 pe
        • 4.1.2.3 trcnt
    • 4.2 Структура buf_strX2X0
      • 4.2.1 Подробное описание
      • 4.2.2 Данные класса
        • 4.2.2.1 cstr
        • 4.2.2.2 pb
        • 4.2.2.3 pe
        • 4.2.2.4 qnum
    • 4.3 Класс CIFCReformatorApp
      • 4.3.1 Подробное описание
      • 4.3.2 Конструктор(ы)
        • 4.3.2.1 CIFCReformatorApp()
      • 4.3.3 Методы
        • 4.3.3.1 InitInstance()
    • 4.4 Класс CIFCReformatorDlg
      • 4.4.1 Подробное описание
      • 4.4.2 Конструктор(ы)
        • 4.4.2.1 CIFCReformatorDlg()
      • 4.4.3 Методы
        • 4.4.3.1 DefWindowProc()
        • 4.4.3.2 DoDataExchange()
        • 4.4.3.3 OnBnClickedBtnDictionary()
        • 4.4.3.4 OnBnClickedBtndo()
        • 4.4.3.5 OnBnClickedBtnIndir()
        • 4.4.3.6 OnBnClickedBtnOutdir()
        • 4.4.3.7 OnBnClickedBtnstat()
        • 4.4.3.8 OnBnClickedBtnStat()
        • 4.4.3.9 OnBnClickedOk()
        • 4.4.3.10 OnBnClickedOk2()
        • 4.4.3.11 OnInitDialog()
        • 4.4.3.12 OnPaint()
        • 4.4.3.13 OnSysCommand()
      • 4.4.4 Данные класса
        • 4.4.4.1 EditDictionary
        • 4.4.4.2 EditInDir
        • 4.4.4.3 EditOutDir
        • 4.4.4.4 EditStatFile
        • 4.4.4.5 m_hIcon
        • 4.4.4.6 m_pcfg
    • 4.5 Структура dic_description
      • 4.5.1 Подробное описание
      • 4.5.2 Данные класса
        • 4.5.2.1 entryCnt
        • 4.5.2.2 firstEntryFileName
        • 4.5.2.3 isTranslated
        • 4.5.2.4 translating
    • 4.6 Структура file_description
      • 4.6.1 Подробное описание
      • 4.6.2 Данные класса
        • 4.6.2.1 fullname
        • 4.6.2.2 name
        • 4.6.2.3 path
        • 4.6.2.4 size
    • 4.7 Структура filemap_description
      • 4.7.1 Подробное описание
      • 4.7.2 Данные класса
        • 4.7.2.1 curPos
        • 4.7.2.2 dataPtr
        • 4.7.2.3 fsize
        • 4.7.2.4 hFile
        • 4.7.2.5 hMapping
        • 4.7.2.6 isWriteAllowed
    • 4.8 Класс IFCParser
      • 4.8.1 Подробное описание
      • 4.8.2 Конструктор(ы)
        • 4.8.2.1 IFCParser() [1/2]
        • 4.8.2.2 IFCParser() [2/2]
      • 4.8.3 Методы
        • 4.8.3.1 parse_line()
      • 4.8.4 Данные класса
        • 4.8.4.1 m_pDic
        • 4.8.4.2 m_pFmapIn
        • 4.8.4.3 m_pFmapOut
    • 4.9 Структура PROGRESS_INFO
      • 4.9.1 Подробное описание
      • 4.9.2 Данные класса
        • 4.9.2.1 hwndMain
        • 4.9.2.2 justStopIT
        • 4.9.2.3 pProgress
    • 4.10 Класс ProgressDlg
      • 4.10.1 Подробное описание
      • 4.10.2 Конструктор(ы)
        • 4.10.2.1 ProgressDlg()
        • 4.10.2.2 ProgressDlg()
      • 4.10.3 Методы
        • 4.10.3.1 DoDataExchange()
        • 4.10.3.2 OnBnClickedCancel()
        • 4.10.3.3 OnBnClickedOk()
        • 4.10.3.4 OnConversionEnd()
        • 4.10.3.5 OnConversionFileInit()
        • 4.10.3.6 OnConversionInit()
        • 4.10.3.7 OnConversionStep()
        • 4.10.3.8 OnInitDialog()
        • 4.10.3.9 OnTimer()
        • 4.10.3.10 show_err()
      • 4.10.4 Данные класса
        • 4.10.4.1 BtnCancel
        • 4.10.4.2 BtnOK
        • 4.10.4.3 m_bOnlyTest
        • 4.10.4.4 m_bStop
        • 4.10.4.5 m_bTryCancel
        • 4.10.4.6 m_fileCnt
        • 4.10.4.7 m_fileIdx
        • 4.10.4.8 m_hThread
        • 4.10.4.9 m_pcfg
        • 4.10.4.10 ProgressFile
        • 4.10.4.11 ProgressTotal
        • 4.10.4.12 TxtFileCnt
        • 4.10.4.13 TxtFileName
    • 4.11 Структура s_cfg_t
      • 4.11.1 Подробное описание
      • 4.11.2 Данные класса
        • 4.11.2.1 DictionaryFileName
        • 4.11.2.2 InPath
        • 4.11.2.3 OutPath
        • 4.11.2.4 StatFileName
    • 4.12 Структура TIFCThreadEnd
      • 4.12.1 Подробное описание
      • 4.12.2 Данные класса
        • 4.12.2.1 endCode
        • 4.12.2.2 p1
        • 4.12.2.3 p2
    • 4.13 Структура TIFCThreadInitFileData
      • 4.13.1 Подробное описание
      • 4.13.2 Данные класса
        • 4.13.2.1 fileName
        • 4.13.2.2 fileSize
    • 4.14 Структура TIFCThreadInitListData
      • 4.14.1 Подробное описание
      • 4.14.2 Данные класса
        • 4.14.2.1 fileCnt
    • 4.15 Структура TIFCThreadStartData
      • 4.15.1 Подробное описание
      • 4.15.2 Данные класса
        • 4.15.2.1 bOnlyTest
        • 4.15.2.2 hWnd
        • 4.15.2.3 pcfg
        • 4.15.2.4 pfStop
  • 5 Файлы
    • 5.1 Файл AppConfig.h
      • 5.1.1 Типы
        • 5.1.1.1 cfg_t
    • 5.2 AppConfig.h
    • 5.3 Файл def.h
      • 5.3.1 Макросы
        • 5.3.1.1 CIFC_CANCEL
        • 5.3.1.2 CIFC_ERROR_DICTIONARY
        • 5.3.1.3 CIFC_ERROR_DICTIONARY_FORMAT
        • 5.3.1.4 CIFC_ERROR_IFC_EOF
        • 5.3.1.5 CIFC_ERROR_IFC_EOL
        • 5.3.1.6 CIFC_ERROR_IFC_EOX2X0
        • 5.3.1.7 CIFC_ERROR_IFC_ESTR
        • 5.3.1.8 CIFC_ERROR_IFC_ESX2X0
        • 5.3.1.9 CIFC_ERROR_IFC_IN
        • 5.3.1.10 CIFC_ERROR_IFC_OUT
        • 5.3.1.11 CIFC_ERROR_INPUT_LIST
        • 5.3.1.12 CIFC_ERROR_OUTPUT_ACCESS
        • 5.3.1.13 CIFC_ERROR_STAT
        • 5.3.1.14 CIFC_ERROR_TRANLATED_PARAM
        • 5.3.1.15 CIFC_OK
        • 5.3.1.16 WM_CONVERTION_END
        • 5.3.1.17 WM_CONVERTION_FILE_INIT
        • 5.3.1.18 WM_CONVERTION_INIT
        • 5.3.1.19 WM_CONVERTION_STEP
    • 5.4 def.h
    • 5.5 Файл fileops.cpp
      • 5.5.1 Функции
        • 5.5.1.1 close_map_file()
        • 5.5.1.2 file_fullname()
        • 5.5.1.3 get_dictionary()
        • 5.5.1.4 get_file_list()
        • 5.5.1.5 map_file_for_read()
        • 5.5.1.6 map_file_for_write()
        • 5.5.1.7 save_stat()
    • 5.6 fileops.cpp
    • 5.7 Файл fileops.h
      • 5.7.1 Функции
        • 5.7.1.1 close_map_file()
        • 5.7.1.2 file_fullname()
        • 5.7.1.3 get_dictionary()
        • 5.7.1.4 get_file_list()
        • 5.7.1.5 map_file_for_read()
        • 5.7.1.6 map_file_for_write()
        • 5.7.1.7 save_stat()
    • 5.8 fileops.h
    • 5.9 Файл framework.h
      • 5.9.1 Макросы
        • 5.9.1.1 _AFX_ALL_WARNINGS
        • 5.9.1.2 _ATL_CSTRING_EXPLICIT_CONSTRUCTORS
        • 5.9.1.3 VC_EXTRALEAN
    • 5.10 framework.h
    • 5.11 Файл IFCParser.cpp
      • 5.11.1 Переменные
        • 5.11.1.1 hex02
    • 5.12 IFCParser.cpp
    • 5.13 Файл IFCParser.h
      • 5.13.1 Перечисления
        • 5.13.1.1 IFC_STATE_T
        • 5.13.1.2 PARSE_CURCHAR_T
    • 5.14 IFCParser.h
    • 5.15 Файл IFCReformator.cpp
      • 5.15.1 Переменные
        • 5.15.1.1 theApp
    • 5.16 IFCReformator.cpp
    • 5.17 Файл IFCReformator.h
      • 5.17.1 Переменные
        • 5.17.1.1 theApp
    • 5.18 IFCReformator.h
    • 5.19 Файл IFCReformatorDlg.cpp
    • 5.20 IFCReformatorDlg.cpp
    • 5.21 Файл IFCReformatorDlg.h
    • 5.22 IFCReformatorDlg.h
    • 5.23 Файл pch.cpp
    • 5.24 pch.cpp
    • 5.25 Файл pch.h
    • 5.26 pch.h
    • 5.27 Файл ProgressDlg.cpp
      • 5.27.1 Макросы
        • 5.27.1.1 IDT_WATCHDOG_TIMER
        • 5.27.1.2 WATCHDOG_TIME
    • 5.28 ProgressDlg.cpp
    • 5.29 Файл ProgressDlg.h
    • 5.30 ProgressDlg.h
    • 5.31 Файл resource.h
      • 5.31.1 Макросы
        • 5.31.1.1 ID_BTNDO
        • 5.31.1.2 ID_BTNSTAT
        • 5.31.1.3 IDC_BTN_DICTIONARY
        • 5.31.1.4 IDC_BTN_INDIR
        • 5.31.1.5 IDC_BTN_OUTDIR
        • 5.31.1.6 IDC_BTN_OUTDIR2
        • 5.31.1.7 IDC_BTN_OUTDIR3
        • 5.31.1.8 IDC_BTN_STAT
        • 5.31.1.9 IDC_EDIT_DIC
        • 5.31.1.10 IDC_EDIT_DIC2
        • 5.31.1.11 IDC_EDIT_IN
        • 5.31.1.12 IDC_EDIT_OUT
        • 5.31.1.13 IDC_PROGRESS_FILE
        • 5.31.1.14 IDC_PROGRESS_TOTAL
        • 5.31.1.15 IDC_STATIC_FILECNT
        • 5.31.1.16 IDC_STATIC_FILENAME
        • 5.31.1.17 IDC_STATIC_FILENAME2
        • 5.31.1.18 IDD_DIALOG_PROGRESS
        • 5.31.1.19 IDD_IFCREFORMATOR_DIALOG
        • 5.31.1.20 IDM_ABOUTBOX
        • 5.31.1.21 IDR_MAINFRAME
        • 5.31.1.22 IDS_ABOUTBOX
    • 5.32 resource.h
    • 5.33 Файл SelectFolder.h
      • 5.33.1 Функции
        • 5.33.1.1 BrowseForFolder()
    • 5.34 SelectFolder.h
    • 5.35 Файл SelectFolderDlg.cpp
      • 5.35.1 Функции
        • 5.35.1.1 BrowseForFolder()
    • 5.36 SelectFolderDlg.cpp
    • 5.37 Файл targetver.h
    • 5.38 targetver.h
    • 5.39 Файл threadIFC.cpp
      • 5.39.1 Функции
        • 5.39.1.1 DoIFC()
        • 5.39.1.2 PostCancel()
        • 5.39.1.3 PostEnd()
        • 5.39.1.4 PostError()
        • 5.39.1.5 PostInitComplite()
        • 5.39.1.6 PostInitFile()
        • 5.39.1.7 PostStep()
    • 5.40 threadIFC.cpp
    • 5.41 Файл threadIFC.h
      • 5.41.1 Функции
        • 5.41.1.1 DoIFC()
    • 5.42 threadIFC.h
  • Предметный указатель

Usage statistics

stat Access count: 4
Last 30 days: 0
Detailed usage statistics