KR101966518B1 - Method to control version of excel-based architecture design file - Google Patents
Method to control version of excel-based architecture design file Download PDFInfo
- Publication number
- KR101966518B1 KR101966518B1 KR1020170055598A KR20170055598A KR101966518B1 KR 101966518 B1 KR101966518 B1 KR 101966518B1 KR 1020170055598 A KR1020170055598 A KR 1020170055598A KR 20170055598 A KR20170055598 A KR 20170055598A KR 101966518 B1 KR101966518 B1 KR 101966518B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- excel
- server computer
- files
- client
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G06F17/5004—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Structural Engineering (AREA)
- Civil Engineering (AREA)
- Architecture (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 건축 BIM 설계에서 Revit 프로그램을 통하여 설계된 패밀리나 프로젝트 등의 다양한 내용들을 엑셀 파일 형태로 변환하여 출력하고, 출력된 엑셀 파일을 여러 사용자들이 공유하여 수정하는 경우 수정된 내용을 추적하여 표시할 수 있도록 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법에 관한 것이다.
본 발명에 따른 엑셀 기반 건축 설계 파일의 버전 제어 방법은 BIM(Building Information Modeling)을 위해 설계된 도면 파일이 엑셀 파일이 전환된 후, 전환된 도면 엑셀 파일을 복수의 사용자가 사용하여 수정하는 경우 수정된 부분을 검색하여 파악할 수 있도록 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법으로서, 클라이언트 컴퓨터에서 클라이언트 프로그램을 실행하여 도면 엑셀 파일이 등록된 서버 컴퓨터에 접속하는 단계와; 상기 서버 컴퓨터에 접속하는 클라이언트 컴퓨터에서 클라이언트 프로그램을 통하여 서버 컴퓨터에 등록된 도면 엑셀 파일을 다운로드 하여 수정하거나, 서버에 도면 엑셀 파일을 업로드 하여 등록하는 단계와; 상기 클라이언트 컴퓨터의 클라이언트 프로그램을 통하여 서버에 등록된 도면 엑셀 파일 중 2개의 도면 엑셀 파일을 선택하여, 선택된 도면 엑셀 파일 간의 상이점을 문자열 검색을 통해 비교하여 수정된 부분을 표시하는 단계;를 포함하여 이루어지는 것을 특징으로 한다. In the present invention, various contents such as a family or a project designed through the Revit program in the architectural BIM design are converted into an Excel file, and when the output Excel file is shared by a plurality of users, the modified contents are tracked and displayed Based architectural design file to enable the version control method of the Excel-based architectural design file.
The method of controlling the version of the Excel-based architectural design file according to the present invention is a method of revising a drawing file designed for BIM (Building Information Modeling) by using a plurality of users after converting an excel file, The method comprising the steps of: executing a client program in a client computer to access a server computer in which a drawing Excel file is registered; Downloading and modifying a drawing Excel file registered in the server computer through a client program in a client computer connected to the server computer, or uploading and downloading a drawing Excel file to the server; Selecting two drawing Excel files among the drawing Excel files registered in the server through the client program of the client computer and comparing the difference between the selected drawing Excel files through a string search to display the modified part; .
Description
본 발명은 엑셀 기반 건축 설계 파일의 버전 제어 방법에 관한 것으로, 더욱 상세하게는 건축 BIM 설계에서 Revit 프로그램을 통하여 설계된 패밀리나 프로젝트 등의 다양한 내용들을 엑셀 파일 형태로 변환하여 출력하고, 출력된 엑셀 파일을 여러 사용자들이 공유하여 수정하는 경우 수정된 내용을 추적하여 표시할 수 있도록 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법에 관한 것이다. The present invention relates to a method of controlling version control of an Excel-based architectural design file, and more particularly, to a method of controlling version control of an Excel-based architectural design file by converting various contents such as a family or a project designed through a Revit program in an architectural BIM design into an Excel file, Based architectural design file that enables a user to track and display modified contents when a plurality of users share and modify the same.
최근 건축분야에서 BIM(Building Information Modeling)이 차세대 설계 환경 대응 건축설계 도구로 각광받고 있다. 일반적으로 건축분야의 각 설계 단계는 계획 설계, 기본설계, 실시설계 등으로 이루어지며, 설계의 각 단계를 거칠 때마다 구성요소에 대한 정보 입력이 필수적으로 요구된다. In recent years, BIM (Building Information Modeling) has emerged as a design tool for the next generation design environment. In general, each design stage in the field of architecture consists of planning design, basic design, implementation design, etc., and it is essential to input information about each component through each stage of design.
이런 구성 요소에 대한 정보 입력이 필수적인 이유는 건축설계는 기본적으로 건축뿐만 아니라 구조, 기계, 전기, 통신 등의 여러 분야가 협업하는 분야이기 때문이다. 예를 들면, 여러 사람이 함께 작업하는 도면의 경우에 한 도면에 자신들이 수정해야 하는 부분이 존재할 때, 정확하게 어느 부분이 수정이 됐는지, 예전 프로젝트 파일의 값들은 어떠한 값을 가지고 있었는지 등을 알아야 건축 설계의 시간이 줄어들게 된다. The reason why information on these components is essential is that architectural design is basically a field where various fields such as structure, machine, electricity, and communication cooperate not only with architecture. For example, in the case of a drawing where several people work together, when there is a part of a drawing that needs to be corrected, it is necessary to know exactly which part has been modified and what value the old project file has Architectural design time is reduced.
BIM 기술의 강점은 바로 협업 작업이 가능하고 그것이 실시간으로 공유가 된다는 점이다. 각기 다른 분야에서 같은 도면을 가지고 자기가 하는 작업이 다른 사람들과 실시간으로 공유된다는 점에서, 기존에 하나의 작업을 완료하고 다음 프로세스로 전개하는 과정이 줄어들며, 설계 기간의 단축으로 이어진다. 이는 전체적인 경비의 절감으로 이어질 수 있다.The strength of BIM technology is that it enables collaborative work and it is shared in real time. Since the work of the same drawing in different fields is shared with other people in real time, the process of completing a single task and developing it into the next process is reduced and the design period is shortened. This can lead to overall cost savings.
위와 같은 BIM 기술을 위한 건축 설계 프로그램으로 Revit이 있는데, Revit은 Autodesk사에서 개발한 BIM 구현을 위해 제작된 BIM 소프트웨어 중 대표적인 소프트웨어로서, 건축 프로젝트에 필요한 설계, 문서화, 그리고 시공까지 지원하는 건물 설계, 문서, 시스템이다. 이러한 Revit은 단일 소프트웨어 응용프로그램으로, 개념설계에서 Revit을 사용하여 설계를 정밀하게 모델링하고, 성능을 최적화하고, 효과적으로 공동 작업을 수행할 수 있다. 또한 Revit에서 패밀리(Family)는 다양한 건축 설계에 들어가는 구성 요소(예를 들어 창, 벽체, 가구 등)들을 심벌화한 데이터(또는 라이브러리)로서, Revit 프로그램에서 GUI를 통하여 건축의 구성 요소들에 대하여 설계자가 정의하면 이는 rft라는 확장자명의 파일로 Revit 내에 저장된다. Revit is the architectural design program for BIM technology. Revit is the representative software of BIM software developed for Autodesk's BIM implementation. It is designed for building design, documentation, Document, system. Revit is a single software application that uses Revit in conceptual design to model the design precisely, optimize performance, and collaborate effectively. In Revit, a family is a data (or library) symbolizing components (eg, windows, walls, furniture, etc.) that enter a variety of architectural designs. If defined by the designer, it is stored in Revit as a file with an extension name of rft.
Revit에서 패밀리는 단순한 심벌이 아니며 그 심벌의 크기와 내용이 변하며 파생되는 모든 것을 포함한다. 예를 들어 "문" 심벌이라고 하면 실생활에서 고유한 형태와 크기를 갖는 단 하나의 심벌이지만, Revit 에서의 "문" 패밀리는 하나의 형태에서 가질 수 있는 여러 가지 크기나 재질까지 포함한다. 따라서 "유형 선택기"에서 패밀리를 선택할 때 "문: 800×2400"이라고 표기된 것을 선택하게 된다. 따라서 사실상 패밀리가 없다면 Revit 사용할 수 없다. In Revit, a family is not simply a symbol, but it contains everything that varies in size and content of the symbol. For example, a "door" symbol is a single symbol that has a unique shape and size in real life, but the "door" family in Revit encompasses various sizes and materials that can be contained in one form. Therefore, when selecting a family in the "Type Selector", you will select something labeled "Door: 800 × 2400". So, in fact, if you do not have a family, you can not use Revit.
그러나 이렇게 중요한 패밀리의 사용에 있어서 한 설계자에 의하여 만들어진 패밀리를 다른 설계자와의 공유나 재사용이 불가능하다는 것이다. 이것이 Revit BIM이 차세대 건축설계 도구로서 각광을 받고 있으면서도 국내의 현업에서 많이 사용되지 않는 이유 중 하나이다. 따라서 각 설계자는 자신의 패밀리를 만들어야 하며 공유가 어렵고 재활용이 어렵기 때문에 비슷한 건축물에 대한 패밀리 작업 또한 설계자가 다르다면 새롭게 재작성해야 하는 업무의 중복성과 번거로움, 비효율성이 존재한다. However, in the use of this important family, it is impossible to share or reuse a family created by one designer with another designer. This is one of the reasons why Revit BIM is widely used as a next-generation architectural design tool but is not widely used in domestic business. Therefore, each designer has to make his / her own family. Because it is difficult to share and difficult to recycle, there is redundancy, hassle and inefficiency of tasks that need to be newly rewritten if designers are different from family works on similar buildings.
이와 같이 설계를 진행할 때 정밀하게 모델링한 값들(패밀리)의 재사용이 용이하지 않고, 재사용을 하고 싶더라도 파일들의 용량이 크기 때문에 다른 프로젝트에 사용할 때 설계 프로그램의 속도가 저하되고, 불러온 값들과 기존의 값 중에 같은 이름이 존재한다면 중복성 에러 때문에 재사용이 어렵게 되는 문제가 존재하게 된다. 따라서, Revit에서 패밀리를 좀 더 편리하게 다른 설계 도면에 공유/접목/가공시킬 수 있고, 패밀리/프로젝트의 속성 값들을 가공/수정함으로써 패밀리의 재사용이 가능하도록 변환하는 프로그램이 요구되고 있다.In this way, it is not easy to reuse highly precisely modeled values (families) in the design process. Even if you want to reuse the files, the speed of the design program decreases when you use it for other projects. There is a problem that reusability becomes difficult due to redundancy error. Thus, there is a need for a program that allows families to more easily share / combine / manipulate families in other designs, and to transform family / project property values to enable reuse of families by modifying / modifying property values.
또한, 건축 설계 파일을 여러 사용자들이 공유하여 사용할 수 있도록 변환하는 경우, 변환된 파일을 다른 사용자가 수정하는 경우 수정된 부분을 모두 사용자가 공유할 수 있도록 파일의 수정 사항을 추적하여 비교 분석할 수 있는 버전 관리 방법이 요구된다. In addition, if you convert an architectural design file to be shared by multiple users, and if the other user modifies the converted file, you can trace the modifications in the file so that they can be shared by all users. A version control method is required.
본 발명은 상기 종래 Revit 패밀리의 재사용이 불가능한 문제점을 해결하기 위하여 제안된 것으로서, 본 발명의 목적은 BIM 설계에서 Revit 프로그램을 통하여 설계된 패밀리나 프로젝트 등의 다양한 내용을 엑셀 파일로 정리된 데이터 형태로 변환하여 출력하고, 변환된 엑셀 파일을 여러 사용자들이 공유하여 사용하는 과정에서 수정이 이루어지는 경우 수정된 내용을 추적하여 표시할 수 있도록 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법을 제공하는 데 있다. The present invention has been made to solve the problem that the conventional Revit family can not be reused, and it is an object of the present invention to convert various contents such as a family and a project designed through a Revit program in a BIM design into an organized form of an Excel file The present invention also provides a version control method of an Excel-based architectural design file that enables a user to track and display modified contents when a user changes and uses the converted Excel file.
상기 목적을 달성하기 위한 본 발명에 따른 엑셀 기반 건축 설계 파일의 버전 제어 방법은 BIM(Building Information Modeling)을 위해 설계된 도면 파일이 엑셀 파일이 전환된 후, 전환된 도면 엑셀 파일을 복수의 사용자가 사용하여 수정하는 경우 수정된 부분을 검색하여 파악할 수 있도록 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법으로서, 클라이언트 컴퓨터에서 클라이언트 프로그램을 실행하여 도면 엑셀 파일이 등록된 서버 컴퓨터에 접속하는 단계와; 상기 서버 컴퓨터에 접속하는 클라이언트 컴퓨터에서 클라이언트 프로그램을 통하여 서버 컴퓨터에 등록된 도면 엑셀 파일을 다운로드 하여 수정하거나, 서버에 도면 엑셀 파일을 업로드 하여 등록하는 단계와; 상기 클라이언트 컴퓨터의 클라이언트 프로그램을 통하여 서버에 등록된 도면 엑셀 파일 중 2개의 도면 엑셀 파일을 선택하여, 선택된 도면 엑셀 파일 간의 상이점을 문자열 검색을 통해 비교하여 수정된 부분을 표시하는 단계;를 포함한다. According to another aspect of the present invention, there is provided a method of controlling a version of an Excel-based architectural design file according to the present invention, in which a drawing file designed for BIM (Building Information Modeling) is converted into an Excel file, A step of executing a client program in a client computer and accessing a server computer in which a drawing excel file is registered; Downloading and modifying a drawing Excel file registered in the server computer through a client program in a client computer connected to the server computer, or uploading and downloading a drawing Excel file to the server; Selecting two drawing Excel files among the drawing Excel files registered in the server through the client program of the client computer and comparing the differences between the selected drawing Excel files through a string search to display the modified part.
여기에서, 상기 클라이언트 컴퓨터의 서버 컴퓨터 접속은, 클라이언트 프로그램을 통하여 접속할 서버 컴퓨터 주소(도메인)와, 사용자 ID 및 패스워드를 포함하는 사용자 정보를 입력하여, 서버 컴퓨터에 로그인하여 이루어진다. Here, the connection of the client computer to the server computer is performed by inputting the server computer address (domain) to be connected through the client program, the user information including the user ID and the password, and logging into the server computer.
또한, 상기 클라이언트 컴퓨터의 클라이언트 프로그램을 통하여 서버 컴퓨터에 업로드는 도면 엑셀 파일은, 수정되기 전 최초로 업로드 된 도면 엑셀 파일은 "파일이름, 사용자 ID, 엑셀 파일 확장자"를 포함하는 파일 이름 포맷으로 서버 컴퓨터에 등록되고, 사용자의 의해 수정되어 업로드 된 도면 엑셀 파일은 "파일이름. 사용자 ID, 업로드한 시간, 엑셀 파일 확장자"를 포함하여 파일 이름 포맷으로 서버 컴퓨터에 시간 순서대로 등록되어, 사용자에 의해 수정된 도면 엑셀 파일이 어느 사용자(ID)에 의해 어느 시점에서 수정되어 업로드 되었는지를 파일 이름 포맷을 통해 파악할 수 있도록 하는 것이 바람직하다. The drawing Excel file, which is uploaded to the server computer through the client program of the client computer, is firstly uploaded to the server computer in a file name format including "file name, user ID, Excel file extension" , The drawing Excel file that is modified and uploaded by the user is registered in the file name format in chronological order in the file name format including "file name, user ID, uploaded time, Excel file extension" It is desirable to be able to grasp, at a certain point in time, which user (ID) has been modified and uploaded in the file name format.
상기 도면 엑셀 파일의 비교를 위해 문자열 검색을 수행하는 클라이언트 프로그램은, 비교 대상이 되는 2개의 파일이 원본이 같은 파일인지 검사하여, 같은 파일인 경우 문자열 검색을 통해 비교를 수행하고, 다른 파일인 경우 비교를 종료하게 된다. In order to compare the Excel file, the client program checks whether two files to be compared are the same as the original file. If the two files are the same file, the client program performs a comparison through a string search, The comparison is terminated.
여기에서, 상기 비교 대상이 되는 2개의 파일의 원본이 같은 파일인지의 검사는, 비교대상 엑셀 파일 시트(Sheet)의 인덱스(Index)와 아이디(ID)를 체크하여 동일 여부를 파악함으로써 이루어지게 된다. Here, the check of whether the two files to be compared are the same as the original file is made by checking the index and the ID of the comparison-targeted Excel file sheet to identify whether they are the same or not .
한편, 상기 선택된 2개의 도면 엑셀 파일 간의 상이점 비교는, 2개의 도면 엑셀 파일을 셀 단위로 비교하여, 셀의 첫 번째 단어가 동일하면 동일 셀의 다음 단어에 대해 순차적으로 비교를 수행하고, 셀의 첫 번째 단어가 동일하지 않으면 해당 셀에 대한 비교를 건너뛰고 다음 셀에 대한 비교를 진행하여, 비교 시간을 단축하게 된다. On the other hand, the comparison between the two selected drawing Excel files is performed by comparing two drawing Excel files on a cell-by-cell basis, sequentially comparing the next word of the same cell if the first words of the cells are the same, If the first word is not the same, the comparison for the cell is skipped and the comparison for the next cell is performed to shorten the comparison time.
즉, 상기 선택된 2개의 도면 엑셀 파일 간의 비교는, 패턴의 길이를 저장하는 필드와 문서 데이터를 저장하는 필드를 설정하는 단계와; 비교하고자 하는 데이터의 Index와 ID 값을 비교하는 단계와; 상기 Index와 ID가 동일하지 않으면 해당 데이터에 대한 비교를 하지 않고, 동일한 경우 데이터가 Null 값을 갖는지 검사하여, Null 값을 갖는 경우 Null 값을 반환하고 검색을 종료하는 단계와, 데이터가 Null 값을 갖지 않는 경우, KMP 알고리즘에 따라 데이터의 bit를 하나씩 움직여가며 패턴을 찾아 문자열 검색을 수행하는 단계;를 포함한다. That is, the comparison between the selected two drawing Excel files includes setting a field for storing a length of a pattern and a field for storing document data; Comparing Index and ID values of data to be compared; Checking whether the data has a null value if the index and the ID do not match, returning a null value if there is a null value, and terminating the search; and if the data has a null value And performing a string search by searching the pattern by moving the bits of the data one by one according to the KMP algorithm.
상기 2개의 도면 엑셀 파일 간의 비교 결과, 수정된 부분이 발견되면 수정된 셀(Cell)의 색상을 다르게 표시하는 것이 바람직하다. When the modified part is found as a result of comparison between the two drawing Excel files, it is preferable that the color of the modified cell is displayed differently.
본 발명에 따르면, BIM 설계에서 Revit 프로그램으로 설계된 패밀리/프로젝트 파일을 엑셀 파일로 출력하여 도면 설계 파일의 데이터 수정을 용이하게 하고, 엑셀 파일 간의 공유를 가능하게 함으로써 협업적으로 작업을 수행할 수 있도록 하며, 엑셀 파일의 공유 및 사용을 통하여 내용이 수정되는 경우 수정 내용을 추적하여 간편하게 파악하고 논의할 수 있는 효과가 있다. According to the present invention, in the BIM design, it is possible to output the family / project file designed in the Revit program as an Excel file, thereby facilitating data modification of the drawing design file and enabling sharing among the Excel files, If the content is modified through the sharing and use of the Excel file, the correction contents can be tracked for easy understanding and discussion.
또한, 여러 사용자가 협업을 하는 경우 서버에서 파일을 관리해주기 때문에 자신의 PC 자원을 사용하지 않더라도 쉽게 이전 파일을 다시 열람하거나 참고 할 수 있으며, 이에 따라 여러 사용자가 하나의 설계도면 엑셀 파일을 수정하더라도 누가 언제 어느 데이터를 수정하였는지 쉽게 알 수 있으므로 다수의 사용자의 협업 시스템에 비효율성 문제를 해결할 수 있는 효과가 있다. In addition, if multiple users collaborate, the file is managed by the server. Therefore, even if the user does not use his or her own PC resource, the user can easily browse or refer to the previous file. Thus, Since it is easy to know which data has been modified by who and when, it is possible to solve the problem of inefficiency in a plurality of users' collaboration systems.
도 1은 본 발명에 따른 건축 BIM 설계 파일의 엑셀 파일 전환 방법의 개념도,
도 2는 본 발명에 따라 도면 파일의 패밀리 속성 정보를 Revit SDK(Software Develop Kit)을 사용하여 가져오는 동작 과정을 나타낸 흐름도,
도 3은 본 발명에 따라 패밀리 정보의 속성 정보를 엑셀 파일로 만들 때의 동작 과정을 나타낸 흐름도,
도 4는 본 발명에 따라 Revit을 통해 설계된 패밀리 엑셀 데이터 내용을 엑셀 파일로 전환한 화면 일례,
도 5는 본 발명에 따른 Revit에서의 도면상의 패밀리 정보 값 일례,
도 6은 본 발명에 따른 Revit API의 클래스 다이어그램,
도 7은 본 발명에 따른 Revit에서 정리된 데이터를 엑셀로 변환하는 코드의 일례,
도 8은 본 발명에 따른 Revit Add-in 버튼을 활성화 시켜주는 파일의 일례,
도 9는 본 발명에 따른 애드인 외부도구 활성화 창의 일례,
도 10은 본 발명에 따른 Revit Add-in 프로그램이 Revit Tool 안에 생성된 화면 일례,
도 11은 본 발명에 따른 Export Excel의 실행 인터페이스 일례,
도 12는 본 발명에 따른 엑셀 전환 프로그램을 통하여 추출한 도면의 엑셀 파일 일례,
도 13은 본 발명에 따른 엑셀 파일과 패밀리 정보를 비교한 화면 일례이다.
도 14는 본 발명에 따른 엑셀 기반 건축 설계 파일의 버전 제어 시스템의 개념도,
도 15는 본 발명에 따라 클라이언트 컴퓨터에서 엑셀 파일을 서버에 업로드하거나 다운로드 하는 과정을 나타낸 흐름도,
도 16은 본 발명에 따른 클라이언트 프로그램의 실행 화면 일례,
도 17은 본 발명에 따라 서버와의 연결을 통해 활성화되는 클라이언트 프로그램의 GUI 화면 일례,
도 18은 본 발명에 따라 클라이언트 컴퓨터에서 엑셀 파일의 변경 내용을 이전 파일과 비교 분석하는 과정을 나타낸 흐름도,
도 19는 본 발명에 따른 엑셀 파일의 변경 내용 비교 화면 일례,
도 20은 본 발명에 따른 E-KMP 알고리즘 코드 일례,
도 21은 본 발명에 따른 E-KMP 알고리즘에 따라 파일을 비교 분석하는 과정을 나타낸 흐름도이다. 1 is a conceptual diagram of an Excel file conversion method of an architectural BIM design file according to the present invention,
FIG. 2 is a flowchart illustrating an operation of importing family attribute information of a drawing file using a Revit SDK (Software Develop Kit) according to the present invention;
FIG. 3 is a flowchart illustrating an operation of creating attribute information of the family information into an Excel file according to the present invention.
FIG. 4 is a diagram illustrating an example of a family Excel data file designed through Revit, converted into an Excel file,
5 shows an example of a family information value in the drawing in Revit according to the present invention,
Figure 6 shows a class diagram of the Revit API according to the present invention,
7 is an example of a code for converting data summarized by Revit into Excel according to the present invention,
8 shows an example of a file for activating the Revit Add-in button according to the present invention,
9 shows an example of an add-in external tool activation window according to the present invention,
10 is a diagram showing an example of a Revit Add-in program created in the Revit Tool according to the present invention,
11 is an example of an execution interface of Export Excel according to the present invention,
12 is a view showing an example of an Excel file extracted through an Excel conversion program according to the present invention,
13 is an example of a screen comparing the Excel file and the family information according to the present invention.
FIG. 14 is a conceptual diagram of a version control system of an Excel-based architectural design file according to the present invention;
15 is a flowchart illustrating a process of uploading or downloading an Excel file to a server in a client computer according to the present invention;
16 shows an example of an execution screen of the client program according to the present invention,
17 illustrates an example of a GUI screen of a client program activated through connection with a server according to the present invention,
FIG. 18 is a flowchart illustrating a process of comparing and analyzing changes in an Excel file with a previous file in a client computer according to the present invention;
19 is a view showing an example of a change content comparison screen of an Excel file according to the present invention,
20 shows an example of the E-KMP algorithm code according to the present invention,
FIG. 21 is a flowchart illustrating a process of comparing and analyzing files according to the E-KMP algorithm according to the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
먼저, 건출 BIM 설계 도면 파일을 엑셀 파일로 전환하는 방법에 대하여 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 건축 BIM 설계 파일의 엑셀 파일 전환 방법의 개념을 나타낸 것이다.First, a description will be given of a method of converting a dry BIM design drawing file into an Excel file. 1 illustrates a concept of an Excel file conversion method of an architectural BIM design file according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명에서는 Revit에서 패밀리를 좀 더 편리하게 다른 설계 도면에 공유/접목/가공시킬 수 있고, 패밀리/프로젝트의 속성 값들을 가공/수정함으로써 패밀리의 재사용을 용이하게 할 수 있도록 건축 BIM 설계 파일의 엑셀 파일 전환 방법을 제공한다. 즉, 본 발명의 실시 예에서는 미리 작성된 Revit 설계 파일을 Revit 프로그램으로 편집을 할 때, Revit Add-in 프로그램을 통하여 작성된 설계 파일의 패밀리 정보들을 포함하여 층간 정보 등 모든 정보를 엑셀(Excel) 파일로 전환할 수 있도록 하고 있다. As shown in FIG. 1, the present invention allows families to more easily share / combine / process families into other design drawings and to facilitate reuse of families by processing / modifying property values of families / projects Provides a way to convert Excel file to architectural BIM design file. That is, in the embodiment of the present invention, when editing a pre-created Revit design file with the Revit program, all information such as the inter-layer information including the family information of the design file created through the Revit Add-in program is converted into an Excel file So that it can switch.
이를 위한 본 발명에 따른 건축 BIM 설계 파일의 엑셀 파일 전환 방법은, 먼저 Revit에서 도면 파일의 패밀리 속성 정보를 꺼낸 후, 패밀리 속성 정보를 이용하여 도면 파일을 엑셀 파일로 전환하게 된다.To this end, the architectural BIM design file conversion method of the present invention extracts the family property information of the drawing file from Revit, and then converts the drawing file into an Excel file using the family property information.
도 2는 본 발명의 실시예에 따라 도면 파일의 패밀리 속성 정보를 Revit SDK(Software Develop Kit)을 사용하여 가져오는 동작 과정을 나타낸 흐름도이다.2 is a flowchart illustrating an operation of importing family property information of a drawing file using a Revit SDK (Software Develop Kit) according to an embodiment of the present invention.
단계 S100, S110 : 먼저, 설계 도면 파일을 열어(S100), Revit DB(Data Base)에서 도면의 정보를 가져온다(S110). 작성된 기존 도면의 정보는 DB 내에 패밀리 별로 ID와 속성 정보의 Pair 값으로 존재한다. 이때 ID 값은 도면에서 패밀리 정보를 생성할 때 부여되는 ID 값으로 중복되지 않는 값을 의미한다. Steps S100 and S110: First, the design drawing file is opened (S100), and the information of the drawing is obtained from the Revit DB (Data Base) (S110). The information of the created existing drawing exists in the DB as a pair value of ID and attribute information for each family. In this case, the ID value refers to a value that is not overlapped with the ID value given when the family information is generated in the drawing.
단계 S120, S140 : ID 값을 가져온다면, ID 값과 관련된 속성 정보를 볼 수 있는 권한을 얻게 된다. 이때 패밀리 정보에 따른 ID 값에 따라 속성 정보가 모두 다르다. 만약 ID 값이 없다면 패밀리 속성정보를 가져오는 동작이 종료된다(S140).Steps S120 and S140: If the ID value is obtained, the authority to view the attribute information related to the ID value is obtained. At this time, the attribute information differs according to the ID value according to the family information. If there is no ID value, the operation of fetching the family attribute information is terminated (S140).
단계 S130 : 속성 정보를 볼 수 있는 권한을 얻게 된다면, 속성 정보 Index(Properties Index)를 받아오고, 그 후에 속성 정보의 Index에 따른 값들을 제공받아 사용한다.Step S130: If the authority to view the attribute information is obtained, the attribute information Index (Property Index) is received, and then the values according to the Index of the attribute information are received and used.
도 3은 본 발명의 실시예에 따라 패밀리 정보의 속성 정보를 엑셀 파일로 만들 때의 동작 과정을 나타낸 흐름도이다.FIG. 3 is a flowchart illustrating an operation of creating attribute information of the family information into an Excel file according to an embodiment of the present invention.
단계 S200, S210, S211 : 먼저, ID 값에 따른 속성 정보를 가져왔다면(S200), ID 별로 같은 패밀리 끼리 분류하게 된다(S210). 만약, ID 별로 같은 패밀리가 없다면 패밀리 정보는 없게 된다(S211).Steps S200, S210, S211: First, if the attribute information according to the ID value is obtained (S200), the same families are classified by ID (S210). If there is no identical family by ID, the family information does not exist (S211).
단계 S220, S230 : 이때, ID 값에서 Revit DB에서 받아온 패밀리 정보를 각 ID 별로 나누게 되는데, 처음 두 자리의 ID 값이 같다면(S220), 같은 재질(종류)의 패밀리임을 알 수 있고(S230). 처음 두 자리의 ID 값이 다르다면 다른 재질의 패밀리임을 알 수 있다(S240). 또한, 패밀리 정보를 생성할 때 Revit 프로그램 상에서 분류를 미리 지정하기 때문에, ID 값을 통해 Revit DB를 검색하여 가장 초기 분류군을 지정할 수 있다. S230 and S230: At this time, the family information received from the Revit DB in the ID value is divided into IDs. If the ID values of the first two digits are the same (S220), it is determined that the family is of the same material type (S230) . If the ID values of the first two digits are different, it is known that the family is a different material (S240). In addition, when generating family information, since the classification is specified in the Revit program in advance, it is possible to designate the earliest taxon by searching Revit DB through the ID value.
이렇게 초기 분류군을 지정하고, ID 처음 두 자리의 값을 이용하여 재질의 분류까지 이뤄진다면, 속성 정보의 Index에 따라 속성 정보 값을 차례대로 엑셀 도구를 통하여 내보내기(Export) 하게 되면 동작이 완료된다.If you assign the initial taxa and classify the material using the first two digits of the ID, then export the attribute information values through the Excel tool in order according to the index of the attribute information, and the operation is completed.
이하에서는 Revit 설계 도면을 엑셀 전환하는 방법에 대하여 보다 상세히 설명하기로 한다. Hereinafter, a method of converting an Excel Revit design drawing to Excel will be described in more detail.
본 발명은 BIM의 Revit에서 건축물의 설계 시에 발생하는 패밀리, 즉 요소들(문, 창문, 가구 등)을 좀 더 편리하게 새로운 다른 설계 도면에 공유/접목/가공시키기 위한 건축 BIM 설계 파일의 엑셀 파일 전환 방법에 관한 것으로, 본 발명을 통하여 생성된 엑셀 파일 내에서 패밀리/프로젝트의 속성 값들을 가공/수정함으로써 Revit 프로그램을 통하여 설계 도면을 보지 않더라도 간단한 오류들을 수정할 수 있으며, 이전의 수정한 부분들에 대해서 값을 저장함으로 같은 설계 도면의 진행 사항을 파악하고, 이전 버전으로 복귀를 편리하게 진행할 수 있도록 하고 있다. The present invention relates to an architectural BIM design file for sharing / joining / processing a family, i.e., elements (doors, windows, furniture, etc.) File conversion method, it is possible to correct simple errors without viewing the design drawing through the Revit program by processing / modifying the property values of the family / project in the Excel file generated through the present invention, , It is possible to understand the progress of the same design drawing and to return to the previous version conveniently.
도 4는 Revit을 통해 설계된 패밀리 엑셀 데이터 내용을 엑셀 파일로 전환한 화면 일례를 나타낸 것이다.FIG. 4 shows an example of a screen in which the contents of a family Excel data designed through Revit are converted into an Excel file.
도 4의 좌측에서 보이는 바와 같이, 설계자가 패밀리/프로젝트 설계시에 Revit 프로그램에서 생성되는 방대한 양의 엑셀파일의 데이터 내용은 설계자가 알아볼 수 없는 형태로 존재하며, 엑셀 파일의 형태로 추출할 수 없고, Revit 프로그램 내에서만 엑셀 형태로 보이게 되어 있다. 하지만, 본 발명에서 이러한 데이터를 도 4의 우측에서 보이는 형태로 생성하고 엑셀의 독립된 파일로 추출할 수 있게 함으로, Revit이 없어도 내용의 수정이 가능하고 타 설계자와 전체 또는 일부 데이터의 공유가 가능하게 한다. As shown in the left side of FIG. 4, the data contents of an enormous amount of Excel files generated by a designer in a Revit program at the time of designing a family / project exists in a form that the designer can not recognize, and can not be extracted in the form of an Excel file , It appears to be in Excel format only within the Revit program. However, in the present invention, such data can be generated in the form shown in the right side of FIG. 4 and extracted as an independent file of Excel, so that it is possible to modify the contents without Revit and to share data with other designers do.
본 발명에서는 일반적으로 건축 실무에서 많이 활용되고 있는 BIM 제작도구 Revit 2016(이후로는 Revit)을 이용하여 BIM 설계 파일의 엑셀 파일 전환 프로그램을 개발하였는데, 이는 일종의 Add-in 프로그램으로서 기존의 Revit 프로그램에 DLL 형태로 연동되며 개발된 모듈을 Revit 인터페이스에서 호출하는 형식으로 운영된다. 이를 위해서 Revit 배급사인 Autodesk 측에서 제공하는 SDK(Software Development Kit)를 이용하여 개발을 진행하였다.In the present invention, an Excel file conversion program of a BIM design file was developed using Revit 2016 (hereinafter referred to as Revit), which is generally used in architectural practice. This is a kind of add-in program, It operates in a form that calls the developed module linked from the Revit interface. To do this, we developed the software development kit (SDK) provided by Revit distributor Autodesk.
본 발명에 따른 BIM 설계 파일의 엑셀 파일 전환 프로그램은 Revit에서 제작된 BIM 데이터를 읽어들여 데이터를 엑셀 시트 환경으로 재구성하여 프로그래밍 한다. 엑셀 데이터를 생성하는 부분은 Revit SDK를 이용하여 C#으로 개발이 진행되었으며, Revit에서 제작된 건축물 모델의 각 구성 객체(패밀리)를 읽어들여 엑셀 데이터의 형식으로 추출하게 된다.The Excel file conversion program of the BIM design file according to the present invention reads the BIM data produced by Revit, reconstructs the data into an Excel sheet environment, and programs it. The part that generates Excel data is developed in C # using Revit SDK, and it extracts each constituent object (family) of building model made in Revit and extracts it as Excel data format.
도 5는 Revit에서의 도면상의 패밀리 정보 값 일례를 나타낸 것이다. 5 shows an example of the family information value in the drawing in Revit.
도 5에서 보이는 바와 같이, Revit을 통하여 설계된 엑셀 데이터들(예를 들면, 벽, 가구, 지붕 등)은 모두 숫자 값으로 되어 있고, Revit에서 제공하는 기본적인 면이나 재료들을 매핑(Mapping)해서 사용하는 형태를 취하고 있으며, 이러한 엑셀의 데이터는 Revit 프로그램을 통하여만 확인이 되게 되어 있어서 타인에게 전달이 불가능하다. As shown in FIG. 5, all of the excel data (for example, walls, furniture, roofs, etc.) designed through Revit are numerical values and are used to map basic surfaces and materials provided by Revit And the data of such Excel is confirmed only through the Revit program, and it is impossible to transmit it to other people.
이에 본 발명에 따른 엑셀 파일 전환 프로그램에서는 이러한 숫자 값들을 추출해서 문의 데이터 값인지, 지붕의 데이터 값인지를 먼저 구별해 준다. 또한, 각 패밀리 상에서 문의 가로 값이나 세로 값 등 수정할 수 있는 데이터들이 존재하는데, 수정할 수 있는 데이터 값들에 대해서 엑셀 파일로 수정할 수 있도록 도와주게 된다.Therefore, in the Excel file conversion program according to the present invention, such numerical values are extracted to distinguish first the inquiry data value and the roof data value. In addition, there is data that can be modified in each family, such as the horizontal or vertical value of the query, and it is possible to modify the data values that can be modified with an Excel file.
본 발명에서는 Revit SDK에서 제공하는 Revit API(Application Programming Interface)를 통하여 Revit 안에 있는 도면의 정보를 가져 올 수 있는데, 도 6은 Revit API의 클래스 다이어그램을 나타낸 것이다. Revit API 클래스에서 도면의 모든 정보를 가져올 수 있는 함수는 ParameterElement() 안에 존재한다. 도면의 정보가 적은 양이 아니기 때문에 원하는 정보를 가져오기 위해서는 get 함수를 통하여 도면 안에 존재하는 Parameter를 전부 확인하여 정보를 가져오는 것이 중요하다. 이때 Parameter의 값들을 정렬하여 Interface안의 ListBox() 안에 정보를 나타낼 수 있도록 한다. 정렬방식은 기호, 숫자, 영어, 한글 순으로 정렬을 하게 된다.In the present invention, information of a drawing in Revit can be retrieved through the Revit API (Application Programming Interface) provided in the Revit SDK. FIG. 6 shows a class diagram of the Revit API. In Revit API classes, a function that can get all the information of a drawing exists in ParameterElement (). Since the amount of information in the drawing is not small, it is important to retrieve the information by checking all the parameters in the drawing through the get function in order to get the desired information. At this time, the parameter values are sorted so that information can be displayed in ListBox () in Interface. Sorting is done in the order of symbol, number, English, and Korean.
또한, 정보를 Interface 상으로 불러오게 되면, 이 정보들을 엑셀 파일로 만드는 것이 중요한데, 이때는 MS에서 제공하는 Excel.Interop 함수를 사용하게 된다. Worksheet에 데이터를 Parameter의 이름을 넣고, ID와 각 속성 값 별로 정리해서 넣게 된다.In addition, when the information is loaded onto the interface, it is important to make the information into an Excel file. In this case, the Excel.Interop function provided by the MS is used. The name of the parameter is put in the Worksheet, and the ID and each property value are put together.
도 7은 Revit에서 정리된 데이터를 엑셀로 변환하는 코드의 일례를 나타낸 것이다. 도 7에서는 Revit 에서 가져온 데이터를 사용자가 알기 쉽게 정리하고, 그 데이터를 엑셀에 넣는 부분을 보여주고 있다. Revit에서 도면을 그리면 객체 Base로 도면을 그리기 때문에 기존 건축 설계를 할 때 사용하는 CAD 프로그램에서 생성되는 데이터 양보다 많아져서 Revit의 데이터를 사용자가 알기 쉽게 정리하는 것이 중요한데, 이때의 패밀리 카테고리 제목과 카테고리에 연결된 값들을 전부 분석하여 엑셀로 내보내는 과정을 도 7에서 보여주고 있다. String Format을 통해 내가 원하는 카테고리, 거기에 속해있는 속성들, 속성에 대한 값들 순서로 엑셀에 기입되도록 설정이 되어 있는 것을 볼 수 있다.7 shows an example of a code for converting data rearranged in Revit into Excel. FIG. 7 shows a portion of the data retrieved from Revit in an easy-to-understand manner and putting the data in Excel. When you draw a drawing in Revit, it draws the drawing in object base. Therefore, it is important to arrange the data of Revit in a user-friendly manner because the amount of data generated by the CAD program used in the existing architectural design is larger than the amount of data generated in the CAD program. The process of analyzing all the values connected to Excel and exporting them to Excel is shown in FIG. You can see that the string format is set to be written to Excel in the order of values for the category I want, the attributes it belongs to, and the attributes.
이하에서는 본 발명에서 개발된 BIM 설계 파일의 엑셀 파일 전환 프로그램을 상용 Revit 프로그램 안에 Add-In 시키는 과정에 대해 설명하기로 한다. Hereinafter, a process of adding-in an Excel file conversion program of the BIM design file developed in the present invention to a commercial Revit program will be described.
본 발명에서 제안하는 엑셀 파일 전환 프로그램을 실행시키면, Revit 2016이 설치되어 있는 컴퓨터의 경우 자동으로 Revit 프로그램으로 디버그를 진행하게 된다. 디버그를 진행하였으면 Revit 프로그램이 설치되어있는 폴더 안에 도 8과 같은 코드를 작성하여 넣어주는데, 도 8은 Revit Add-in 버튼을 활성화 시켜주는 파일의 일례이다. When the Excel file conversion program proposed in the present invention is executed, a computer in which Revit 2016 is installed is automatically debugged with the Revit program. After debugging, the code shown in FIG. 8 is written in the folder where the Revit program is installed. FIG. 8 is an example of a file activating the Revit Add-in button.
그 이후, 원하는 설계 도면을 선택하여 편집 모드로 들어가게 된다. 도 9는 애드인 외부도구 활성화 창의 일례를 나타낸 것으로, 도 10과 같이 애드인 탭에 외부 도구 버튼이 활성화 되어 표시되게 된다. Thereafter, the desired design drawing is selected and entered into the edit mode. FIG. 9 shows an example of an add-in external tool activation window. As shown in FIG. 10, an external tool button is activated and displayed on the add-in tab.
이후에, 도 10에서와 같은 Revit Add-in 프로그램이 Revit Tool 안에 생성된다. 기본적으로 Revit은 Add-in 시스템을 허용하는데, Revit을 이용하는 것에 있어서 좀 더 편리하게 이용할 수 있도록 사용자들이 직접 프로그램을 구성하고 Revit 안에 프로그램을 넣을 수 있는 구조를 띄고 있다. 본 발명에서는 따른 엑셀 파일 전환 프로그램이 Revit의 도면 파일을 읽어와야 하기 때문에 독립적인 프로그램보다 Add-in 방식 프로그램의 형태를 취하게 된다.Thereafter, a Revit Add-in program as shown in FIG. 10 is created in the Revit Tool. By default, Revit allows an add-in system, which allows users to configure their own programs and embed programs in Revit to make them more convenient to use with Revit. Since the Excel file conversion program according to the present invention must read the drawing file of Revit, it takes the form of an add-in type program rather than an independent program.
상기 도 10의 Add-in 프로그램 중에 Export Excel을 누르게 되면, 도 11의 창이 뜨게 된다. 도 11은 Export Excel의 실행 인터페이스 일례로서, 도 11에서 Accept 버튼을 누르게 되면 도면의 데이터를 불러오게 되고, 잠깐 동안 기다리면 체크 리스트 박스 안에 패밀리 목록들이 전부 나오게 된다. 그때 패밀리 목록을 전부 클릭하여 파일의 저장 위치를 선택하면, 도면의 모든 정보가 엑셀로 나오게 된다. 모든 패밀리 내용이 필요 없다면 필요한 항목만 클릭하여 엑셀로 추출할 수도 있다.When the user presses Export Excel in the Add-in program of FIG. 10, the window of FIG. 11 appears. FIG. 11 shows an example of an execution interface of Export Excel. Referring to FIG. 11, when the Accept button is pressed, the drawing data is retrieved. After a short while, family lists are all displayed in the checklist box. At that time, if you click the entire family list and select the storage location of the file, all the information in the drawing will be exported to Excel. If you do not need all the family content, you can also click on the required items and extract them to Excel.
이하에서는 본 발명에 따른 BIM 설계 파일의 엑셀 파일 전환 프로그램에 대한 검증을 해보기로 한다. Hereinafter, verification of an Excel file conversion program of a BIM design file according to the present invention will be described.
프로그램의 검증은 도 5에 표시된 패밀리의 정보들을 엑셀 파일 형태로 전부 추출할 수 있는지에 대해 검증하기로 하는데, 이는 패밀리 정보 즉, 벽의 가로, 세로 길이나 계단의 종류 등 각각의 속성을 전부 엑셀로 바꿔서 볼 수 있게 된다면 도면의 수정도 가능하기 때문이다. 도 12는 본 발명에 따른 엑셀 전환 프로그램을 통하여 추출한 도면의 엑셀 파일 일례를 나타낸 것이다. The verification of the program verifies whether or not the information of the family shown in FIG. 5 can be completely extracted in the form of an Excel file. This is because the family information, that is, the properties of the wall such as the length, If you can change it to view it, you can modify the drawing. FIG. 12 shows an example of an Excel file of a drawing extracted through the Excel conversion program according to the present invention.
또한, 도면 파일과 Add-in 형태의 엑셀 전환 프로그램에서 나온 엑셀 파일의 정확도를 검증하기 위하여, Revit 상에서 볼 수 있는 패밀리의 정보들과 엑셀 파일로 추출한 정보를 대조하여 검증하였다. 도 13은 특정 도면의 본 발명을 통해 생성된 엑셀 파일에서 같은 속성의 패밀리끼리 분류화 시켜놓은 Index와 Revit 프로그램상에서 나타나는 도면의 패밀리 정보를 비교한 화면의 일례로서, 엑셀 파일과 패밀리의 정보들을 대조해보면 100% 일치하는 것을 볼 수 있다. 100% 일치한다는 것은 도면 정보를 엑셀 파일로 전환 시켰을 때에 모든 정보를 엑셀 파일로 전환(Export) 시킬 수 있는 것을 의미하기 때문에, 도면의 수정이나 도면을 한눈에 보기 위한 자료로써 오류 없이 사용자가 데이터를 직관적으로 불 수 있게 된다. In addition, in order to verify the accuracy of the Excel file from the drawing file and the Excel conversion program of the add-in type, the information of the family that can be viewed on Revit was verified against the information extracted from the Excel file. FIG. 13 is a view showing an example of a screen comparing indexes classified into families having the same attributes in an Excel file generated through the present invention according to the present invention, and family information in a drawing shown on a Revit program. You can see 100% match. 100% match means that you can convert all information into an Excel file when you convert the drawing information to an Excel file. As a result, you can view the drawings and the drawings at a glance. Intuitively.
이러한 엑셀 전환 프로그램이 필요한 이유는 Revit이 기본적으로 그래픽으로 표현하기 때문에 간단히 실행하기에는 무거운 툴이고, 요즘 많이 사용되고 있는 일반적인 태블릿 PC에서 실행할 수 없다는 치명적인 단점이 존재하기 때문이다. 이러한 엑셀 전환 프로그램은 엑셀 파일 형태이기 때문에 전체적인 큰 그림을 많은 부분 수정할 수는 없겠지만, 간단하게 도면을 수정할 일이 있다면 엑셀 파일로 가지고 다니다가 일정 부분만 수정하여 활용할 수 있 수 있는 프로그램이 될 수 있다.The reason why this Excel conversion program is necessary is that Revit is basically a graphical representation, and therefore, it is a heavy tool to execute easily, and there is a fatal disadvantage that it can not be executed on a general tablet PC which is widely used nowadays. Since the Excel conversion program is an Excel file, you can not modify the whole large picture, but if you need to modify the drawing easily, you can use it as an Excel file, .
또한, Revit 안에서는 작성된 도면의 일람표를 만든 그대로 똑같이 출력해낼 수 없기 때문에 일람표 만드는 일을 두 번이나 반복하게 되는 이중 작업 현상이 일어나게 된다. 반면, 본 발명에 따른 엑셀 전환 프로그램을 이용하면 Revit 안에서 일람표를 만들게 되면 그 일람표를 엑셀 파일 형태로 출력할 수 있기 때문에 다시 이중 작업을 하지 않아도 다른 곳에서 사용할 수 있게 된다. Also, in Revit, you can not output the same list of drawings in the same way as the created drawings, so double-tasking occurs in which the creation of the table is repeated twice. On the other hand, if the Excel conversion program according to the present invention is used, the list can be output in the form of an Excel file when the schedule is created in Revit, so that it can be used in another place without performing double operation again.
이와 같이, 본 발명에서는 Revit 설계 도면 파일의 패밀리를 엑셀 파일 전환 프로그램을 이용하여 엑셀 파일 형태로 전환함으로써 사용자 간의 파일 공유에 있어 편리한 점과 도면의 모든 정보를 데이터화 하여 볼 수 있기 때문에 설계자들의 정보 공유에 있어서 직관성을 가질 수 있게 된다. As described above, according to the present invention, by converting the family of the Revit design drawing file into the Excel file format by using the Excel file conversion program, it is possible to view all the information of the drawing and the convenience of the file sharing between the users, So that it is possible to have intuitiveness.
상기 과정을 통하여 Revit의 설계 도면 파일이 엑셀 파일로 전환되면 Revit 프로그램을 수행하지 않아도 엑셀 프로그램을 통하여 설계 도면상의 요소들에 대한 정보를 쉽게 공유할 수 있으며 수정/가공 또한 가능하게 된다. If the Revit design drawing file is converted to an Excel file, the information about the elements in the design drawing can be easily shared and edited / processed through the Excel program even without executing the Revit program.
한편, 다수의 사용자가 병행적으로 같은 도면에 대한 수정 및 가공 그리고 그러한 도면의 공유를 효율적으로 혼동없이 운용하기 위해서는 수정된 내용과 파일에 대한 제어 및 추적이 필요하다. 본 발명에서는 Revit 설계 도면의 엑셀 출력 파일을 효과적으로 제어 및 추적하기 위해 기존 문서와 수정 문서의 내용을 비교하여 표시해줌으로써, 다수의 사용자에 의한 엑셀 파일 수정 사항을 쉽게 확인할 수 있도록 하여 다수 사용자의 협업 효율성을 높일 수 있도록 제공한다. On the other hand, it is necessary to control and track modified contents and files in order for a large number of users to simultaneously perform modification and processing of the same drawing and sharing of such drawings efficiently without confusion. According to the present invention, by comparing and displaying the contents of an existing document and a revised document in order to effectively control and track the excel output file of the Revit design drawing, it is possible to easily identify the modifications of the excel file by a plurality of users, .
도 14는 본 발명의 실시예에 따른 엑셀 기반 건축 설계 파일의 버전 제어 시스템의 개념도를 나타낸 것이다. FIG. 14 is a conceptual diagram of a version control system of an Excel-based architectural design file according to an embodiment of the present invention.
본 발명에 따른 엑셀 기반 건축 설계 파일의 버전 제어 시스템은 상기 도 1 내지 도 13에서 설명한 엑셀 파일 전환 프로그램을 이용하여 전환된 엑셀 기반의 패밀리 설계 파일들에 대한 버전을 관리하는 시스템으로, 일반적인 건축 설계의 공동작업시에는 설계반장이 존재하기 때문에 서버 컴퓨터 하나를 두고 파일을 교환하는 도 14와 같은 서버형 버전 제어 시스템이 적용된다. 즉, 서버 컴퓨터(Server Computer)에 모든 파일을 업로드 하고, 사용자들이 자신의 클라이언트 컴퓨터(Computer A, Computer B)를 이용하여 이 서버 컴퓨터에 접근하여 사용할 수 있게 된다. The version control system of the Excel-based architectural design file according to the present invention is a system for managing the versions of the Excel-based family design files converted using the Excel file conversion program described in FIGS. 1 to 13, A server type version control system as shown in FIG. 14 is applied in which a server computer is exchanged with a file server because there is a design team leader. That is, all the files are uploaded to the server computer, and the user can access and use the server computer with his / her client computers (Computer A, Computer B).
상기 서버 컴퓨터에는 엑셀 파일을 데이터베이스에 등록하고 관리하기 위한 서버 프로그램이 설치되고, 클라이언트 컴퓨터에는 서버 컴퓨터에 엑셀 파일을 업로드 하거나 다운로드 하여 이용하는 클라이언트 프로그램이 설치된다. The server computer is provided with a server program for registering and managing an excel file in a database, and a client program for uploading or downloading an excel file to the server computer is installed in the client computer.
상기 서버 컴퓨터에 설치되는 서버 프로그램은 클라이언트 컴퓨터로부터 전송되는 엑셀 파일을 데이터베이스에 등록하여 관리하는 프로그램으로써, 이 서버 프로그램은 클라이언트 컴퓨터의 요청시 데이터베이스에 등록된 엑셀 파일을 클라이언트 컴퓨터에 제공하여, 데이터베이스에 등록된 엑셀 파일을 다수의 클라이언트 컴퓨터에서 공유하여 사용할 수 있도록 관리하게 된다. The server program installed in the server computer is a program for registering and managing an Excel file transmitted from a client computer in a database. The server program provides the client computer with an Excel file registered in the database upon request of the client computer, The registered Excel file is managed by sharing with multiple client computers.
상기 클라이언트 컴퓨터에 설치되는 클라이언트 프로그램은 서버 컴퓨터에 저장된 엑셀 파일을 다운로드 하여 확인, 편집, 수정 등 다양한 문서 작업을 수행할 수 있도록 제공하는 프로그램으로써, 이 클라이언트 프로그램은 사용자의 선택에 따라 엑셀 파일 문서를 이전 또는 이후 파일과 비교하여 수정된 부분을 표시해 줌으로써 엑셀 파일 내용의 어떠한 부분이 얼마나 수정되었는지 사용자가 손쉽게 파악할 수 있도록 제공한다. 또한, 클라이언트 프로그램은 사용자의 작업에 의해 수정된 엑셀 파일을 서버 컴퓨터에 업로드 하여, 다른 사용자가 수정된 엑셀 파일을 이용할 수 있도록 제공하게 된다. The client program installed in the client computer is a program for downloading an excel file stored in the server computer and providing various document operations such as confirmation, editing, and correction, and the client program is capable of executing an Excel file document By showing the modified part compared to the previous or later file, the user can easily grasp what part of the contents of the Excel file has been modified. In addition, the client program uploads the Excel file modified by the user's work to the server computer, so that other users can use the modified Excel file.
도 15는 본 발명의 실시예에 따라 클라이언트 컴퓨터에서 엑셀 파일을 서버에 업로드하거나 다운로드 하는 과정을 나타낸 흐름도이다. 15 is a flowchart illustrating a process of uploading or downloading an Excel file from a client computer to a server according to an embodiment of the present invention.
단계 S300, S310, S320 : 먼저, 클라이언트 컴퓨터에서 클라이언트 프로그램이 시작되면(S300), 클라이언트 프로그램은 접속하고자 하는 서버 컴퓨터 정보의 입력을 기다리게 된다(S310). 사용자가 서버 정보를 입력하여 서버 컴퓨터와의 연결이 이루어지게 되면, 클라이언트 프로그램 상의 모든 기능 버튼이 활성화 되게 된다(S320). 도 16은 클라이언트 프로그램의 로그인 실행 화면 일례를 나타낸 것으로, 프로그램을 실행하여 "Server Connect" 창에 서버 정보(도메인, 아이디, 비밀번호, 사용자 이름 등)를 입력함으로써 서버 컴퓨터와의 연결이 이루어지게 된다. S300, S310 and S320: First, when the client program is started in the client computer (S300), the client program waits for the input of the server computer information to be connected (S310). When the user inputs server information and connection with the server computer is established, all function buttons on the client program are activated (S320). 16 shows an example of a log-in execution screen of the client program. A server is connected to the server computer by inputting server information (domain, ID, password, user name, etc.) into the "Server Connect" window by executing the program.
도 17은 서버 컴퓨터와의 연결을 통해 활성화되는 클라이언트 프로그램의 GUI 화면 일례를 나타낸 것으로, GUI 화면의 상단에는 서버 컴퓨터에 저장된 파일 목록(File List)과, 중단의 Server File에 로딩된 파일의 Label(엑셀 파일 시트) 목록(Server Label)과, 하단의 Working File에 로딩된 파일의 Label(엑셀 파일 시트) 목록(Working Label)이 표시되는 창이 구비된다. 또한, 중단에는 상단의 File List에서 선택된 파일에서 Server Label에서 선택된 Label 정보(Server File)가 표시되는 창(Server File)이 구비되고, 하단에는 엑셀 파일을 수정하기 위해 Upload 버튼을 사용하여 서버에 올릴 시에 올려지는 파일의 정보가 표시되는 창(Working File)이 구비된다. 또한, 맨 아래 메뉴 버튼으로 서버 로그인을 위한 버튼(Login), 서버의 파일 중 선택한 파일을 자신의 PC로 다운로드 하기 위한 버튼(Download), 작업 파일을 Working File에 표시하기 위한 버튼(Upload Check), 작업한 파일을 서버로 업로드 하기 위한 버튼(Upload), Server File의 파일과 작업한 Working File의 파일 간의 비교를 위한 버튼(Compare), Server File 또는 Working File의 파일을 삭제하기 위한 버튼(Clear File) 등이 구비된다. FIG. 17 shows an example of a GUI screen of a client program activated through connection with a server computer. At the top of the GUI screen, a file list (file list) stored in the server computer and a Label And a window for displaying a label (Excel file sheet) list (Working Label) of a file loaded in a working file at the bottom is provided. In addition, the server file (Server File) displayed on the Server Label selected from the Server Label in the file selected in the File List at the top is provided, and the Upload File button A working file for displaying information of a file to be uploaded is provided. In addition, a button for login of the server (login) with the bottom menu button, a button (Download) for downloading the selected file among the files of the server to the PC, a button (Upload Check) for displaying the working file in the working file, Buttons (Upload) for uploading the work files to the server, a button for comparing between the file of the Server File and the working file of the working file, a button for deleting the file of the Server File or Working File (Clear File) And the like.
단계 S330, S331, S332, S350 : 사용자는 도 17과 같이 활성화된 버튼을 이용하여 서버에 엑셀 파일을 업로드(Upload) 하거나 서버로부터 엑셀 파일을 다운로드(Download) 할 수 있게 되는데, 업로드를 선택하게 되면(S330), 업로드 할 엑셀 파일을 선택하게 된다(S331). 이때, 업로드 할 엑셀 파일은 확장자가 .xls나 .xlsx인 경우에만 파일 등록이 가능하며, 서버에 미리 정한 파일 이름만 업로드가 가능하다. 정확한 파일을 선택하였다면, 서버에 해당 엑셀 파일이 업로드 된다(S332). 업로드 된 파일은 서버에 등록된 파일을 검사하는 Check Server File을 통하여 서버에 정상적으로 등록되었는지 확인할 수 있다(S350). Steps S330, S331, S332, and S350: The user can upload an Excel file to the server or download an Excel file from the server using the activated button as shown in FIG. 17, (S330), and selects an Excel file to be uploaded (S331). At this time, the excel file to be uploaded can be registered only when the extension is .xls or .xlsx, and only the predetermined file name can be uploaded to the server. If the correct file is selected, the corresponding Excel file is uploaded to the server (S332). The uploaded file can be checked through the Check Server File that inspects the file registered in the server to see if it is normally registered in the server (S350).
본 발명의 실시예에서 클라이언트 프로그램을 통하여 서버 컴퓨터에 업로드 되는 엑셀 파일은 파일 이름 포맷이 자동으로 설정된다. 즉, 여러 사용자들에 의해 수정되기 전 최초로 서버 컴퓨터에 업로드 되는 도면 엑셀 파일은 "파일이름 + 사용자 ID + 엑셀 파일 확장자"를 포함하는 파일 형식으로 서버 컴퓨터에 저장되는데, 예를 들면 excel(pi).xlsx 등으로 등록될 수 있다. 또한, 사용자의 의해 수정되어 업로드 된 도면 엑셀 파일은 "파일이름 + 사용자 ID + 업로드한 시간 + 엑셀 파일 확장자"를 포함하여 파일 이름 포맷으로 서버 컴퓨터에 저장되는데, 예를 들면 excle(pi)10--6-14-41.xlsx 등으로 등록될 수 있다. 이러한 포맷의 도면 엑셀 파일은 등록 시간 순서에 따라 순차적으로 등록됨으로써, 어느 사용자(ID)에 의해 어느 시점에서 수정되어 업로드 되었는지를 파일 이름을 통해 파악할 수 있게 된다. In the embodiment of the present invention, the file name format of the Excel file uploaded to the server computer through the client program is automatically set. That is, the drawing Excel file that is uploaded to the server computer for the first time before being modified by several users is stored in the server computer as a file format including "file name + user ID + Excel file extension" .xlsx, and the like. In addition, the drawing Excel file which is modified and uploaded by the user is stored in the file name format including the file name + user ID + uploaded time + Excel file extension, for example, excle (pi) 10- -6-14-41.xlsx and the like. Drawing Excel files of this format are sequentially registered according to the order of registration time, so that it is possible to grasp, through a file name, which user (ID) at which point the user has been modified and uploaded.
단계 S340, S341 : 만약, 파일 업로드를 선택하지 않았다면 Check Server File을 선택하여 서버에 등록되어 있는 엑셀 파일을 확인할 수 있는데(S340), 서버에 있는 파일을 확인하고자 하는 경우 해당 파일을 선택하여 선택한 엑셀 파일의 Sheet가 창에 표시되게 된다. 이에 따라 확인하고자 하는 Sheet를 선택하게 되면 DataGridView에 선택한 시트가 출력되어 간단하게 데이터를 확인할 수 있다(S341). 만약, 파일을 다운로드 받고자 하는 경우에는 해당 파일을 선택하여 'Download' 버튼을 클릭함으로써 자신의 클라이언트 컴퓨터에 저장하게 된다. Steps S340 and S341: If the file upload is not selected, the Check Server File can be selected to check the Excel file registered in the server (S340). If a file in the server is to be checked, The sheet of the file will be displayed in the window. Accordingly, if a sheet to be checked is selected, the selected sheet is outputted to the DataGridView so that the data can be simply checked (S341). If you want to download a file, select it and click the 'Download' button to save it to your client computer.
도 18은 본 발명의 실시예에 따라 클라이언트 컴퓨터에서 엑셀 파일의 변경 내용을 이전 파일과 비교 분석하는 과정을 나타낸 흐름도이다. 18 is a flowchart illustrating a process of comparing and analyzing changes in an Excel file with a previous file in a client computer according to an embodiment of the present invention.
단계 S400, S410 : 엑셀 파일의 변경 내용 분석 과정은 클라이언트 프로그램을 통하여 활성화된 파일 비교 버튼(Compare)을 통하여 수행되는데, 사용자는 클라이언트 프로그램을 통하여 화면에 표시되는 창 1(Server File)과 창 2(Working File)에 비교 대상 엑셀 파일을 선택하여 각각 입력한 후 파일 비교 버튼(Compare)을 클릭하게 된다(S400). Steps S400 and S410: The process of analyzing the change contents of the Excel file is performed through a file comparison button (Compare) activated through the client program. The user can access the server file and the
단계 S420, S430 : 파일 비교 버튼(Compare)이 선택되면, 비교 대상으로 입력된 2개의 엑셀 파일이 같은 파일인지 먼저 비교하게 되는데, 이는 같은 파일이나 같은 Sheet가 아닌 경우 비교하는 것이 무의미하기 때문으로 2개의 파일이 같은지 아닌지 먼저 비교하게 된다(S420). 이때, 같은 파일인지 구분하는 방법은 파일 Sheet의 인덱스(Index)와 아이디(ID)를 체크하여, 같은 인덱스와 아이디를 가지고 있다면 같은 Sheet인 것으로 판단하여 비교 분석을 수행하게 된다(S430). Steps S420 and S430: If the file comparison button (Compare) is selected, the two Excel files inputted as the comparison object are first compared with the same file. This is because it is meaningless to compare the two files if they are not the same file or the same sheet (Step S420). At this time, the method of distinguishing whether the file is the same is to check the index and ID of the file Sheet, and if it has the same index and ID, it is determined that it is the same sheet and the comparative analysis is performed at step S430.
단계 S440, S450 : 이때, 엑셀 파일의 내용을 비교하여 내용이 같다면 셀에 아무런 표기를 하지 않지만(S440), 내용에 대해 변경 점이 존재하면 셀의 색상을 바꾸어 변경 점에 대해서 사용자가 알 수 있도록 표시하게 된다(S450). 도 19는 이러한 파일 비교 화면의 일례를 나타낸 것으로, Server File 창에 표시된 파일과 Working File 창에 표시된 파일이 비교되어, 변경된 부분의 Working File 창에 셀 색상이 노란색으로 표시된 것을 확인할 수 있다.S440 and S450: At this time, the contents of the Excel file are compared. If the contents are the same, the cell is not marked (S440). If there is a change point for the contents, the color of the cell is changed so that the user can know the change point. (S450). FIG. 19 shows an example of such a file comparison screen. The file displayed in the Server File window is compared with the file displayed in the Working File window, and the cell color is displayed in yellow in the changed Working File window.
단계 S460, S470 : 상기 과정은 엑셀 파일의 처음부터 끝까지 순차적으로 수행되며(S460), 파일 끝까지 수행되면 비교 검색 과정을 종료하게 된다(S470).Steps S460 and S470: The above process is sequentially performed from the beginning to the end of the Excel file (S460). When the process is performed to the end of the file, the comparison search process is terminated (S470).
본 발명에 따른 엑셀 기반 건축 설계 파일의 버전 제어에서 가장 중요한 기능 중 하나는 이전 파일과 어느 부분이 수정되어 졌는지 비교하는 기능이다. 이러한 비교 기능을 위해 본 발명에서는 문자열 검색 알고리즘을 사용하여 수정된 부분을 검색할 수 있도록 하였다. One of the most important functions in the version control of an Excel-based architectural design file according to the present invention is a function of comparing which part has been modified with a previous file. For this comparison function, in the present invention, a modified part can be searched using a string search algorithm.
문자열 검색 알고리즘이란 문자열 중에서 패턴을 찾아내어 같은 문자열을 찾는 알고리즘으로, 대표적으로 Native String Search, Finite-state automaton based search, Knuth-Morris-Pratt(KMP) Algorithm, Rabin-Karp string search algorithm 등이 존재한다. 이 중, KMP 알고리즘은 접두사 함수(prefix function)를 사용하여 문자열이 존재하는 범위를 검색함으로써, Native 알고리즘에서 필요 없는 비교 연산을 줄이도록 한 알고리즘이다. 이 KMP 알고리즘은 Kunth, Morris, Pratt 3명의 이름을 따서 KMP 알고리즘이라 불린다. 문자열 패턴 매칭은 입력으로서 기존의 파일인 텍스트 T와 입력받은 패턴 P가 주어지며, 둘은 문자열이고, 프로그램에서는 문자의 배열로 표현되어 검색을 하게 된다. 즉, 기존파일인 텍스트에서 패턴이 나타나는 모든 위치를 찾아내게 되는 것이다. 예를 들어 텍스트 abcdef 라고 가정한다고, 패턴이 def라고 한다면 패턴이 네 번째와 여섯 번째로 나타남을 알 수 있게 된다. The string search algorithm is an algorithm that finds a pattern in a string and finds the same string. Typically, there are Native String Search, Finite-state automaton based search, Knuth-Morris-Pratt (KMP) algorithm and Rabin-Karp string search algorithm . Among them, the KMP algorithm is an algorithm that uses a prefix function to search for a range in which a string exists, thereby reducing unnecessary comparison operations in the Native algorithm. This KMP algorithm is named Kunth, Morris, and
하지만, 기존의 KMP 알고리즘에서는 모든 문자열 또는 문장들에 대하여 특정 패턴을 비교 검토해야 하기에, 설계 패밀리의 엑셀 파일과 같이 방대한 설계 데이터를 포함하고 있는 경우에는 다소 비교시간이 오래 걸리는 문제가 있다. 그러나 일반적인 텍스트 형태의 데이터와는 달리 본 발명에서 다루고자 하는 설계 패밀리 파일은 엑셀 파일의 형태를 이루고 있고 엑셀 파일과 같은 포맷은 셀 단위로 단어를 포함하고 있으며, 설계파일을 엑셀로 만들 때 문장 단위로 출력이 되지 않아 모든 패턴을 찾을 필요가 없다. 즉, 셀 단위로 첫 번째 단어를 비교함으로써 그 셀에 대하여 다음 문자를 비교할 필요가 있는지 없는지를 파악할 수 있으며, 불필요 시에는 다음 셀로 진행을 이어 나아감으로써 파일 비교 수행에서 좀 더 신속성을 추구할 수 있다. 이에 따라 본 발명에서는 KMP 알고리즘을 수정하여 셀 단위로 검색을 진행하고 불필요한 문자열을 사전에 파악하여 검색하지 않도록 조정하였다. 기존 KMP 알고리즘에서 가장 최악의 문자열 패턴 검색은 TxP번 진행되는 과정인데, 이때 T는 문자열 P는 패턴이므로 이 중 T번의 과정 중에서 찾지 않아도 되는 많은 부분을 제거해 줄 수 있다면 좀 더 빠르게 데이터를 찾을 수 있게 된다. However, in the conventional KMP algorithm, since comparison of specific patterns is required for all strings or sentences, there is a problem that comparison time is somewhat long if the design file contains a large amount of design data such as an Excel file of a design family. However, unlike general text type data, the design family file to be dealt with in the present invention is in the form of an excel file, and the format such as an excel file includes words in a cell unit. When a design file is made into an excel file, So it is not necessary to find all patterns. That is, by comparing the first word on a cell-by-cell basis, it can be determined whether there is a need to compare the next character to the cell, and if not necessary, the process can proceed to the next cell, . Accordingly, in the present invention, the KMP algorithm is modified to perform search on a cell-by-cell basis, and unnecessary strings are pre-grasped and adjusted so as not to be retrieved. In the existing KMP algorithm, searching for the worst string pattern is a process of TxP times. In this case, T is a pattern P, so if you can remove many parts of T that you do not need to find, do.
이러한 점을 고려하여, 본 발명에서는 기존의 KMP 알고리즘을 변형한 E-KMP 알고리즘을 개발하여 시스템에 반영하였다. 즉, 본 발명에서는 엑셀 파일의 셀 기반 데이터 표현 방식을 활용하여 좀 더 효율적으로 비교가 가능하도록 수정된 E-KMP 알고리즘을 사용하여 원하는 문자열의 정보를 찾도록 하고 있는데, 도 20은 이러한 본 발명에 따른 E-KMP 알고리즘 코드 일례를 나타낸 것이다. 도 20과 같이, 본 발명에 따른 E-KMP 알고리즘은 파일을 비교할 때 기존의 모든 파일을 검색하는 대신 특정 행과 특정 열로 제안해서 찾을 수 있도록 하고, 패턴을 찾을 때에 처음 패턴이 맞는 부분만을 검색하여 검색을 최대한 줄일 수 있도록 하였다. 여기에서 처음 패턴이 맞는 부분만 찾는 이유는 Revit에서 엑셀 파일을 꺼낼 때에 정보가 앞의 패턴이 맞지 않으면 데이터의 종류가 다른 점을 이용한 것이다. In consideration of this point, in the present invention, an E-KMP algorithm modified from the existing KMP algorithm was developed and reflected in the system. That is, in the present invention, information of a desired character string is searched for by using the modified E-KMP algorithm so as to enable more efficient comparison by utilizing a cell-based data representation method of an Excel file. FIG. And an E-KMP algorithm code according to an embodiment of the present invention. As shown in FIG. 20, the E-KMP algorithm according to the present invention makes it possible to search for a specific row and a specific column instead of searching for all existing files when comparing files, So that search can be reduced as much as possible. The reason why I find the part that matches the first pattern here is that when extracting the Excel file from Revit, the information is different in kind of data if the previous pattern does not match.
도 21은 본 발명에 따른 E-KMP 알고리즘에 따라 파일을 비교 분석하는 과정을 나타낸 흐름도이다. FIG. 21 is a flowchart illustrating a process of comparing and analyzing files according to the E-KMP algorithm according to the present invention.
단계 S500, S510 : 먼저, 엑셀 파일에 대한 비교 분석이 시작되면(S500), 패턴의 길이와 문서를 저장하는 필드를 설정하기 위해 변수 I, M을 지정하게 된다(S510). 여기에서, I=0은 변수를 초기화하여 이 변수 값을 사용할 수 있도록 만들고, M = length of pattern 은 찾고자 하는 패턴의 값을 입력하여 비교 분석하기 위한 변수이다. Steps S500 and S510: First, when the comparison analysis of the Excel file is started (S500), variables I and M are designated to set the length of the pattern and the field for storing the document (S510). Here, I = 0 initializes a variable to make it available, and M = length of pattern is a variable for comparing and analyzing a pattern to be searched.
단계 S520 : 다음으로 Index와 ID 값을 비교하게 되는데, 엑셀 문서는 Index와 ID가 존재하기 때문에 비교 범주를 줄여줄 수 있게 된다. 즉, 패턴을 찾기 전에 찾고자 하는 데이터의 Index 즉, 범주를 비교하여 같은 패턴을 띄고 있는 데이터를 찾기 위해 모든 데이터를 검색하는 것이 아니라 일정 부분의 데이터만 비교 분석하게 된다. 여기에서, Index[i]는 i 가 가지고 있는 범주(길이, 높이, 면적 등)를 의미하고, ID[i]는 i의 ID 값(Revit에서 사용되는 고유한 ID값)을 비교함으로써 패턴을 검색하는 부분을 상당량 줄여 줄 수 있게 된다. Step S520: Next, the index and the ID value are compared. Since the index and the ID exist in the Excel document, the comparison category can be reduced. That is, before searching for a pattern, not only searching for all the data but searching for the data having the same pattern by comparing the Index of the data to be searched, that is, the category, is performed. Here, Index [i] refers to the category (length, height, area, etc.) that i holds, and ID [i] searches for a pattern by comparing the ID value of i (unique ID value used in Revit) It is possible to greatly reduce the amount of data.
단계 S530, S531 : 데이터 자체가 Null 값을 가지고 있다면(S530), null 값을 반환하고 알고리즘을 종료하게 된다(S531). 여기에서, Text[i]는 패턴을 찾고자 하는 데이터를 의미하는데, 이때 데이터가 null 값을 가지고 있다면, 알고리즘은 그대로 종료가 되고 찾고자 하는 패턴이 없음을 표시하는 null 값을 반환하게 된다.Steps S530 and S531: If the data itself has a null value (S530), the null value is returned and the algorithm is terminated (S531). Here, Text [i] is the data for which you want to find the pattern. If the data has a null value, the algorithm terminates and returns a null value indicating that no pattern is found.
단계 S540, S550, S560, S570 : 데이터가 Null 값을 가지고 있지 않다면 기존의 KMP 알고리즘에 따라 데이터의 bit를 하나씩 움직여가며 패턴을 찾고, 패턴이 존재한다면 같은 내용이므로 종료하게 되는데, 마지막까지 모든 문서 데이터의 bit를 검색하고 같은 패턴이 없다면 그대로 알고리즘이 종료되게 된다. If the data does not have a null value, the pattern is searched by moving the bits of the data one by one according to the existing KMP algorithm. If the pattern exists, And if the same pattern does not exist, the algorithm is terminated as it is.
즉, 단계 S540에서 Move bit[]는 bit 연산자를 나타내는 것으로, Text[i]만큼 bit 연산자를 통해 더하게 되면 Move bit 이 같은 단어와 bit 연산자를 통해 두 번 더해지면 0 값이 나오는 성질을 사용하여 판단하게 된다. 단계 S550에서는 Move bit에 1을 더하여 데이터를 다시 받을 수 있도록 공간을 확보하는데, 이때 다른 데이터를 검색하기 위해 i변수에 ++ 즉, 1을 더해 다음 데이터를 검색할 수 있도록 한다. 또한, 단계 S560에서 마지막으로 Move bit 이 0이 나오게 되면 같은 데이터가 존재한다는 의미이므로 0과 1UL 즉, 더 이상 찾는 데이터가 존재하지 않는 경우 알고리즘을 종료하게 된다. 만약, 1UL이 0이 아닌 경우에는 데이터가 더 존재한다는 의미이므로 계속해서 상기 단계 S540으로 돌아가 데이터를 검색하게 된다. 단계 S570에서 같은 데이터가 존재한다면 Return 값을 찾은 데이터 값으로 주기 위해 해당 위치의 주소 값을 Text 값으로 정한 후, 알고리즘을 종료하게 된다. That is, in step S540, the Move bit [] indicates a bit operator. If the bit is added through the bit operator as much as Text [i], a value of 0 is obtained when the Move bit is added twice through the same word and bit operator. . In step S550, 1 is added to the Move bit to reserve space for receiving data again. In order to retrieve the other data, +1 is added to the i variable so that the next data can be retrieved. In addition, if it is determined in step S560 that the Move bit is 0, the same data exists. Therefore, the algorithm is terminated when 0 and 1UL are not found. If 1UL is not 0, it means that there is more data, so the process returns to step S540 to retrieve data. If there is the same data in step S570, the return value is determined as a data value, so that the address value of the corresponding location is set as the Text value, and the algorithm is terminated.
이와 같이, 도면 파일들을 검색할 때 종래 KMP 알고리즘의 경우 모든 데이터를 검색하고 패턴을 전부 찾아야 끝나는 것과 달리, 본 발명에 따른 E-KMP 알고리즘은 앞에서 일치하지 않는 부분에 대해서는 끝까지 패턴을 검색하지 않기 때문에 검색 시간이 단축될 수 있다. 도 22는 검색 파일 크기에 따른 KMP 알고리즘과 본 발명의 E-KMP 알고리즘의 검색시간을 비교한 일례를 나타낸 것으로, 파일의 크기가 커질수록 시간 차이가 점점 증가하여 효율성에서 많은 차이가 나는 것을 확인할 수 있다. In the conventional KMP algorithm, when searching for drawing files, all the data are searched and all patterns must be found. However, since the E-KMP algorithm according to the present invention does not search patterns until the end, The retrieval time can be shortened. 22 shows an example in which the search time of the KMP algorithm according to the search file size and the search time of the E-KMP algorithm according to the present invention are compared. As the size of the file increases, the time difference increases gradually, have.
상술한 바와 같이, 본 발명은 BIM을 위해 설계된 도면 파일을 엑셀 파일로 전환함으로써 엑셀 파일을 통해 도면 설계 파일의 데이터 수정이 용이하게 이루어질 수 있도록 제공한다. 또한, 여러 사용자가 엑셀 파일을 공유하여 사용할 수 있으므로 협업적으로 작업을 수행할 수 있으며, 엑셀 파일의 공유 및 사용을 통하여 내용이 수정되는 경우 수정 내용을 추적하여 간편하게 파악할 수 있도록 제공한다. As described above, according to the present invention, a drawing file designed for BIM is converted into an Excel file, so that data modification of a drawing design file can be easily performed through an Excel file. In addition, since multiple users can share an excel file, they can work collaboratively, and if the contents are modified through sharing and use of the excel file, they can be easily tracked and tracked.
이러한 본 발명은 상술한 실시예에 한정되는 것은 아니며 본 발명이 속하는 기술 분야에서 통상의 지식을 갖는 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구 범위의 균등범위 내에서 다양한 수정 및 변형이 이루어질 수 있음은 물론이다. It is to be understood that the present invention is not limited to the above-described embodiment, and that various modifications and changes may be made by those skilled in the art without departing from the spirit and scope of the appended claims. Of course, can be achieved.
Claims (8)
상기 클라이언트 컴퓨터의 클라이언트 프로그램을 통하여 서버 컴퓨터에 업로드는 도면 엑셀 파일은, 수정되기 전 최초로 업로드 된 도면 엑셀 파일은 "파일이름, 사용자 ID, 엑셀 파일 확장자"를 포함하는 파일 이름 포맷으로 서버 컴퓨터에 등록되고, 사용자의 의해 수정되어 업로드 된 도면 엑셀 파일은 "파일이름. 사용자 ID, 업로드한 시간, 엑셀 파일 확장자"를 포함하여 파일 이름 포맷으로 서버 컴퓨터에 시간 순서대로 등록되어, 사용자에 의해 수정된 도면 엑셀 파일이 어느 사용자(ID)에 의해 어느 시점에서 수정되어 업로드 되었는지를 파일 이름 포맷을 통해 파악할 수 있도록 하는 것을 특징으로 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법.
(A) executing a client program on a client computer to convert a drawing file designed for BIM (Building Information Modeling) into a drawing Excel file to connect to a registered server computer; (B) a step of downloading and editing a drawing Excel file registered in the server computer through a client program in a client computer connected to the server computer, or uploading and downloading a drawing Excel file to the server; (C) selecting two drawing Excel files among drawing Excel files registered in the server computer through the client program of the client computer, comparing the difference between the selected drawing Excel files through a string search, and displaying the modified part; Based building design file, the version control method comprising:
The drawing Excel file to be uploaded to the server computer through the client program of the client computer is registered in the server computer in the file name format including "file name, user ID, Excel file extension" , And the drawing Excel file that is modified and uploaded by the user is registered in time sequence to the server computer in the file name format including "file name, user ID, uploaded time, Excel file extension" Wherein the file name format is used to identify at which point the Excel file has been modified and uploaded by a user ID.
상기 클라이언트 컴퓨터의 서버 컴퓨터 접속은, 클라이언트 프로그램을 통하여 접속할 서버 컴퓨터 주소(도메인)와, 사용자 ID 및 패스워드를 포함하는 사용자 정보를 입력하여, 서버 컴퓨터에 로그인하여 이루어지는 것을 특징으로 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법.
The method according to claim 1,
Wherein the server computer connection of the client computer is performed by inputting user information including a server computer address (domain) to be accessed through a client program, a user ID and a password, and logging in to the server computer. .
상기 도면 엑셀 파일의 비교를 위해 문자열 검색을 수행하는 클라이언트 프로그램은, 비교 대상이 되는 2개의 파일이 원본이 같은 파일인지 검사하여, 같은 파일인 경우 문자열 검색을 통해 비교를 수행하고, 다른 파일인 경우 비교를 종료하는 것을 특징으로 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법.
The method according to claim 1,
In order to compare the Excel file, the client program checks whether two files to be compared are the same as the original file. If the two files are the same file, the client program performs a comparison through a string search, And the comparison is terminated.
상기 비교 대상이 되는 2개의 파일의 원본이 같은 파일인지의 검사는, 비교대상 엑셀 파일 시트(Sheet)의 인덱스(Index)와 아이디(ID)를 체크하여 동일 여부를 파악함으로써 이루어지는 것을 특징으로 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법.
5. The method of claim 4,
Wherein the checking of whether the two files to be compared are the same as the original file is performed by checking the index and the ID of the comparison excel file sheet to determine whether they are the same or not. A method of version control of an architectural design file.
상기 선택된 2개의 도면 엑셀 파일 간의 상이점 비교는,
2개의 도면 엑셀 파일을 셀 단위로 비교하여, 셀의 첫 번째 단어가 동일하면 동일 셀의 다음 단어에 대해 순차적으로 비교를 수행하고, 셀의 첫 번째 단어가 동일하지 않으면 해당 셀에 대한 비교를 건너뛰고 다음 셀에 대한 비교를 진행하여, 비교 시간을 단축하는 것을 특징으로 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법.
(A) executing a client program on a client computer to convert a drawing file designed for BIM (Building Information Modeling) into a drawing Excel file to connect to a registered server computer; (B) a step of downloading and editing a drawing Excel file registered in the server computer through a client program in a client computer connected to the server computer, or uploading and downloading a drawing Excel file to the server; (C) selecting two drawing Excel files among drawing Excel files registered in the server computer through the client program of the client computer, comparing the difference between the selected drawing Excel files through a string search, and displaying the modified part; Based building design file, the version control method comprising:
The comparison of the differences between the two selected drawing Excel files is made by comparing
Two drawing Excel files are compared on a cell basis, and when the first words of the cells are the same, a comparison is sequentially performed on the next word of the same cell. If the first words of the cells are not the same, And compares the next cell with the previous cell, thereby shortening the comparison time.
상기 선택된 2개의 도면 엑셀 파일 간의 비교는,
(c-1) 패턴의 길이를 저장하는 필드와 문서 데이터를 저장하는 필드를 설정하는 단계와;
(c-2) 비교하고자 하는 데이터의 Index와 ID 값을 비교하는 단계와;
(c-3) 상기 Index와 ID가 동일하지 않으면 해당 데이터에 대한 비교를 하지 않고, 동일한 경우 데이터가 Null 값을 갖는지 검사하여, Null 값을 갖는 경우 Null 값을 반환하고 검색을 종료하는 단계와,
(c-4) 데이터가 Null 값을 갖지 않는 경우, KMP 알고리즘에 따라 데이터의 bit를 하나씩 움직여가며 패턴을 찾아 문자열 검색을 수행하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법.
(A) executing a client program on a client computer to convert a drawing file designed for BIM (Building Information Modeling) into a drawing Excel file to connect to a registered server computer; (B) a step of downloading and editing a drawing Excel file registered in the server computer through a client program in a client computer connected to the server computer, or uploading and downloading a drawing Excel file to the server; (C) selecting two drawing Excel files among drawing Excel files registered in the server computer through the client program of the client computer, comparing the difference between the selected drawing Excel files through a string search, and displaying the modified part; Based building design file, the version control method comprising:
The comparison between the two selected drawing Excel files is performed as follows:
(c-1) setting a field for storing a length of a pattern and a field for storing document data;
(c-2) comparing Index and ID values of data to be compared;
(c-3) checking whether the data has a null value if the index and the ID are not the same, without returning to the corresponding data, returning a null value if there is a null value, and terminating the search;
and (c-4) if the data does not have a null value, searching for a pattern and performing a string search by moving the bits of the data one by one according to the KMP algorithm. Control method.
상기 2개의 도면 엑셀 파일 간의 비교 결과, 수정된 부분이 발견되면 수정된 셀(Cell)의 색상을 다르게 표시하는 것을 특징으로 하는 엑셀 기반 건축 설계 파일의 버전 제어 방법.The method according to any one of claims 1, 6, and 7,
Wherein the color of the modified cell is displayed differently when the modified part is found as a result of comparison between the two drawing Excel files.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170055598A KR101966518B1 (en) | 2017-04-28 | 2017-04-28 | Method to control version of excel-based architecture design file |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170055598A KR101966518B1 (en) | 2017-04-28 | 2017-04-28 | Method to control version of excel-based architecture design file |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180121193A KR20180121193A (en) | 2018-11-07 |
KR101966518B1 true KR101966518B1 (en) | 2019-04-05 |
Family
ID=64362790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170055598A KR101966518B1 (en) | 2017-04-28 | 2017-04-28 | Method to control version of excel-based architecture design file |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101966518B1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102040772B1 (en) * | 2018-11-09 | 2019-11-05 | 주식회사 커넥트스토리 | Data management method for consulting project relation to registering items on public procurement service |
CN109858138B (en) * | 2019-01-28 | 2022-09-16 | 厦门海迈科技股份有限公司 | BIM-based room decoration component processing method, device, terminal and medium |
CN111736805B (en) * | 2019-03-25 | 2024-04-05 | 北京沃东天骏信息技术有限公司 | Method and device for processing Excel table |
US11663375B2 (en) * | 2019-05-03 | 2023-05-30 | Willow Technology Corporation Pty Ltd | Configuration of a digital twin for a building or other facility via BIM data extraction and asset register mapping |
CN110866304B (en) * | 2019-12-25 | 2024-02-02 | 中铁建设集团有限公司 | Method for creating integrated straight wall component model based on reinforcing steel bar template |
KR102567639B1 (en) * | 2021-05-14 | 2023-08-17 | 주식회사 이안 | Methods for managing design change points |
CN114692269A (en) * | 2022-03-21 | 2022-07-01 | 中建交通建设集团有限公司 | View standardization control method and system based on structural modeling of Revit platform |
KR102507637B1 (en) * | 2022-03-28 | 2023-03-07 | 김영홍 | Method for providing spreadsheet data processing service and electronic device thereof |
CN114722030A (en) * | 2022-05-19 | 2022-07-08 | 江铃汽车股份有限公司 | Method for establishing ECU calibration database based on Excel VBA |
CN115115787B (en) * | 2022-07-22 | 2024-04-16 | 重庆筑信云智建筑科技有限公司 | DirectVR-based two-dimensional drawing to 3D model method |
CN117556519B (en) * | 2023-12-11 | 2024-08-09 | 深圳大学 | Conversion method and equipment for digital twin-oriented Revit model data |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016021101A (en) * | 2014-07-14 | 2016-02-04 | 株式会社日立製作所 | Design change management support device, and method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150066692A (en) | 2013-12-09 | 2015-06-17 | 주식회사 위메이드아이앤씨 | Device and method for converting of bim model |
KR101880964B1 (en) * | 2015-10-08 | 2018-07-24 | 주식회사 비아이엠에스 | A batch processing system for properties of the Building Information Modeling library |
-
2017
- 2017-04-28 KR KR1020170055598A patent/KR101966518B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016021101A (en) * | 2014-07-14 | 2016-02-04 | 株式会社日立製作所 | Design change management support device, and method |
Also Published As
Publication number | Publication date |
---|---|
KR20180121193A (en) | 2018-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101966518B1 (en) | Method to control version of excel-based architecture design file | |
KR101885089B1 (en) | Excel export method for bim design files | |
US9361069B2 (en) | Systems and methods for defining a simulated interactive web page | |
US7269580B2 (en) | Application integration system and method using intelligent agents for integrating information access over extended networks | |
US7496890B2 (en) | Generation of configuration instructions using an abstraction technique | |
US20130152038A1 (en) | Project management workflows | |
US12099531B2 (en) | Information retrieval | |
US20110098985A1 (en) | System and method for managing information | |
US20080015911A1 (en) | Methods and apparatuses for developing business solutions | |
US8381104B2 (en) | Systems and methods for providing context recognition | |
US20230102947A1 (en) | Providing operations in accordance with worksheet relationships and data object relationships | |
CN117669038A (en) | Multidisciplinary optimization model construction system and method | |
KR102588597B1 (en) | Method for designing a program using operation logic designer as an alternative editor for uml sequence diagram and apparatus using the same | |
KR102692574B1 (en) | Method and apparatus for automatically creating detail of 3-dimensional design model using library transplant | |
JPH0475136A (en) | Program developing device | |
CN117931646A (en) | Dynamic control script-based network security test resource meta-model construction method and system | |
Lewandowski | Learnings from My Migration to EG 7.1 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |