KR102248977B1 - The automatic piping route generation method of plant engineering - Google Patents

The automatic piping route generation method of plant engineering Download PDF

Info

Publication number
KR102248977B1
KR102248977B1 KR1020190042939A KR20190042939A KR102248977B1 KR 102248977 B1 KR102248977 B1 KR 102248977B1 KR 1020190042939 A KR1020190042939 A KR 1020190042939A KR 20190042939 A KR20190042939 A KR 20190042939A KR 102248977 B1 KR102248977 B1 KR 102248977B1
Authority
KR
South Korea
Prior art keywords
point
node
coordinates
pipeline
jump
Prior art date
Application number
KR1020190042939A
Other languages
Korean (ko)
Other versions
KR20200120817A (en
Inventor
박철수
유원선
권혁천
민좌근
Original Assignee
박철수
유원선
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 박철수, 유원선 filed Critical 박철수
Priority to KR1020190042939A priority Critical patent/KR102248977B1/en
Publication of KR20200120817A publication Critical patent/KR20200120817A/en
Application granted granted Critical
Publication of KR102248977B1 publication Critical patent/KR102248977B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability

Abstract

본 발명은 플랜트엔지니어링의 3차원 배관 자동 생성방법에 관한 것으로서, 배관에 필요한 탱크와 리액터 등의 장치와 파이프 랙 등의 구조물을 형성하여 자동으로 배관을 생성할 수 있는 플랜트엔지니어링의 3차원 배관 자동 생성방법에 관한 것으로서,
서버에 저장된 플롯플랜, P&ID, 라인 리스트 및 장치 또는 구조물의 템플릿 데이터를 이용한 3차원 캐드 작업을 하기 위한 플랜트엔지니어링의 3차원 배관 자동 생성방법에 있어서, (a) 상기 서버의 플롯플랜의 정보를 기초로 좌표를 설정한 3차원 캐드 기본 데이터가 형성되는 단계; (b) 상기 서버의 데이터에서 장치나 구조물의 템플릿을 불러와, 플랜트 프로젝트의 특성에 맞춰 3차원의 장치나 구조물의 템플릿이 생성되는 단계; (c) 상기 좌표가 설정된 3차원 캐드 기본 데이터에 상기 플롯플랜상의 해당 영역상의 좌표값에 따라 (b)단계에서 생성된 상기 3차원 장치나 구조물이 배치되는 단계; (d) 상기 P&ID와 라인 리스트 데이터를 서버에서 불러와 해당 P&ID 상의 파이프라인이 출발점과 도착점의 장치나 구조물의 좌표에 매칭되는 단계; (e) 상기 장치나 구조물의 출발점 및 도착점의 좌표와 매칭된 P&ID 상의 파이프 라인이 중간에 경유하는 파이프랙이나 건물과 같은 중간구조물의 출발점 및 도착점의 좌표가 지정되는 단계; 및 (f) 상기 P&ID 상의 파이프라인에 매칭된 장치나 구조물의 출발점과 도착점의 좌표 및 상기 P&ID 상의 파이프라인이 중간에 경유하는 선호구간을 따라 일정한 알고리즘에 의해 자동으로 3차원의 파이프라인이 생성되는 단계;를 포함하는 것을 특징으로 하는 플랜트엔지니어링의 3차원 배관 자동 생성방법을 제공한다.
The present invention relates to a method for automatically generating three-dimensional pipes in plant engineering, and automatically generates three-dimensional pipes in plant engineering that can automatically generate pipes by forming structures such as tanks and reactors required for pipes, and structures such as pipe racks. As for the method,
In a method for automatically generating 3D pipes in plant engineering for 3D CAD work using a plot plan, P&ID, line list and template data of a device or structure stored in a server, (a) based on the information of the server plot plan Forming three-dimensional CAD basic data set to the coordinates; (b) importing a template of a device or structure from the data of the server, and generating a three-dimensional template of the device or structure according to the characteristics of the plant project; (c) arranging the 3D device or structure generated in step (b) according to the coordinate value of the corresponding area on the plot plan in the 3D CAD basic data in which the coordinates are set; (d) fetching the P&ID and line list data from a server, and matching the pipeline on the P&ID with the coordinates of the device or structure at the starting point and the destination point; (e) designating the coordinates of the starting point and the arrival point of an intermediate structure such as a pipe rack or a building through which the pipeline on the P&ID matched with the coordinates of the starting point and the arrival point of the device or structure passes through the middle; And (f) the coordinates of the starting point and the destination point of the device or structure matched with the pipeline on the P&ID, and a preferred section through which the pipeline on the P&ID passes in the middle, and a three-dimensional pipeline is automatically generated by a certain algorithm. It provides a method for automatically generating three-dimensional pipes of plant engineering, comprising: a step.

Description

플랜트엔지니어링의 3차원 배관경로 자동 생성방법{The automatic piping route generation method of plant engineering}The automatic piping route generation method of plant engineering}

본 발명은 플랜트엔지니어링의 3차원 배관경로 자동 생성방법에 관한 것으로서, 배관에 필요한 탱크와 리액터 등의 장치와 파이프 랙 등의 구조물을 형성하여 자동으로 배관경로를 생성할 수 있는 플랜트엔지니어링의 3차원 배관 자동 생성방법에 관한 것이다.The present invention relates to a method for automatically generating three-dimensional piping paths in plant engineering. Three-dimensional piping of plant engineering capable of automatically generating piping paths by forming structures such as tanks and reactors required for piping and structures such as pipe racks. It relates to the automatic generation method.

플랜트엔지니어링은 대규모 플랜트의 시공을 위해 모든 분야(공정, 배관, 전기, 계장, 공기조화, 구조, 토목)에서 주어지는 설계조건과 설계요구사항을 만족시키기 위해 3D 캐드 모델링을 통해서 설계가 진행된다.Plant Engineering is designed through 3D CAD modeling to satisfy the design conditions and design requirements given in all fields (process, piping, electricity, instrumentation, air conditioning, structure, civil engineering) for the construction of large-scale plants.

3D CAD Tool의 상용화 초기에는 모델링 데이터에 대한 다양한 분류가 이루어져 있지 않아 단순한 모습을 하고 있었으나, 엔지니어링 업계의 기술이 점차 발전되고 그 발전에 따른 시스템 설계의 상세화에 따라 다양해지는 모델링 데이터의 체계적인 관리를 위한 방법이 추가되고 있다. 하지만, 기본적인 3D CAD Tool의 구조적 문제로 인해 관리 불가능한 부분이 발생하였고, 더불어 사업주의 높아진 눈높이와 3D CAD Tool을 사용하는 End-User의 사용 편의성을 보장하기 위하여 새로운 제품들을 개발하기 이르렀다. 기본적으로 모델링 데이터는 각각의 3D CAD Tool 내부에서 플랜트 엔지니어링 산출물 생성의 근간이 된다. In the early stages of commercialization of 3D CAD tools, various classifications of modeling data were not made, so they were simple, but as the technology of the engineering industry gradually developed and the system design was detailed according to the development, it was used for systematic management of modeling data. Methods are being added. However, due to the structural problem of the basic 3D CAD tool, the unmanageable part occurred, and in addition, new products were developed to ensure the increased eye level of the business owner and the ease of use of the end-user using the 3D CAD tool. Basically, the modeling data is the basis for the generation of plant engineering deliverables within each 3D CAD tool.

그러나, 플랜트의 프로젝트 초기에 수행하게 되는 개념설계 및 견적단계에서는 물량 산출을 위한 데이터를 만들기 위해 설계엔지니어가 직접 손으로 그리거나 유사한 프로젝트를 모방하여 견적을 내는 등 견적의 부정확성이 있어왔다. 그로인해 프로젝트의 전체 견적비용을 잘못 계산하여 프로젝트의 수행에 따른 손실이 많이 발생하는 등 다양한 문제점들이 있어왔다.However, in the conceptual design and estimating stages performed at the beginning of the plant project, there have been inaccuracies in estimates, such as drawing by hand by a design engineer or making an estimate by imitating a similar project to create data for volume calculation. As a result, there have been various problems, such as miscalculation of the total estimated cost of the project, resulting in a lot of losses due to the execution of the project.

따라서, 플랜트 프로젝트의 성공적인 수행을 위해 전체 플랜트의 개념설계(Conceptual Design) 및 견적 금액을 보다 정확히 산출할 수 있는 방안을 제시할 필요가 있다, 이를 위해서는 사업주가 제공하는 기본자료에 의거 기기배치의 적정성 검토가 이루어진 플롯플랜(PLOT PLAN)과 P&ID(Piping and Istrument Diagram)를 기준으로 한 개략적인 3D 설계도면을 그려서 물량을 자동으로 산출할 필요가 있다.Therefore, for the successful execution of the plant project, it is necessary to propose a plan to more accurately calculate the conceptual design and the estimated amount of the entire plant. To this end, the appropriateness of the device arrangement based on the basic data provided by the business owner. It is necessary to automatically calculate the quantity by drawing a schematic 3D design drawing based on the reviewed PLOT PLAN and P&ID (Piping and Istrument Diagram).

공개특허공보 특2002-0011677호(2002.02.09. 공개)Unexamined Patent Publication No. 2002-0011677 (published on Feb. 9, 2002) 등록특허공보 제10-1794282호(2017.10.31. 등록)Registered Patent Publication No. 10-1794282 (registered on October 31, 2017)

상기와 같은 문제점을 해결하기 위해 본 발명은, 플롯플랜 검토 및 P&ID를 기준으로 하여 자동으로 3차원의 파이프라인을 생성할 수 있는 플랜트엔지니어링의 3차원 배관경로 자동 생성방법을 제공한다.In order to solve the above problems, the present invention provides a method for automatically generating a three-dimensional piping path of plant engineering capable of automatically generating a three-dimensional pipeline based on a plot plan review and P&ID.

상기의 목적을 달성하기 위해 본 발명은, 서버에 저장된 플롯플랜, P&ID, 라인 리스트 및 장치 또는 구조물의 템플릿 데이터를 이용한 3차원 캐드 작업을 하기 위한 플랜트엔지니어링의 3차원 배관경로 자동 생성방법에 있어서, (a) 장치나 구조물을 모델링하여 플롯플랜을 구성하고 서버에 저장하는 단계; (b) 상기 서버의 플롯플랜의 정보를 기초로 좌표를 설정한 3차원 캐드 기본 데이터가 형성되는 단계; (c) 상기 서버의 데이터에서 장치나 구조물의 템플릿을 불러와, 플랜트 프로젝트의 특성에 맞춰 3차원의 장치나 구조물의 템플릿으로 생성하는 단계; (d) 상기 좌표가 설정된 3차원 캐드 기본 데이터에 상기 플롯플랜상의 해당 영역상의 좌표값에 따라 (c)단계에서 생성된 상기 3차원 장치나 구조물을 배치하는 단계; (e) 상기 P&ID와 라인 리스트 데이터를 서버에서 불러와 해당 P&ID 상의 파이프라인이 출발점과 도착점의 장치나 구조물의 좌표에 매칭하는 단계; (f) 상기 장치나 구조물의 출발점 및 도착점의 좌표와 매칭된 P&ID 상의 파이프 라인이 중간에 경유하는 파이프랙이나 건물과 같은 선호구간의 출발점 및 도착점의 좌표를 지정하는 단계; 및 (g) 상기 P&ID 상의 파이프라인에 매칭된 장치나 구조물의 출발점과 도착점의 좌표 및 상기 P&ID 상의 파이프라인이 중간에 경유하는 선호구간을 따라 일정한 알고리즘에 의해 자동으로 3차원의 파이프라인이 생성되는 단계;를 포함하는 것을 특징으로 하는 플랜트엔지니어링의 3차원 배관경로 자동 생성방법을 제공한다.In order to achieve the above object, the present invention is a method for automatically generating a three-dimensional piping route of plant engineering for a three-dimensional CAD operation using a plot plan, a P&ID, a line list stored in a server, and a template data of a device or structure, (a) constructing a plot plan by modeling a device or structure and storing it in a server; (b) forming 3D CAD basic data in which coordinates are set based on information on the plot plan of the server; (c) importing a template of a device or structure from the data of the server and generating a template of a three-dimensional device or structure according to the characteristics of the plant project; (d) arranging the 3D device or structure generated in step (c) according to the coordinate value of the corresponding area on the plot plan on the 3D CAD basic data in which the coordinates are set; (e) retrieving the P&ID and line list data from a server and matching the pipeline on the P&ID with the coordinates of the device or structure at the starting point and the destination point; (f) designating the coordinates of the starting point and the arrival point of a preferred section such as a pipe rack or a building through which the pipeline on the P&ID matched with the coordinates of the starting point and the destination point of the device or structure passes through the middle; And (g) a three-dimensional pipeline is automatically generated by a certain algorithm along the coordinates of the starting point and the destination point of the device or structure matched with the pipeline on the P&ID and the preferred section through which the pipeline on the P&ID passes in the middle. It provides a method for automatically generating three-dimensional piping paths of plant engineering, comprising:

본 발명에서 (h) 일정한 알고리즘에 의해 생성된 파이프라인에 대한 물량이 산출되는 단계;가 더 포함되는 것을 특징으로 한다.In the present invention, (h) the step of calculating the quantity of the pipeline generated by a certain algorithm; characterized in that it further includes.

본 발명에서 일정한 알고리즘에 따라 3차원의 파이프라인이 생성되는 (g)단계는, 정사각형의 그리드 맵을 형성하고 상기 그리드 맵을 따라 [X], [Y], [Z]의 직선 및 직교방향으로만 이동하는 JPS(Jump Point Search) 알고리즘에 따라 생성되는 것을 특징으로 한다.In the step (g), in which a three-dimensional pipeline is generated according to a certain algorithm in the present invention, a square grid map is formed, and along the grid map, in a straight line and orthogonal direction of [X], [Y], [Z]. It is characterized in that it is generated according to the JPS (Jump Point Search) algorithm that only moves.

본 발명에서 변형된 JPS 알고리즘은, (g-1) 상기 출발점에서 [+X], [+Y], [+Z], [-X], [-Y] 및 [-Z] 방향으로 탐색을 진행하면서 제1차 점프 포인트(Jump Point)를 찾는 단계; (g-2) 상기 탐색과정에서 찾은 제1차 점프 포인트에 순번을 입력하고, 각 순번에 대한 G, H, F 및 P 값을 열린 목록에 기재하고 저장하는 단계; (g-3) 상기 탐색과정에 찾은 제1차 점프 포인트 중 가장 작은 F 값을 가진 점프 포인트로부터 순차적으로 [+X], [+Y], [+Z], [-X], [-Y] 및 [-Z] 방향으로 탐색을 진행하면서 제2차 점프 포인트를 찾는 단계; (g-4) 상기 탐색과정에서 찾은 제2차 점프 포인트에 순번을 입력하고, 각 순번에 대한 G, H, F 및 P 값을 열린 목록에 기재하고 저장하는 단계; (g-5) 상기 탐색과정에 찾은 제2차 점프 포인트 중 가장 작은 F 값을 가진 점프 포인트로부터 순차적으로 [+X], [+Y], [+Z], [-X], [-Y] 및 [-Z] 방향으로 탐색을 진행하면서 제3차 점프 포인트를 찾는 단계; (g-6) 상기 점프 포인트를 찾는 과정을 도착점이 나올때까지 가장 작은 F 값을 가진 점프 포인트로부터 순차적으로 탐색하여 제n차 점프 포인트를 찾는 단계; (g-7) 상기 탐색과정에서 찾은 제n차 점프 포인트에 순번을 입력하고, 각 순번에 대한 G, H, F 및 P 값을 열린 목록에 기재하고 저장하는 단계; 및 (g-8) 상기 가장 작은 F 값에 지정된 P 값을 따라가며 경로를 완성하는 단계;로 이루어지는 것을 특징으로 한다.The JPS algorithm modified in the present invention, (g-1) searches in the directions of [+X], [+Y], [+Z], [-X], [-Y] and [-Z] at the starting point. Finding a first jump point while proceeding; (g-2) inputting a sequence number to the first jump point found in the search process, and writing and storing G, H, F, and P values for each sequence in an open list; (g-3) [+X], [+Y], [+Z], [-X], [-Y] sequentially from the jump point with the smallest F value among the first jump points found in the search process. Finding a second jump point while searching in the] and [-Z] directions; (g-4) inputting a sequence number to the second jump point found in the search process, and writing and storing G, H, F, and P values for each sequence in an open list; (g-5) [+X], [+Y], [+Z], [-X], [-Y] sequentially from the jump point with the smallest F value among the second jump points found in the search process. Finding a third jump point while searching in the] and [-Z] directions; (g-6) sequentially searching the process of finding the jump point from the jump point having the smallest F value until the arrival point is reached, and finding the nth jump point; (g-7) inputting a sequence number to the nth jump point found in the search process, and writing and storing G, H, F, and P values for each sequence in an open list; And (g-8) completing a path while following the P value designated for the smallest F value.

본 발명에서 제k-1차 점프 포인트에서 제k차 점프 포인트로의 진행에 벤딩이 발생하는 경우, 상기 제k차 점프 포인트의 G 값에는 벤딩 페널티(Bending Penalty)가 더해지는 것을 특징으로 한다. 단, 상기 k는 2 ~ n인 정수이다.In the present invention, when bending occurs in progress from the k-1 th jump point to the k th jump point, a bending penalty is added to the G value of the k th jump point. However, the k is an integer of 2 to n.

본 발명에서 선호구간을 경유해야 하는 경우에, 상기 선호구간의 출발점이 중간 도착점으로 간주되어 상기와 동일한 방법으로 점프 포인트가 탐색되고, 상기 선호구간의 중간 도착점의 탐색이 완료된 경우에는, 상기 선호구간의 중간 도착점이 중간 출발점이 되어 도착점까지 점프 포인트가 탐색되는 것을 특징으로 한다.In the present invention, when it is necessary to go through the preferred section, the starting point of the preferred section is regarded as an intermediate arrival point, and the jump point is searched in the same manner as above, and when the search for the intermediate destination point of the preferred section is completed, the preferred section It is characterized in that the intermediate arrival point of is an intermediate starting point and a jump point is searched up to the arrival point.

본 발명은 플롯플랜과 P&ID를 기초로 하여 파이프 라인을 자동으로 생성하고, 생성된 파이프라인을 기초로 하여 파이핑과 관련된 물량을 자동으로 산출할 수 있기 때문에 정확도가 높은 견적물량을 계산해낼 수 있다는 장점이 있다.The present invention has the advantage of automatically generating a pipeline based on the plot plan and P&ID, and automatically calculating the quantity related to piping based on the generated pipeline, so that the estimated quantity with high accuracy can be calculated. There is this.

또한, 본 발명은 미리 3차원 캐드 도면을 작성하기 때문에 작성된 도면을 기초로 상세 설계도면을 작성하는 경우 설계에 투입되는 시간을 획기적으로 줄일 수 있다는 장점이 있다.In addition, since the present invention creates a 3D CAD drawing in advance, there is an advantage in that it is possible to drastically reduce the time spent on designing a detailed design drawing based on the created drawing.

또한, 본 발명에 따른 JPS 알고리즘은 최단거리를 찾기 모든 노드를 전부 탐색할 필요가 없기 때문에 종래의 A* 알고리즘에 비해 탐색속도가 훨씬 더 빨라 파이프라인의 생성속도가 빠르다는 장점을 가진다.In addition, the JPS algorithm according to the present invention has the advantage that it is much faster than the conventional A * algorithm because it is not necessary to search all nodes to find the shortest distance, so that the pipeline generation speed is fast.

또한, 본 발명에 따른 JPS 알고리즘은 반드시 거쳐야 하는 선호구간을 둘 수 있어서 다양한 형태로의 배관경로를 작성할 수 있다는 장점이 있다.In addition, the JPS algorithm according to the present invention has the advantage of being able to create various types of piping paths since it is possible to set a preferred section that must be passed through.

도 1은 본 발명에 따른 U/I 상의 뷰컨트롤의 예시를 보여준 도면.
도 2는 본 발명에 따른 U/I 상의 장치와 구조물의 템플릿을 생성하는 것을 도시한 도면.
도 3은 본 발명에 따른 장치의 예시인 타워를 도시한 도면.
도 4는 본 발명에 따른 장치의 예시인 열교환기를 도시한 도면.
도 5는 본 발명에 따른 장치의 예시인 탱크를 도시한 도면.
도 6은 본 발명에 따른 구조물의 예시인 파이프랙을 도시한 도면.
도 7은 본 발명에 따른 구조물의 예시인 건물을 도시한 도면.
도 8은 본 발명에 따른 U/I 상에서 장치와 구조물이 배치된 도면.
도 9는 도 8의 장치와 구조물의 배치 평면도(a)와 파이프라인이 생성된 상태에서의 장치와 구조물의 배치 평면도(b).
1 is a diagram showing an example of a view control on U/I according to the present invention.
2 is a diagram showing the creation of a template of devices and structures on U/I according to the present invention.
3 shows a tower which is an example of an apparatus according to the invention.
4 shows a heat exchanger which is an example of an apparatus according to the invention.
5 shows a tank which is an example of a device according to the invention.
6 is a view showing a pipe rack which is an example of a structure according to the present invention.
7 is a view showing a building that is an example of a structure according to the present invention.
Fig. 8 is a view in which devices and structures are arranged on U/I according to the present invention.
9 is a plan view (a) of the arrangement of the device and structure of FIG. 8 and a plan view (b) of the arrangement of the device and structure in a state in which a pipeline is created.

이하 상기 목적이 구체적으로 실현될 수 있는 본 발명의 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 본 실시예들을 설명함에 있어서 동일 구성에 대해서는 동일 명칭 및 부호가 사용되며, 이에 따른 부가적인 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention in which the above object can be realized in detail will be described in detail with reference to the accompanying drawings. In describing the present embodiments, the same names and symbols are used for the same components, and additional descriptions thereof will be omitted.

도 1은 본 발명에 따른 U/I 상의 뷰컨트롤의 예시를 보여준 도면이고, 도 2는 본 발명에 따른 U/I 상의 장치와 구조물의 템플릿을 생성하는 것을 도시한 도면이고, 도 3은 본 발명에 따른 장치의 예시인 타워를 도시한 도면이고, 도 4는 본 발명에 따른 장치의 예시인 열교환기를 도시한 도면이고, 도 5는 본 발명에 따른 장치의 예시인 탱크를 도시한 도면이고, 도 6은 본 발명에 따른 구조물의 예시인 파이프랙을 도시한 도면이고, 도 7은 본 발명에 따른 구조물의 예시인 건물을 도시한 도면이고, 도 8은 본 발명에 따른 U/I 상에서 장치와 구조물이 배치된 도면이고, 도 9는 도 8의 장치와 구조물의 배치 평면도(a)와 파이프라인이 생성된 상태에서의 장치와 구조물의 배치 평면도(b)이다.1 is a diagram showing an example of view control on U/I according to the present invention, FIG. 2 is a diagram showing generation of a template of a device and structure on U/I according to the present invention, and FIG. 3 is FIG. 4 is a view showing a tower which is an example of an apparatus according to the present invention, and FIG. 4 is a view showing a heat exchanger which is an example of an apparatus according to the present invention, and FIG. 5 is a view showing a tank which is an example of an apparatus according to the present invention, and FIG. 6 is a view showing a pipe rack, which is an example of a structure according to the present invention, FIG. 7 is a view showing a building that is an example of a structure according to the present invention, and FIG. 8 is a device and structure on U/I according to the present invention. FIG. 9 is an arrangement plan view (a) of the device and structure of FIG. 8 and an arrangement plan view (b) of the device and structure in a state in which a pipeline is created.

본 발명에 따른 플랜트엔지니어링의 3차원 배관 자동 생성방법은 서버에 저장된 플롯플랜, P&ID, 라인 리스트 및 장치 또는 구조물의 템플릿 데이터를 이용한다. 3차원 배관 자동 생성방법은, (a) 장치나 구조물을 모델링하여 플롯플랜을 구성하고 서버에 저장하는 단계; (b) 상기 서버의 플롯플랜의 정보를 기초로 좌표를 설정한 3차원 캐드 기본 데이터가 형성되는 단계; (c) 상기 서버의 데이터에서 장치나 구조물의 템플릿을 불러와, 플랜트 프로젝트의 특성에 맞춰 3차원의 장치나 구조물의 템플릿으로 생성하는 단계; (d) 상기 좌표가 설정된 3차원 캐드 기본 데이터에 상기 플롯플랜상의 해당 영역상의 좌표값에 따라 (c)단계에서 생성된 상기 3차원 장치나 구조물을 배치하는 단계; (e) 상기 P&ID와 라인 리스트 데이터를 서버에서 불러와 해당 P&ID 상의 파이프라인이 출발점과 도착점의 장치나 구조물의 좌표에 매칭하는 단계; (f) 상기 장치나 구조물의 출발점 및 도착점의 좌표와 매칭된 P&ID 상의 파이프 라인이 중간에 경유하는 파이프랙이나 건물과 같은 선호구간의 출발점 및 도착점의 좌표를 지정하는 단계; 및 (g) 상기 P&ID 상의 파이프라인에 매칭된 장치나 구조물의 출발점과 도착점의 좌표 및 상기 P&ID 상의 파이프라인이 중간에 경유하는 선호구간을 따라 일정한 알고리즘에 의해 자동으로 3차원의 파이프라인이 생성되는 단계;로 구성된다. 또한 부가적으로 (h) 상기 생성된 파이프라인에 대한 물량이 산출되는 단계가 더 포함될 수 있다.The method for automatically generating 3D pipes in plant engineering according to the present invention uses a plot plan, P&ID, line list, and template data of a device or structure stored in a server. A method for automatically generating a three-dimensional pipe includes the steps of: (a) modeling a device or structure to construct a plot plan and store it in a server; (b) forming 3D CAD basic data in which coordinates are set based on information on the plot plan of the server; (c) importing a template of a device or structure from the data of the server and generating a template of a three-dimensional device or structure according to the characteristics of the plant project; (d) arranging the 3D device or structure generated in step (c) according to the coordinate value of the corresponding area on the plot plan on the 3D CAD basic data in which the coordinates are set; (e) retrieving the P&ID and line list data from a server and matching the pipeline on the P&ID with the coordinates of the device or structure at the starting point and the destination point; (f) designating the coordinates of the starting point and the arrival point of a preferred section such as a pipe rack or a building through which the pipeline on the P&ID matched with the coordinates of the starting point and the destination point of the device or structure passes through the middle; And (g) a three-dimensional pipeline is automatically generated by a certain algorithm along the coordinates of the starting point and the destination point of the device or structure matched with the pipeline on the P&ID and the preferred section through which the pipeline on the P&ID passes in the middle. Step; consists of. In addition, (h) the step of calculating the quantity of water for the generated pipeline may be further included.

먼저 (a) 장치나 구조물을 모델링하여 플롯플랜을 구성하고 서버에 저장하는 단계이다. 플랜트 프로젝트를 시행하기에 앞서 사업주는 플랜트의 장치와 구조물의 배치에 대한 관련 자료를 송부한다. 또한, 사업주는 1차적으로 플롯플랜을 작성하여 기기배치에 대한 개략도를 작성하여 보내준다. 보내준 자료를 기초로 장치와 구조물 등의 배치가 적정한지 여부를 검토하는데, 장치와 구조물은 소방법규에 의거하여 일정한 거리를 유지할 필요가 있는 경우가 많다. 이러한 장치와 구조물 간의 이격거리를 검토하고 검토된 자료를 기초로 플롯플랜은 구성하고 서버에 저장하게 된다.First, (a) modeling a device or structure, constructing a plot plan, and storing it in the server. Prior to implementing the plant project, the employer transmits relevant data on the arrangement of the plant's equipment and structures. In addition, the business owner first prepares a plot plan and sends a schematic diagram of the device arrangement. Based on the data sent, it is reviewed whether the arrangement of devices and structures is appropriate. In many cases, devices and structures need to be kept at a certain distance in accordance with fire fighting regulations. The separation distance between these devices and structures is reviewed, and based on the reviewed data, a plot plan is constructed and stored in the server.

다음으로 (b) 상기 서버의 플롯플랜의 정보를 기초로 좌표를 설정한 3차원 캐드 기본 데이터가 형성되는 단계이다. 서버는 네트워크로 연결된 저장매체 또는 컴퓨터 자체의 저장매체일 수 있다. 서버에는 플랜트 프로젝트의 사업주가 제공하는 자료에 의거하여 각 기기들의 배치가 적정한지 여부가 검토된 플롯플랜(PLOT PLAN)과 P&ID(Piping & Instrument Diagram)와 라인(Line) 리스트가 저장된다. 플롯플랜은 플랜트의 전체적인 배치도를 도시한 도면을 말한다. 플롯플랜은 플랜트의 타워(Tower), 펌프(Pump), 리액터(Reactor), 드럼(Drum), 베설(Vessel) 등의 장치와 파이프랙(Piperack)이나 장치를 유지보수하기 위한 구조물과 컨트롤룸(Control room)과 같은 건물 등의 배치를 해 놓은 도면이다. 플롯플랜을 기초로 플랜트 엔지니어링을 위한 도면은 작성되는데, 플롯플랜 상에 배치된 장치들 간에는 유체가 이동할 수 있는 파이프 라인이 연결된다. 플롯플랜은 배치도이기 때문에 좌표가 정하여지는데, 일단 도면을 작성하기 위한 좌표가 설정된다. 도 1은 U/I 화면상의 좌표가 설정된 뷰컨트롤 화면(D, D')을 보여주고 있다. 사용자는 U/I에서 좌표를 설정하고 설정된 좌표 내의 디스플레이 화면을 축소(D') 또는 확대(D)하여 볼 수 있다.Next, (b) 3D CAD basic data in which coordinates are set based on the information of the plot plan of the server is formed. The server may be a storage medium connected through a network or a storage medium of a computer itself. The server stores the PLOT PLAN, P&ID (Piping & Instrument Diagram), and line list, which have been reviewed for proper arrangement of devices based on data provided by the plant project owner. The plot plan refers to a drawing showing the overall layout of the plant. The plot plan consists of a plant's tower, pump, reactor, drum, vessel, etc., as well as structures and control rooms for maintaining pipe racks and devices. This is a drawing of the same building as the control room. Drawings for plant engineering are created based on the plot plan, and pipelines through which fluid can move are connected between devices arranged on the plot plan. Since the plot plan is a layout drawing, the coordinates are determined. First, the coordinates for creating the drawing are set. 1 shows the view control screens (D, D') in which coordinates on the U/I screen are set. The user can set the coordinates in U/I and view the display screen within the set coordinates by reducing (D') or expanding (D) it.

다음으로 (c) 상기 서버의 데이터에서 장치나 구조물의 템플릿을 불러와, 플랜트 프로젝트의 특성에 맞춰 3차원의 장치나 구조물의 템플릿이 생성되는 단계를 거친다. 도 2에 도시된 바와 같이 템플릿의 좌표와 사이즈를 입력하고 각 장치와 구조물을 플랜트의 프로젝트에 맞춰 3차원의 장치나 구조물의 템플릿(T)을 생성한다.Next, (c) the template of the device or structure is fetched from the server data, and a three-dimensional device or structure template is generated according to the characteristics of the plant project. As shown in Fig. 2, the coordinates and sizes of the template are input, and a three-dimensional device or structure template (T) is generated by matching each device and structure to the project of the plant.

다음으로 (d) 좌표가 설정된 3차원 캐드 기본 데이터에 상기 플롯플랜상의 해당 영역상의 좌표값에 따라 (c)단계에서 생성된 상기 3차원 장치나 구조물이 배치되는 단계를 거친다. 좌표가 설정된 3차원 캐드 기본 데이터에 해당영역의 좌표값에 따라 장치나 구조물이 배치된다. 도 3은 타워(Tower)가 배치된 도면이고, 도 5는 열교환기(Heat Exchanger)가 배치된 도면이고, 도 5는 탱크(Tank)가 배치된 도면이고, 도 6은 파이프랙(Piperack)이 배칙된 되면이고, 도 7은 컨트롤룸과 같은 건물(Building)이 배치된 도면이다. 각 장치와 구조물은 파이프 라인이 연결되거나 경유하게 되며, 따라서 각 장치는 파이프라인의 출발점과 도착점을 가진다. Next, (d) the 3D device or structure generated in step (c) is arranged in the 3D CAD basic data for which the coordinates are set according to the coordinate values of the corresponding area on the plot plan. Devices or structures are arranged according to the coordinate values of the corresponding area in the 3D CAD basic data for which coordinates are set. 3 is a view in which a tower is disposed, FIG. 5 is a view in which a heat exchanger is disposed, FIG. 5 is a view in which a tank is disposed, and FIG. 6 is a pipe rack It is a ruled surface, and FIG. 7 is a view in which a building such as a control room is arranged. Each device and structure is connected or passed through a pipeline, so each device has a starting point and an end point of the pipeline.

다음으로 (e) P&ID와 라인 리스트 데이터를 서버에서 불러와 해당 P&ID 상의 각 파이프라인이 출발점과 도착점의 장치나 구조물의 좌표에 매칭되는 단계를 거친다. P&ID는 파이프라인과 계장라인이 그려진 도면으로서, 파이프 라인과 더불어 밸브(Vavle), 플랜지(Flange), 컨트롤 밸브(Control Valve) 등의 장비들이 파이프 라인 사이에 포함된다. 서버에 저장된 P&ID와 라인 리스트 데이터를 불러와 해당 파이프라인의 출발점과 도착점의 장치나 구조물의 좌표에 매칭을 시킨다. 파이프라인이 어디에서 시작되어 어디까지 가는지를 매칭을 시키고, 자동으로 파이프라인이 생성될 수 있도록 하기 위함이다.Next, (e) P&ID and line list data is retrieved from the server, and each pipeline on the P&ID goes through the step of matching the coordinates of the device or structure at the starting point and the destination point. The P&ID is a drawing of a pipeline and an instrumentation line. In addition to the pipeline, equipment such as valves, flanges, and control valves are included between the pipelines. It retrieves the P&ID and line list data stored in the server and matches the coordinates of the device or structure of the starting point and the destination point of the pipeline. It is to match where the pipeline starts and where it goes, and to allow the pipeline to be automatically created.

다음으로 (f) 장치나 구조물의 출발점 및 도착점의 좌표와 매칭된 P&ID 상의 파이프 라인이 중간에 경유하는 파이프랙이나 건물과 같은 중간구조물의 출발점 및 도착점의 좌표가 지정되는 단계를 거친다. 일반적으로 파이프라인은 하나의 장치에서 다른 장치로 연결되는 경우에는 주로 파이프랙(Piperack)을 이용한다. 따라서 선호구간으로서 파이프랙이 선정될 수 있다. 그에 따라 파이프랙의 출발점과 도착점의 좌표가 지정되어야 한다.Next, (f) the coordinates of the starting and ending points of intermediate structures such as pipe racks or buildings passing through the pipeline on the P&ID matched with the coordinates of the starting and ending points of the device or structure are designated. In general, when a pipeline is connected from one device to another, a pipe rack is mainly used. Therefore, a pipe rack can be selected as a preferred section. The coordinates of the starting and ending points of the pipe rack must be specified accordingly.

다음으로 (g) P&ID 상의 파이프라인에 매칭된 장치나 구조물의 출발점과 도착점의 좌표 및 상기 P&ID 상의 파이프라인이 중간에 경유하는 선호구간을 따라 알고리즘에 따라 자동으로 파이프라인이 생성되는 단계를 거친다. P&ID 상의 파이프라인이 매칭이 되면, 일정한 알고리즘을 따라 3차원의 파이프라인이 생성된다. 3차원의 파이프라인이 생성되는 단계는, 정사각형의 그리드 맵(Grid Map)을 형성하고 상기 그리드 맵을 따라 [X], [Y], [Z]의 직선 및 직각방향(Orthogonal)으로만 이동하는 A* 알고리즘이 변형된 JPS(Jump Point Search) 알고리즘에 따라 생성된다.Next, (g) a pipeline is automatically generated according to an algorithm along the coordinates of the starting point and the destination point of the device or structure matched with the pipeline on the P&ID and the preferred section through which the pipeline on the P&ID passes in the middle. When the pipelines on the P&ID are matched, a three-dimensional pipeline is created according to a certain algorithm. The step of creating a three-dimensional pipeline is to form a square grid map and move along the grid map in a straight line and orthogonal direction of [X], [Y], [Z] only. A * algorithm is generated according to the modified JPS (Jump Point Search) algorithm.

JPS 알고리즘은, (g-1) 상기 출발점에서 직선방향인 [+X], [+Y], [+Z], [-X], [-Y] 및 [-Z] 방향으로 탐색을 진행하면서 제1차 점프 포인트를 찾는 단계; (g-2) 상기 (g-1)단계의 탐색과정에서 찾은 제1차 점프 포인트에 순번을 입력하고, 각 순번에 대한 G , H, F 및 P 값을 오픈리스트에 기재하고 저장하는 단계; (g-3) 상기 (g-1)단계의 탐색과정에서 찾은 제1차 점프 포인트 중 가장 작은 F 값을 가진 점프 포인트로부터 순차적으로 직선방향인 [+X], [+Y], [+Z], [-X], [-Y] 및 [-Z] 방향으로 탐색을 진행하면서 제2차 점프 포인트를 찾는 단계; (g-4) 상기 (g-3)단계의 탐색과정에서 찾은 제2차 점프 포인트에 순번을 입력하고, 각 순번에 대한 G, H, F 및 P 값을 오픈리스트에 기재하고 저장하는 단계; (g-5) 상기 (g-2)단계의 탐색과정에 찾은 제2차 점프 포인트 중 가장 작은 F 값을 가진 점프 포인트로부터 순차적으로 직선방향인 [+X], [+Y], [+Z], [-X], [-Y] 및 [-Z] 방향으로 탐색을 진행하면서 제3차 점프 포인트를 찾는 단계; (g-6) 상기 점프 포인트를 찾는 과정을 도착점이 나올때까지 가장 작은 F 값을 가진 점프 포인트로부터 순차적으로 탐색하여 제n차 점프 포인트를 찾는 단계; (g-7) 상기 (g-6)단계의 탐색과정에서 찾은 제n차 점프 포인트에 순번을 입력하고, 각 순번에 대한 G, H, F 및 P 값을 오픈리스트에 기재하고 저장하는 단계; 및 (g-8) 상기 가장 작은 F 값에 지정된 P 값을 따라가며 경로를 완성하는 단계로 이루어진다.The JPS algorithm is (g-1) while searching in the directions of [+X], [+Y], [+Z], [-X], [-Y] and [-Z] which are linear directions from the starting point. Finding a first jump point; (g-2) inputting a sequence number to the first jump point found in the search process of step (g-1), and writing and storing G, H, F, and P values for each sequence in an open list; (g-3) [+X], [+Y], [+Z] sequentially from the jump point with the smallest F value among the first jump points found in the search process in step (g-1). Finding a second jump point while searching in the directions of ], [-X], [-Y] and [-Z]; (g-4) inputting a sequence number to the second jump point found in the search process of step (g-3), and writing and storing G, H, F, and P values for each sequence in an open list; (g-5) [+X], [+Y], [+Z] sequentially from the jump point with the smallest F value among the second jump points found in the search process of step (g-2). Finding a third jump point while searching in the directions of ], [-X], [-Y] and [-Z]; (g-6) sequentially searching the process of finding the jump point from the jump point having the smallest F value until the arrival point is reached, and finding the nth jump point; (g-7) inputting a sequence number to the nth jump point found in the search process of step (g-6), and writing and storing G, H, F, and P values for each sequence in an open list; And (g-8) completing a path by following the P value specified in the smallest F value.

본 발명에 적용된 JPS 알고리즘을 구체적으로 설명하기로 한다. The JPS algorithm applied to the present invention will be described in detail.

일반적으로 A*알고리즘은 주어진 출발점에서부터 도착점까지 가는 최단 경로를 찾아내는 알고리즘을 말한다. 여기서 점은 그리드 맵(Grid Map)으로 표현하기 위해 그리드(사각형) 하나 하나를 노드(Node)로 칭하기로 한다. 출발점에서 도착점까지의 최적 경로를 탐색하기 위해 각 출발점과 도착점에 대한 평가 함수를 정의해야 하는대, 평가함수 F는 다음과 같이 표현된다.In general, the A * algorithm refers to an algorithm that finds the shortest path from a given starting point to an ending point. Here, in order to represent the dots as a grid map, each grid (square) will be referred to as a node. In order to search for the optimal route from the starting point to the destination point, the evaluation function for each starting point and the arrival point should be defined. The evaluation function F is expressed as follows.

F = G + HF = G + H

여기서 G는 출발노드로부터 현재 노드까지의 경로를 따라 이동하는데 소요되는 경로 가중치를 말한다. H는 현재 노드에서 도착노드까지의 추정 경로 가중치를 말한다. 본 발명에 따른 변형된 A 알고리즘은 직선 및 직각방향으로만 움직이기 때문에 하나의 사각형이 하나의 노드값을 가지며, 이 값은 1로 표현한다. 여기 나타나지 않은 변수인 P(Parent)는 부모노드를 의미한다.Here, G denotes the path weight required to move along the path from the starting node to the current node. H is the estimated path weight from the current node to the destination node. Since the modified A algorithm according to the present invention moves only in a straight line and a right angle direction, one square has one node value, and this value is expressed as 1. The variable P (Parent) not shown here means the parent node.

본 발명에 적용된 JPS 알고리즘도 점프 포인트(Jump Point)를 탐색하여 열린 목록(Open List)에 저장하고, 탐색된 점프 포인트에서 재탐색하여 신규의 점프 포인트가 탐색되면 재탐색한 점프 포인트는 닫힌 목록(Closed List)에 저장되면서, 점프 포인트를 기준으로 하여 순차적으로 점프 포인트를 탐색하여 가장 작은 F 값을 찾아가면서 최단 경로를 찾아내는데, 도착노드를 찾게 되면 가장 작은 F 값의 부모노드(P)를 서로 연결하게 되고, 가장 작은 F 값의 부모노드(P)가 연결되어 최단경로가 된다.The JPS algorithm applied to the present invention also searches for a jump point and stores it in an open list, and when a new jump point is searched by re-searching at the searched jump point, the re-searched jump point is a closed list ( Closed List), by searching the jump points sequentially based on the jump point and searching for the smallest F value, the shortest path is found. When the destination node is found, the parent node (P) of the smallest F value is connected to each other. It is connected, and the parent node (P) of the smallest F value is connected to become the shortest path.

본 발명에 따른 JPS 알고리즘에 의한 가지치기(Pruning Rules)와 점프 포인트(Jump Point)를 판단하는 규칙은 아래와 같다.Rules for determining pruning rules and jump points according to the JPS algorithm according to the present invention are as follows.

[가지치기(Pruning Rules)][Pruning Rules]

노드 "p"로부터 도달한 노드 "x"에 대하여 다음에 해당하는 "x"의 이웃 노드인 "n"을 제거한다.For node "x" arriving from node "p", "n", which is a neighboring node of "x" corresponding to the following, is removed.

1. 경로 P_x = <p, x, n>보다 짧은 경로 P_n = <p, y, n> 혹은 <p, n>이 존재한다.1. There is a path P_n = <p, y, n> or <p, n> shorter than the path P_x = <p, x, n>.

상기의 의미는 "x"를 거쳐가지 않아도 되는 노드들은 "x"를 거쳐가는 경로에서는 고려하지 않겠다는 의미를 뜻한다.The meaning above means that nodes that do not have to go through "x" will not be considered in the path going through "x".

[점프 포인트(Jump Point)][Jump Point]

[y = x + kd]인 노드"y"가 "x"의 점프 포인트이기 위해서는 k를 최소화 시켜야 하며, 아래 조건 중 1개를 만족시켜야 한다.In order for the node "y" with [y = x + kd] to be the jump point of "x", k must be minimized and one of the following conditions must be satisfied.

1. y는 도착 노드(End Node)이다.1. y is an end node.

2. y는 적어도 1개의 강요된 이웃(forced neighbour)을 갖는다. 강요된 이웃이라 함은 노드 "x"의 이웃 노드 중 가지치기되지 않고, 자연적 이웃(natural neighbour)이 아닌 노드를 말한다. 자연적 이웃은 장애물이 없을 때, 노드 'x"의 이웃 노드 중 가지치기 되지 않은 노드를 말한다.2. y has at least one forced neighbor. The forced neighbor refers to a node that is not pruned among neighboring nodes of node "x" and is not a natural neighbor. Natural neighbor refers to a node that is not pruned among neighboring nodes of node'x' when there is no obstacle.

[벤딩 조건][Bending condition]

벤딩(Bending)을 고려하기 위해 일정한 조건은 다음과 같다.In order to consider bending, certain conditions are as follows.

1. 벤딩구간에는 일정한 코스트(Cost) 패널티(Penalty)를 적용한다. 즉, 벤딩 구간의 노드(Node)의 G 값에 일정한 패널티를 가하여 벤딩이 비교적 적은 노드의 탐색이 이루어지게 한다.1. A certain cost penalty is applied to the bending section. That is, a certain penalty is applied to the G value of a node in a bending section, so that a node with relatively little bending is searched.

2. 도착점(End Node)과 같은 좌표의 노드들은 점프 포인트(Jump Point)로 판단한다. 2. Nodes with the same coordinates as the end node are determined as jump points.

3. 무효 노드(Invalid Node, ex. 장애물이나 그리드를 벗어나는 부분)를 탐색하면 이전 노드를 점프 포인트로 인식한다.3. When an invalid node (ex. an obstacle or part that goes out of the grid) is searched, the previous node is recognized as a jump point.

이하에서는 JPS 알고리즘에 의해 최단거리를 자동으로 생성하는 실시예 1을 도면을 참조하여 설명한다.Hereinafter, Embodiment 1 of automatically generating the shortest distance using the JPS algorithm will be described with reference to the drawings.

Figure 112019037654302-pat00001
Figure 112019037654302-pat00001

[예시도 1][Example 1]

예시도 1의 그리드 맴(Grid Map)에서 탐색을 수행한다. 출발 노드인 "S" 노드에서 도착 노드인 "E" 노드까지의 경로를 완성하여야 한다.Search is performed on the grid map of Example 1. The path from node "S" which is the starting node to node "E" which is the destination node must be completed.

Figure 112019037654302-pat00002
Figure 112019037654302-pat00002

[예시도 2][Example 2]

예시도 2는 "S" 노드에서 [+Y], [-X]방향으로 탐색하는 모습이다. 두 방향 모두 주 탐색 중 장애물인 무효 노드(Invalid Node)를 만나 점프 포인트로 판단된 모습이다. Example 2 is a state of searching in the [+Y] and [-X] directions at the "S" node. In both directions, it was determined as a jump point by encountering an invalid node, which is an obstacle during the main search.

Figure 112019037654302-pat00003
Figure 112019037654302-pat00003

[예시도 3][Example 3]

예시도 3은 "S" 노드의 점프 포인트들을 열린 목록(Open List)에 저장한 모습이다. 해당 Node들의 G, H, F, Parent(P)에 대한 값을 가지고 있는데, 각 값을 계산해 보면, Figure 3 is a view showing the storage of the jump points of the "S" node in an open list (Open List). It has values for G, H, F, and Parent(P) of the corresponding nodes. If you calculate each value,

"1" 노드의 G 값은 세칸을 움직였고 한 칸의 값을 1로 정의하였으므로 3이고, H 값은 장애물에 상관없이 "E" 노드 까지의 예상거리이므로 12이고, 따라서 F 값은 G + H 인 15 가 되며, 부모노드는 "S"가 된다.The G value of the "1" node moved three spaces and the value of one space was defined as 1, so it is 3, and the H value is 12 because it is the expected distance to the "E" node regardless of obstacles, so the F value is G + H It becomes 15, and the parent node becomes "S".

"2" 노드의 G 값은 5칸을 움직였으므로 5이고, H 값은 "E" 노드까지의 남은 거리이므로 10, 따라서 F 값은 G + H인 15가 되며, 부모노드는 "S" 가 된다.The G value of the "2" node is 5 because it has moved 5 spaces, and the H value is 10 because it is the remaining distance to the "E" node, so the F value is G + H, which is 15, and the parent node is "S". .

Figure 112019037654302-pat00004
Figure 112019037654302-pat00004

[예시도 4][Example 4]

예시도 4는 열린 목록에서 F값이 작은 노드를 빼내는 과정이다. 예시도 4에서는 두 노드의 F값이 같아 먼저 들어온 "1" 노드를 빼내어 탐색을 준비하는 모습이다.Example 4 is a process of subtracting a node with a small F value from an open list. In Example 4, the F values of the two nodes are the same, and the first node "1" is removed to prepare for discovery.

Figure 112019037654302-pat00005
Figure 112019037654302-pat00005

[예시도 5][Example 5]

예시도 5는 "1" 노드에서의 [-X]방향 탐색 중 점프 포인트를 찾은 모습이다. "F"라고 표시된 노드는 강요된 이웃이다. 이 강요된 이웃이 있기에 [-X]방향에서 점프 포인트를 찾게 되었다. Fig. 5 shows a state where a jump point is found during a search in the [-X] direction in a node "1". Nodes marked "F" are forced neighbors. With this forced neighbor, we found the jump point in the [-X] direction.

Figure 112019037654302-pat00006
Figure 112019037654302-pat00006

[예시도 6][Example 6]

예시도 6은 "1" 노드에서 찾은 점프 포인트인 "3"노드를 열린 목록에 저장한 것을 보여준다. 이때, "3" 노드는 "1" 노드에서 벤딩(Bending)이 있었기에 벤딩 페널티(Bending Penalty)로서 G 값에 1을 더해준다. "1" 노드는 점프 포인트의 검색이 완료되었기 때문에 닫힘 목록(Closed List)로 반환된다. 따라서 "1"노드의 값은 보이지 않게 된다.Example 6 shows that the node "3", which is the jump point found in the node "1", is stored in an open list. At this time, since the node "3" has bending at the node "1", 1 is added to the G value as a bending penalty. The node "1" is returned to the Closed List because the search for the jump point has been completed. Therefore, the value of the "1" node is not visible.

Figure 112019037654302-pat00007
Figure 112019037654302-pat00007

[예시도 7][Example 7]

예시도 7은 열린 목록에서 F값이 가장 작은 “2” 노드를 빼내어 탐색을 준비하는 모습이다. Example 7 shows a state in which the node "2" with the smallest F value is removed from the open list to prepare for search.

Figure 112019037654302-pat00008
Figure 112019037654302-pat00008

[예시도 8][Example 8]

예시도 8은 "2" 노드에서 탐색을 수행하는 모습이다. [+Y]방향에서 강요된 이웃을 가지고 있기에 점프 포인트를 찾았다.Example 8 shows a state in which a search is performed at node "2". I found a jump point because I had a neighbor forced from the [+Y] direction.

Figure 112019037654302-pat00009
Figure 112019037654302-pat00009

[예시도 9][Example 9]

예시도 9는 "2" 노드의 점프 포인트인 "5" 노드를 열린 목록에 저장하는 모습이다. 마찬가지로 벤딩 페널티(Bending Penalty)로 G값에 1을 더해주었다.9 is a view of storing node “5”, which is a jump point of node “2”, in an open list. Similarly, I added 1 to the value of G as a bending penalty.

Figure 112019037654302-pat00010
Figure 112019037654302-pat00010

[예시도 10][Example 10]

예시도 10은 열린 목록에서 먼저 들어온 "3"노드를 꺼내어 탐색을 준비하는 것을 도시하고 있다.Exemplary FIG. 10 shows that the node "3", which came first from the open list, is taken out and prepared for search.

Figure 112019037654302-pat00011
Figure 112019037654302-pat00011

[예시도 11][Example 11]

예시도 11은 "3" 노드에서 [+Y], [-Y], [-X]방향으로 탐색하는 모습을 도시하고 있다.Example 11 shows a state of searching in the directions [+Y], [-Y], and [-X] at the node "3".

Figure 112019037654302-pat00012
Figure 112019037654302-pat00012

[예시도 12][Example 12]

예시도 12는 "6" 노드는 강요된 이웃(forced neighbour), "7"과 "8" 노드는 무효 노드(Invalid Node)를 만났기에 점프 포인트가 됨을 보여주고 있다. 해당 노드들은 열린 목록에 저장된다.12 illustrates that node "6" becomes a forced neighbor, and nodes "7" and "8" become jump points because they meet an invalid node. Those nodes are saved in the open list.

Figure 112019037654302-pat00013
Figure 112019037654302-pat00013

[예시도 13][Example 13]

예시도 13은 "5"노드를 열린 목록에서 꺼내어 탐색을 준비하는 것을 도시하고 있다.Fig. 13 shows that node "5" is taken out of the open list and prepared for search.

Figure 112019037654302-pat00014
Figure 112019037654302-pat00014

[예시도 14][Example 14]

예시도 14에서는 "5"노드에서 각 방향으로 탐색하고 있음을 도시하고 있다.Example 14 shows that the "5" node is searching in each direction.

Figure 112019037654302-pat00015
Figure 112019037654302-pat00015

[예시도 15][Example Figure 15]

예시도 15는 "9" 와 "11" 노드는 강요된 이웃(forced neighbour), "10" 노드는 무효 노드(Invalid Node)를 만났기에 점프 포인트가 됨을 보여주고 있다. 점프로 포인트에 해당되는 노드들 열린 목록에 각각 저장된다.Fig. 15 shows that nodes "9" and "11" become jump points because they meet a forced neighbor, and node "10" encounters an invalid node. Each node corresponding to the jump point is saved in the open list.

Figure 112019037654302-pat00016
Figure 112019037654302-pat00016

[예시도 16][Example 16]

예시도 16은 F값이 가장 작은 "8"노드를 꺼내어 탐색을 준비함을 도시하고 있다. "8" 노드에서의 탐색은 전부 이미 탐색을 수행했던 노드들 "5", "1", "2" 노드들이 점프 포인트로 나오기에 "8" 노드에서의 점프 포인트들은 열린 목록에 저장되지 않는다.Fig. 16 shows that the node "8" having the smallest F value is taken out to prepare for search. In the search in node "8", the jump points in node "8" are not saved in the open list because all nodes "5", "1", and "2" that have already performed the search come out as jump points.

Figure 112019037654302-pat00017
Figure 112019037654302-pat00017

[예시도 17][Example Figure 17]

예시도 17은 F 값이 가장 작고, 먼저 들어온 "6" 노드를 열린 목록에서 꺼내어 탐색을 준비함을 도시하고 있다.FIG. 17 shows that the F value is the smallest, and the node "6" that came in first is taken out from the open list to prepare for search.

Figure 112019037654302-pat00018
Figure 112019037654302-pat00018

[예시도 18][Example Figure 18]

예시도 18은 "6" 노드에서 각 방향으로 탐색을 수행하는 모습을 보여주고 있다.Example 18 shows a state in which a search is performed in each direction at node "6".

Figure 112019037654302-pat00019
Figure 112019037654302-pat00019

[예시도 19][Example Figure 19]

예시도 19는 "12", "11" 노드는 강요된 이웃(forced neighbour), "10" 노드는 무효 노드(Invalid Node)를 만났기에 점프 포인트가 됨을 보여주고 있다. 해당 점프 포인트들을 열린 목록에 저장된다. 부모 노드(P)가 "5"인 이전에 탐색된 "10"노드는 F 값이 27, 부모 노드(P)가 "6"인 현재 탐색된 "10" 노드는 F값이 26으로 현재 탐색된 값이 더 작다. 반대로, 부모 노드가 "5"인 "11" 노드는 부모 노드가 "6"인 "11" 노드보다 F값이 작다.19 illustrates that nodes "12" and "11" become a jump point because they meet a forced neighbor, and a node "10" encounters an invalid node. The jump points are saved in the open list. The previously searched "10" node whose parent node (P) is "5" has an F value of 27, and the currently searched "10" node whose parent node (P) is "6" has an F value of 26. The value is smaller. Conversely, a node "11" whose parent node is "5" has a smaller F value than a node "11" whose parent node is "6".

Figure 112019037654302-pat00020
Figure 112019037654302-pat00020

[예시도 20][Example 20]

예시도 20에서는 열린 목록에 중복된 노드가 들어오는 경우, F값이 작은 노드로 업데이트함을 보여주고 있다. "6" 노드의 탐색결과로 "10" 노드의 부모노드가 바뀌었다는 것을 알 수 있다.In example 20 It shows that when a duplicate node is entered in the open list, the node with a small F value is updated. As a result of searching for node "6", it can be seen that the parent node of node "10" has changed.

Figure 112019037654302-pat00021
Figure 112019037654302-pat00021

[예시도 21][Example Figure 21]

예시도 21은 "11" 노드를 열린 목록에서 꺼내어 탐색을 준비하는 모습을 보여주고 있다.Example 21 shows a state in which node "11" is taken out of the open list and prepared for search.

Figure 112019037654302-pat00022
Figure 112019037654302-pat00022

[예시도 22][Example 22]

예시도 22는 "11"노드에서 각 방향으로 탐색하는 모습을 보여주고 있다.Exemplary Figure 22 shows a state of searching in each direction at the "11" node.

Figure 112019037654302-pat00023
Figure 112019037654302-pat00023

[예시도 23][Example 23]

예시도 23에서는 "13" 노드가 탐색 중 "E" 노드를 만났고, "14" 노드는 "E" 노드의 [X] 좌표와 동일한 노드에 도달하였기에, "15" 노드는 무효 노드(Invalid Node)를 만났기에 점프 포인트가 되었음을 보여주고 있다. 해당 노드들은 열린 목록에 저장된다.In Example 23, since node "13" encountered node "E" during search, and node "14" reached the same node as the [X] coordinate of node "E", node "15" was an invalid node. It shows that it became a jump point because I met him. Those nodes are saved in the open list.

Figure 112019037654302-pat00024
Figure 112019037654302-pat00024

[예시도 24][Example 24]

예시도 24는 "14" 노드를 열린 목록에서 꺼내어 탐색을 준비함을 보여주고 있다.Example 24 shows that node "14" is pulled out of the open list and prepared for discovery.

Figure 112019037654302-pat00025
Figure 112019037654302-pat00025

[예시도 25][Example 25]

예시도 25에서는 "14" 노드에서 탐색을 수행함을 보여주고 있다.Example 25 shows that a search is performed at node "14".

Figure 112019037654302-pat00026
Figure 112019037654302-pat00026

[예시도 26][Example 26]

예시도 26에서는 "E" 노드가 점프 포인트로 탐색 되었음을 보여주고 있다. 이 경우 도착 노드가 탐지되었으므로 경로탐색은 중지된다.Example 26 shows that the node "E" was searched as a jump point. In this case, the destination node has been detected, so Route search is stopped.

Figure 112019037654302-pat00027
Figure 112019037654302-pat00027

[예시도 27][Example Figure 27]

예시도 27에서는 도착 노드를 찾았기 때문에 최단 경로를 형성함을 보여주고있다. 도착 노드부터 부모 노드를 따라가며 경로를 완성한다. "E" - "14" - "11" - "5" - "2" - "S"의 경로를 따라 최단 경로가 완성되었다.In Example 27, it is shown that the shortest path is formed because the arrival node is found. The path is completed by following the parent node from the destination node. The shortest path was completed along the paths "E"-"14"-"11"-"5"-"2"-"S".

Figure 112019037654302-pat00028
Figure 112019037654302-pat00028

[예시도 28][Example Figure 28]

예시도 28의 왼쪽 그림은 벤딩(Bending)을 줄이기 위해 점프 포인트 판단 기준을 추가하고, 벤딩 페널티(Bending Penalty)를 가한 경로에 완성된 최단경로이다. 우측은 벤딩 페널티를 주지 않은 경우의 JPS 알고리즘에 의한 탐색한 경로이다. 예시도 28에 도시된 바와 같이, 2번의 벤딩(Bending)이 줄어든 모습을 확인할 수 있다.The figure on the left of Fig. 28 is the shortest path completed to a path to which a jumping point determination criterion was added to reduce bending and a bending penalty was applied. The right side is a path searched by the JPS algorithm when a bending penalty is not given. As illustrated in FIG. 28, it can be seen that the number of bending times is reduced.

이하에서는 선호구간을 반드시 경유해야 하는 경우인 JPS 알고리즘의 실시예 2를 도면을 참조하여 설명한다. 실시예 2는 선호구간을 경유하는 경우에 대한 것이다. 일반적으로 파이프 루팅(Pipe Routing)시, 파이프랙(Pipe Rack)과 같이 배관이 항상 지나가야 하는 공간이 있다. 이러한 공간을 반드시 지나가게 경로를 탐색해야 한다. 본 실시예에서는 이러한 선호공간을 어떻게 고려하는지에 대해 설명하기로 한다.Hereinafter, a second embodiment of the JPS algorithm in which the preferred section must be passed will be described with reference to the drawings. Example 2 is for the case of passing through the preferred section. In general, when pipe routing, there is a space where pipes must always pass, such as a pipe rack. You must navigate through these spaces. In this embodiment, a description will be made on how to consider such a preferred space.

예시도 29에서 예시도 35는 JPS 알고리즘이 선호구간을 고려하지 못하는 것을 도시하고 있다.In Figure 29, Figure 35 shows that the JPS algorithm does not consider the preferred interval.

Figure 112019037654302-pat00029
Figure 112019037654302-pat00029

[예시도 29][Example Figure 29]

예시도 29는 선호구간을 고려하지 못하는 것을 설명하기 위한 그리드 맵(Gird Map)이다. 남색 노든는 출발 노드이고, "E" 노드는 도착 노드이고, 빨간색으로 표시된 노드는 파이프랙과 같은 선호구간인 노드이다. Figure 29 is a grid map (Gird Map) for explaining the failure to consider the preferred interval. The blue node is the departure node, the "E" node is the arrival node, and the node marked in red is a node that is a preferred section such as a pipe rack.

Figure 112019037654302-pat00030
Figure 112019037654302-pat00030

[예시도 30][Example 30]

예시도 30은 출발 노드에서 탐색을 수행함을 도시하고 있다. "1"과 "2" 노 는 강요된 이웃(forced neighbour)을 발견하여 점프 포인트(Jump Point)가 되었다.Example 30 shows that the search is performed in the starting node. "1" and "2" node was jumping points (Jump Point) to discover neighbors forced (forced neighbour).

Figure 112019037654302-pat00031
Figure 112019037654302-pat00031

[예시도 31][Example Figure 31]

예시도 31은 F값이 작은 "1" 노드에서 탐색을 수행함을 보여주고 있다. "3" 노드가 강요된 이웃(forced neighbour)을 가지고 있기에 점프 포인트(Jump Point)가 되었다. Example 31 shows that a search is performed in a node "1" having a small F value. Since node "3" has a forced neighbor, it became a jump point.

Figure 112019037654302-pat00032
Figure 112019037654302-pat00032

[예시도 32][Example 32]

예시도 32는 F 값이 작은 "3" 노드에서 탐색을 수행함을 도시하고 있다. "4" 노드가 강요된 이웃(forced neighbour)으로 인해 점프 포인트(Jump Point)가 되었다.Example 32 shows that a search is performed in a node "3" having a small F value. Node "4" became a jump point due to a forced neighbor.

Figure 112019037654302-pat00033
Figure 112019037654302-pat00033

[예시도 33][Example Figure 33]

예시도 33은 "4" 노드에서 탐색을 수행함을 보여준다. "5" 노드에서 추가 탐색 중 도착 노드(End Node)에 도달하였기에 "5" 노드가 점프 포인트(Jump Point)가 된다. 이 과정에서도 선호구간에 도달 할 수 있는 "2" 노드는 고려하지 않는다.Figure 33 shows that a search is performed at node "4". Node "5" becomes a jump point because it reaches the end node during further search from node "5". Even in this process, the "2" node that can reach the preferred section is not considered.

Figure 112019037654302-pat00034
Figure 112019037654302-pat00034

[예시도 34][Example Figure 34]

예시도 34는 "5" 노드에서 탐색을 수행함을 도시하고 있다. 도면에 도시된 바와 같이, 도착 노드(End Node)가 점프 포인트(Jump Point)가 되었다. FIG. 34 shows that a search is performed at node "5". As shown in the figure, an end node became a jump point.

Figure 112019037654302-pat00035
Figure 112019037654302-pat00035

[예시도 35][Example Figure 35]

예시도 35는 각 부모노드를 연결하여 최단거리를 형성한 것을 도시하고 있으며, 선호구간을 거치지 못하고 경로가 완성된 모습이 보여지고 있다.Example 35 shows that each parent node is connected to form the shortest distance, and the path is completed without passing through the preferred section.

상기와 같은 문제점을 해결하기 위해 한가지 방법을 제시한다.To solve the above problems, one method is proposed.

출발 노드 - 선호구간 노드를 거치고, 선호구간 노드 - 도착 노드를 거치는 경로를 형성하여 중간구조물을 거치도록 한다. 즉, 반드시 거쳐야 할 중간구조물을 선호 영역 (Preference Region)으로 하여 경유지로서 항상 지나가도록 하는 방법이다. 아래는 해당 방법을 적용한 탐색과정의 예시이다.A path through the departure node-the preferred section node, and the preferred section node-the arrival node is formed to go through the intermediate structure. In other words, it is a method to always pass as a stopover with the intermediate structure that must be passed as a preference region. The following is an example of the search process applying the method.

Figure 112019037654302-pat00036
Figure 112019037654302-pat00036

[예시도 36][Example 36]

예시도 36은 선호 영역을 거치는 경로를 설명하고 있다.36 illustrates a path through a preferred area.

예시도 36의 상부 좌측의 첫 번째 그림은 탐색을 수행할 그리드 맵(Grid Map)이다. 마찬가지로 선호 영역(Preference region)은 빨간색으로 표시하였다.The first figure in the upper left of Figure 36 is a grid map to perform a search. Similarly, the preference region is marked in red.

예시도 36의 상부 우측의 두 번째 그림에서 도착 노드("E" 노드)를 잠시 비활성화(회색으로 바꿈)하고, 선호 영역의 노드중 출발 노드("S" 노드)와 가까운 노드를 새로운 도착 노드("E" 노드)로 만든다.In the second figure on the upper right of Fig. 36, the arrival node ("E" node) is temporarily deactivated (it turns gray), and the node close to the departure node ("S" node) among the nodes in the preferred area is a new arrival node ( "E" node).

예시도 36의 하부 좌측의 세 번째 그림은 새로운 도착 노드까지의 탐색 과정이다. "1", "2" 노드가 점프 포인트(Jump Point)가 되었다.The third figure on the lower left of Fig. 36 is a search process to a new arrival node. Nodes "1" and "2" became jump points.

예시도 36의 하부 우측의 네 번째 그림에서 새로운 도착 노드까지의 경로가 완성되었다.The path to the new arrival node is completed in the fourth figure in the lower right of Figure 36.

Figure 112019037654302-pat00037
Figure 112019037654302-pat00037

[예시도 37][Example Figure 37]

예시도 37의 상부 좌측의 첫 번째 그림은 출발 노드("S" 노드)를 비활성화하고, 도달한 선호영역의 노드를 새로운 출발 노드로 만든것을 도시하고 있다. 전 단계에서 비활성화한 도착 노드를 활성화 한다. 이제 새로운 출발 노드와, 기존의 도착 노드로 경로 탐색을 수행한다. The first figure in the upper left of Figure 37 shows that the start node ("S" node) is deactivated and the node of the reached preferred area is made a new start node. Activate the destination node that was deactivated in the previous step. Now, a route search is performed with the new departure node and the existing arrival node.

예시도 37의 상부 우측의 두 번째 그림은 새로운 출발 노드에서 기존 도착 노드까지의 경로 탐색 과정이다. "3" 노드가 추가 탐색 중 도착 노드(End Node)를 만났기에 점프 포인트(Jump Point)가 되었다. The second figure in the upper right of Figure 37 is a path search process from a new departure node to an existing arrival node. Node "3" became a jump point because it met the End Node during the further search.

예시도 37의 하부 좌측의 세 번째 그림은 "3" 노드에서 탐색을 수행하는 모습을 보여주고 있다. "3" 노드에서 도착 노드(End Node)에 도달하였다. The third figure on the lower left of Figure 37 shows a state in which a search is performed at node "3". From node "3", we reached the end node

예시도 37의 하부 우측의 네 번째 그림에서 선호 영역(Preference region)을 지나가는 경로를 얻게 됨을 보여주고 있다. In the fourth figure on the lower right of Fig. 37, it is shown that a path passing through a preference region is obtained.

이하에서는 Z축 방향으로 JPS 알고리즘을 적용한 실시예 3을 설명하기로 한다. Hereinafter, Example 3 in which the JPS algorithm is applied in the Z-axis direction will be described.

예시도 38은 JPS 알고리즘을 3D에 적용하는 것을 도시하고 있다. JPS 알고리즘을 3D에 적용하는 것은 X_Y평면을 탐색 후 Z방향으로 이동 후 그곳의 X_Y평면을 탐색하는 식으로 진행한다. 아래 그림은 그 예시를 도시하고 있다.Example 38 shows the application of the JPS algorithm to 3D. Applying the JPS algorithm to 3D proceeds by searching the X_Y plane, moving in the Z direction, and then searching the X_Y plane there. The figure below shows an example.

Figure 112019037654302-pat00038
Figure 112019037654302-pat00038

[예시도 38] [Example Figure 38]

예시도 38은 X_Y_Z가 5 X 5 X 3인 3D 그리드 맵(Grid Map)을 도시하고 있다. 출발 노드는 남색으로 표시하였으며, 다음 도면은 탐색 과정을 도시하고 있다.Example 38 shows a 3D grid map in which X_Y_Z is 5 X 5 X 3. The starting node is indicated in blue, and the following figure shows the search process.

Figure 112019037654302-pat00039
Figure 112019037654302-pat00039

[예시도 39] [Example 39]

예시도 39는 출발 노드가 있는 Z=2인 X_Y평면에서 탐색을 수행하는 모습을 보여주고 있다. 앞서 설명한 직선 및 직교방향으로 이동(Orthogonal Move)의 탐색과 동일하게 진행된다. 상기 예시도 39는 X_Y_Z가 5 X 5 X 3이므로 Z=1과 Z=2 및 Z=2와 Z=3 중간에 Z방향의 하나의 그리드가 존재하는데, Z=1은 Z=2보다 1 그리드가 아래에 위치하고 있으며, Z=3은 Z=2보다 1그리드 위에 위치하고 있음을 설명한다.Example 39 shows a state in which a search is performed in the X_Y plane where Z=2 in which the starting node is located. It proceeds in the same manner as the search for the linear and orthogonal moves described above. In Figure 39, since X_Y_Z is 5 X 5 X 3, there is one grid in the Z direction between Z = 1 and Z = 2 and Z = 2 and Z = 3, but Z = 1 is 1 grid rather than Z = 2 Explain that is located below and Z=3 is located one grid above Z=2.

Figure 112019037654302-pat00040
Figure 112019037654302-pat00040

[예시도 40] [Example 40]

예시도 40은 Z=3인 곳으로 이동하여 해당 X_Y평면에서의 탐색을 수행하는 모습을 보여주고 있다. Z=3인 X_Y평면에서 점프 포인트(Jump Point)로 판단되는 노드가 생기면, 노란색 노드를 점프 포인트(Jump Point)로 반환한다. 남색으로 표시된 출발 노드의 점프 포인트(Jump Point)를 찾는 것이기에 때문에, 노란색 노드를 점프 포인트로 반환하게 된다.Example 40 shows a state in which a search is performed in the corresponding X_Y plane by moving to a place where Z=3. When there is a node determined as a jump point in the X_Y plane with Z=3, the yellow node is returned as a jump point. Because it is to find the jump point of the starting node marked in blue, the yellow node is jumped. It will be returned in points.

Figure 112019037654302-pat00041
Figure 112019037654302-pat00041

[예시도 41] [Example Figure 41]

예시도 41은 Z=1인 곳으로 이동하여 해당 X_Y평면에서의 탐색을 수행하는 모습을 보여주고 있다. Illustrative Figure 41 shows a state in which a search is performed in the corresponding X_Y plane by moving to a place where Z=1.

도 8은 타워, 탱크 및 열교환기와 선호구간인 파이프랙이 생성된 것을 도시하고 있다. 도 9에서는 상기의 JPS 알고리즘을 이용하여 파이플 자동으로 생성한 모습을 도시하고 있다. 도 9(a)는 각각의 장치를 X_Y 평면으로 표현하고 있고, 도 9(b)에서는 출발 노드인 타워(11)에서 출발하여 선호구간인 파이프랙(44)을 거쳐, 도착 노드인 열교환기(12)로 파이프 라인(P)이 생성됨을 도시하고 있다.Fig. 8 shows that a tower, a tank, a heat exchanger and a pipe rack, which is a preferred section, are created. 9 shows a state in which pipes are automatically generated using the JPS algorithm described above. In Fig. 9(a), each device is expressed in the X_Y plane, and in Fig. 9(b), it starts from the tower 11, which is the starting node, passes through the pipe rack 44, which is the preferred section, and the heat exchanger ( 12) shows that the pipeline P is created.

상기와 같이 JPS 알고리즘을 사용하는 경우, 모든 노드를 판단할 필요없이, 탐색이 필요한 노드만을 탐색하면 되는 것이기 때문에 종래의 A* 알고리즘에 비해 속도가 빠르다는 장점이 있다.In the case of using the JPS algorithm as described above, there is an advantage in that the speed is higher than that of the conventional A * algorithm, since all nodes need only be searched without determining all nodes.

이와 같이 본 발명은 다양하게 변형실시가 가능한 것으로, 본 발명의 바람직한 실시예를 들어 설명하였으나, 본 발명은 이러한 실시예에 한정된 것은 아니고, 본 발명의 청구 범위와 상세한 설명에서 본 발명이 속하는 기술분야의 통상의 기술자가 변형하여 사용할 수 있는 기술은 본 발명의 기술범위에 당연히 포함된다고 보아야 할 것이다.As described above, the present invention is capable of various modifications, and has been described with reference to preferred embodiments of the present invention, but the present invention is not limited to these embodiments, and the technical field to which the present invention belongs in the claims and detailed description of the present invention. Techniques that can be modified and used by those of ordinary skill in the art will naturally be considered to be included in the technical scope of the present invention.

11 : 타워 12 : 열교환기
13 : 탱크 14 : 파이프랙
D : U/I의 뷰컨트롤 화면 P : 파이프라인
T : 템플릿
11: tower 12: heat exchanger
13: tank 14: pipe rack
D: U/I view control screen P: Pipeline
T: template

Claims (6)

서버에 저장된 플롯플랜, P&ID, 라인 리스트 및 장치 또는 구조물의 템플릿 데이터를 이용한 3차원 캐드 작업을 하기 위한 플랜트엔지니어링의 3차원 배관경로 자동 생성방법에 있어서,
(a) 장치나 구조물을 모델링하여 플롯플랜을 구성하고 서버에 저장하는 단계;
(b) 상기 서버의 플롯플랜의 정보를 기초로 좌표를 설정한 3차원 캐드 기본 데이터가 형성되는 단계;
(c) 상기 서버의 데이터에서 장치나 구조물의 템플릿을 불러와, 플랜트 프로젝트의 특성에 맞춰 3차원의 장치나 구조물의 템플릿으로 생성하는 단계;
(d) 상기 좌표가 설정된 3차원 캐드 기본 데이터에 상기 플롯플랜상의 해당 영역상의 좌표값에 따라 (c)단계에서 생성된 상기 3차원 장치나 구조물을 배치하는 단계;
(e) 상기 P&ID와 라인 리스트 데이터를 서버에서 불러와 해당 P&ID 상의 파이프라인이 출발점과 도착점의 장치나 구조물의 좌표에 매칭하는 단계;
(f) 상기 장치나 구조물의 출발점 및 도착점의 좌표와 매칭된 P&ID 상의 파이프 라인이 중간에 경유하는 파이프랙이나 건물과 같은 선호구간의 출발점 및 도착점의 좌표를 지정하는 단계;
(g) 상기 P&ID 상의 파이프라인에 매칭된 장치나 구조물의 출발점과 도착점의 좌표 및 상기 P&ID 상의 파이프라인이 중간에 경유하는 선호구간을 따라, 정사각형의 그리드 맵을 형성하고 상기 그리드 맵을 따라 [X], [Y], [Z]의 직선 및 직교방향으로만 이동하는 JPS(Jump Point Search) 알고리즘에 따라 자동으로 3차원의 파이프라인이 생성되는 단계; 및
(h) 상기 JPS 알고리즘에 의해 생성된 파이프라인에 대한 물량이 산출되는 단계;가 포함되며,

상기 JPS 알고리즘은,
(g-1) 상기 출발점에서 [+X], [+Y], [+Z], [-X], [-Y] 및 [-Z] 방향으로 탐색을 진행하면서 제1차 점프 포인트(Jump Point)를 찾는 단계; (g-2) 상기 (g-1)단계의 탐색과정에서 찾은 제1차 점프 포인트에 순번을 입력하고, 각 순번에 대한 G, H, F 및 P 값을 열린 목록에 기재하고 저장하는 단계; (g-3) 상기 (g-1)단계의 탐색과정에 찾은 제1차 점프 포인트 중 가장 작은 F 값을 가진 점프 포인트로부터 순차적으로 [+X], [+Y], [+Z], [-X], [-Y] 및 [-Z] 방향으로 탐색을 진행하면서 제2차 점프 포인트를 찾는 단계; (g-4) 상기 (g-2)단계의 탐색과정에서 찾은 제2차 점프 포인트에 순번을 입력하고, 각 순번에 대한 G, H, F 및 P 값을 열린 목록에 기재하고 저장하는 단계; (g-5) 상기 (g-2)단계의 탐색과정에 찾은 제2차 점프 포인트 중 가장 작은 F 값을 가진 점프 포인트로부터 순차적으로 [+X], [+Y], [+Z], [-X], [-Y] 및 [-Z] 방향으로 탐색을 진행하면서 제3차 점프 포인트를 찾는 단계; (g-6) 상기 점프 포인트를 찾는 과정을 도착점이 나올때까지 가장 작은 F 값을 가진 점프 포인트로부터 순차적으로 탐색하여 제n차 점프 포인트를 찾는 단계; (g-7) 상기 (g-6)단계의 탐색과정에서 찾은 제n차 점프 포인트에 순번을 입력하고, 각 순번에 대한 G, H, F 및 P 값을 열린 목록에 기재하고 저장하는 단계; 및 (g-8) 상기 가장 작은 F 값에 지정된 P 값을 따라가며 경로를 완성하는 단계;로 이루어지고,

상기 제1차 내지 제n차 점프 포인트 중 제k-1차 점프 포인트에서 제k차 점프 포인트로의 진행에 벤딩이 발생하는 경우, 상기 제k차 점프 포인트의 G 값에는 벤딩 페널티(Bending Penalty)가 더해지며(단, 상기 k는 2 ~ n인 정수이다.),

상기 선호구간을 경유해야 하는 경우에, 상기 선호구간의 출발점이 중간 도착점으로 간주되어 상기와 동일한 방법으로 점프 포인트가 탐색되고, 상기 선호구간의 중간 도착점의 탐색이 완료된 경우에는, 상기 선호구간의 중간 도착점이 중간 출발점이 되어 도착점까지 점프 포인트가 탐색되는 것을 특징으로 하는 플랜트엔지니어링의 3차원 배관경로 자동 생성방법.
In a method for automatically generating 3D piping paths of plant engineering for 3D CAD work using plot plans, P&IDs, line lists stored in a server, and template data of devices or structures,
(a) constructing a plot plan by modeling a device or structure and storing it in a server;
(b) forming 3D CAD basic data in which coordinates are set based on information on the plot plan of the server;
(c) importing a template of a device or structure from the data of the server and generating a template of a three-dimensional device or structure according to the characteristics of the plant project;
(d) arranging the 3D device or structure generated in step (c) according to the coordinate value of the corresponding area on the plot plan on the 3D CAD basic data in which the coordinates are set;
(e) retrieving the P&ID and line list data from a server and matching the pipeline on the P&ID with the coordinates of the device or structure at the starting point and the destination point;
(f) designating the coordinates of the starting point and the arrival point of a preferred section such as a pipe rack or a building through which the pipeline on the P&ID matched with the coordinates of the starting point and the destination point of the device or structure passes through the middle;
(g) A square grid map is formed along the coordinates of the starting point and the destination point of the device or structure matched with the pipeline on the P&ID and the preferred section that the pipeline on the P&ID passes through in the middle, and follows the grid map [X Automatically generating a three-dimensional pipeline according to a JPS (Jump Point Search) algorithm that moves only in straight and orthogonal directions of ], [Y], [Z]; And
(h) calculating the quantity of the pipeline generated by the JPS algorithm; includes,

The JPS algorithm,
(g-1) The first jump point while searching in the directions [+X], [+Y], [+Z], [-X], [-Y] and [-Z] from the starting point Finding Point); (g-2) inputting a sequence number to the first jump point found in the search process of step (g-1), and writing and storing G, H, F, and P values for each sequence in an open list; (g-3) [+X], [+Y], [+Z], [[+X], [+Y], [+Z], [ Finding a second jump point while searching in the directions -X], [-Y] and [-Z]; (g-4) inputting a sequence number to the second jump point found in the search process of step (g-2), and writing and storing G, H, F, and P values for each sequence in an open list; (g-5) [+X], [+Y], [+Z], [[+X], [+Y], [+Z], [ Finding a third jump point while searching in the directions -X], [-Y] and [-Z]; (g-6) sequentially searching the process of finding the jump point from the jump point having the smallest F value until the arrival point is reached, and finding the nth jump point; (g-7) inputting a sequence number to the nth jump point found in the search process of step (g-6), and writing and storing G, H, F, and P values for each sequence in an open list; And (g-8) completing a path while following the P value specified in the smallest F value,

When bending occurs in progress from the k-1 th jump point to the k th jump point among the first to n th jump points, a bending penalty is applied to the G value of the k th jump point. Is added (however, k is an integer of 2 to n),

When it is necessary to go through the preferred section, the starting point of the preferred section is regarded as an intermediate arrival point, and the jump point is searched in the same manner as above, and when the search for the intermediate destination point of the preferred section is completed, the middle of the preferred section The method of automatically generating a three-dimensional piping path of plant engineering, characterized in that the arrival point becomes an intermediate starting point and a jump point to the arrival point is searched.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020190042939A 2019-04-12 2019-04-12 The automatic piping route generation method of plant engineering KR102248977B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190042939A KR102248977B1 (en) 2019-04-12 2019-04-12 The automatic piping route generation method of plant engineering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190042939A KR102248977B1 (en) 2019-04-12 2019-04-12 The automatic piping route generation method of plant engineering

Publications (2)

Publication Number Publication Date
KR20200120817A KR20200120817A (en) 2020-10-22
KR102248977B1 true KR102248977B1 (en) 2021-05-07

Family

ID=73035564

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190042939A KR102248977B1 (en) 2019-04-12 2019-04-12 The automatic piping route generation method of plant engineering

Country Status (1)

Country Link
KR (1) KR102248977B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102591478B1 (en) * 2021-05-27 2023-10-19 현대건설(주) Piping material take off method of bidding stage with automation solutions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100786285B1 (en) 2007-05-21 2007-12-18 주식회사 테크서버 The method to generate automatically from 3-dimensional data to 2-dimensional design, construction or installation drawing for plant engineering and shipbuilding
WO2017019369A1 (en) 2015-07-30 2017-02-02 Siemens Product Lifecycle Management Software Inc. Collaborative virtual mechanical routing development system and method
KR101769433B1 (en) 2017-02-28 2017-08-30 플랜트에셋 주식회사 Design Quality improving method of 3D CAD modeling of plant through design rule checking
KR101794282B1 (en) * 2017-07-19 2017-11-06 (주)엠앤제이소프트 The method of creating 2d piping cad data to 3d piping cad modeling data
KR101846213B1 (en) 2017-11-29 2018-04-06 주식회사 휴엔시스템 Computer aided design method for pipe system using multi pipe virtual plane

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020011677A (en) 2000-08-03 2002-02-09 (주)키소 Drawing system and method for auto modeling conversion process program from 2-dimensional pipe laying diagrams to 3-dimensional cad data
KR20130071907A (en) * 2011-12-21 2013-07-01 현대중공업 주식회사 Setting method of for materials catalog for ocen plant
KR101889422B1 (en) * 2017-01-06 2018-08-20 한국과학기술원 Layout apparatus and the method of plant using knowledge based in pipe routing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100786285B1 (en) 2007-05-21 2007-12-18 주식회사 테크서버 The method to generate automatically from 3-dimensional data to 2-dimensional design, construction or installation drawing for plant engineering and shipbuilding
WO2017019369A1 (en) 2015-07-30 2017-02-02 Siemens Product Lifecycle Management Software Inc. Collaborative virtual mechanical routing development system and method
KR101769433B1 (en) 2017-02-28 2017-08-30 플랜트에셋 주식회사 Design Quality improving method of 3D CAD modeling of plant through design rule checking
KR101794282B1 (en) * 2017-07-19 2017-11-06 (주)엠앤제이소프트 The method of creating 2d piping cad data to 3d piping cad modeling data
KR101846213B1 (en) 2017-11-29 2018-04-06 주식회사 휴엔시스템 Computer aided design method for pipe system using multi pipe virtual plane

Also Published As

Publication number Publication date
KR20200120817A (en) 2020-10-22

Similar Documents

Publication Publication Date Title
KR101320221B1 (en) Method and apparatus for copying objects in an object-oriented environment using a multiple-transaction technique
KR101989314B1 (en) Method for modeling a pipe and record media recorded program realizing the same
Lei et al. Algorithm for mobile crane walking path planning in congested industrial plants
KR101889422B1 (en) Layout apparatus and the method of plant using knowledge based in pipe routing
Qu et al. Pipe routing approach for aircraft engines based on ant colony optimization
CN108897969B (en) BIM-based facility maintenance automatic scheduling method
KR100791748B1 (en) Reduceing Method of Shortest Path Searching Area and Calculating Method of Minimal Expecting Load and Method of Searching Shortest Path
KR102248977B1 (en) The automatic piping route generation method of plant engineering
JP6312949B2 (en) Pressure loss determination device, pressure loss determination program, and pressure loss determination method
Singh et al. Automating the generation of 3D multiple pipe layout design using BIM and heuristic search methods
Schmidt-Traub et al. Conceptual plant layout
Shirakawa et al. Multi-objective optimization system for plant layout design (3rd report, Interactive multi-objective optimization technique for pipe routing design)
Choi et al. The modification of A* pathfinding algorithm for building mechanical, electronic and plumbing (MEP) path
JP2002297682A (en) Piping route evaluating method
CN110390725B (en) Pipeline completion map generation method, device and system
Yeates et al. Heuristic methods for pipeline network design
KR20210085265A (en) Piping Modeling Method Using Performed Data and Computer-readable Recording Medium Recording Program Implementing The Same
Singh BIM-based automatic piping layout design and schedule optimization
Ando et al. Automatic pipe routing to avoid air pocket
WO2022118806A1 (en) Automatic piping method, automatic piping device, and automatic piping program
CN107851133B (en) Method, system, and medium for geometric transformation of objects in an object-oriented environment
Jonsson et al. Minimizing Visual Effects and Optimizing Routes and Locations for Geothermal Steam Gathering System
Zuga et al. Steiner points search automation to solve the problem of minimum-length utility lines
Stanczak et al. A pipe routing hybrid approach based on a-star search and linear programming
JP2007188282A (en) Support for piping design

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant