Server and method for visualizing dock blocks on a 3D ship model
Patent Information
- Application Number
- KR1020260047926
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2026-03-17
- Publication Date
- 2026-09-16
- Estimated Expiration
- 2046-03-17
Smart Images

Figure 112026032380198-PAT00002_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to a server and method for providing a block visualization service that visualizes and provides a block in a 3D model of a ship corresponding to 3D modeling data. Background Technology
[0003] The content described in this section merely provides background information regarding the present embodiment and does not constitute prior art.
[0004] During the shipbuilding or repair process, numerous timbers are placed on the dock floor to support the hull. These timbers are critical structures that support the hull load and maintain the ship's attitude stably; their position and height are determined by the ship's shape, weight distribution, bottom profile, and other factors.
[0005] Generally, the arrangement of the slabs is designed based on the dock grid formed on the dock floor, and the designer determines the placement location of the slabs by referring to the ship's drawings or 3D model.
[0006] Recently, 3D CAD models have become widely used in the ship design process, allowing for easy verification of the ship's hull shape and structure. However, since the ship's 3D model and block placement information are often managed in separate systems, there is an inconvenience in having to refer to multiple materials simultaneously when establishing or reviewing block placement plans. For example, a designer may have to manually compare block placement information provided in the form of separate drawings or tables with the ship's 3D model to review block locations.
[0007] Furthermore, since the height and spacing of the timbers vary depending on the hull shape, improper timber placement can lead to excessive localized loads on the hull or hull deformation. In conventional methods, it is difficult to intuitively verify the timber placement status, which presents a problem in that it is difficult to sufficiently review the appropriateness of the timber arrangement prior to actual dock operations.
[0008] In particular, for large vessels, the hull shape is complex and the number of blocks can exceed several hundred, so there are limitations to reviewing block placement plans using only 2D drawings or table-type data. As a result, block placement errors are discovered late at the work site, and additional work such as adjusting block height and positioning due to interference occurs, leading to reduced work efficiency.
[0009] Therefore, there is a need for technology that allows for intuitive verification of the arrangement of blocks based on a 3D model of a ship and visual examination of the relationship between blocks and the hull shape. The problem to be solved
[0011] The objective of the present invention is to provide a server and method for providing a block visualization service that visualizes a ship 3D model corresponding to 3D modeling data by applying a block.
[0012] The objects of the present invention are not limited to those mentioned above, and other unmentioned objects and advantages of the present invention may be understood from the following description and will be more clearly understood by the embodiments of the present invention. Furthermore, it will be readily apparent that the objects and advantages of the present invention can be realized by the means and combinations thereof set forth in the claims. means of solving the problem
[0014] A server providing a block visualization service according to an embodiment of the present invention includes a memory storing a block visualization program; and a processor executing the block visualization program. The block visualization program receives 3D model data from a user terminal, outputs a 3D model corresponding to the 3D modeling data, determines a placement point where a block is to be placed based on the shape of the 3D model, places the block at the placement point, receives a block selection signal from the user terminal for selecting the block, and measures and provides a vertical distance from a reference plane where the block is placed corresponding to the block selection signal to the 3D model.
[0015] In addition, the above-mentioned block visualization program can form the block with a first length and place it at the above-mentioned placement point.
[0016] Additionally, when the above-mentioned block visualization program receives the block selection signal from the user terminal, it extends the block corresponding to the block selection signal to a second length so that one end of the block comes into contact with the bottom surface of the 3D model, and the second length corresponds to the vertical distance, which is the distance from the reference plane to the bottom surface of the 3D model, and the first length may be shorter than the second length.
[0017] In addition, the above-mentioned visualization program can estimate the weight of the 3D model based on the 3D modeling data and determine the placement point based on at least one of the weight and load of the 3D model.
[0018] In addition, the above-mentioned visualization program can divide the 3D model into a plurality of sections based on the shape of the 3D model, and determine the spacing of the placement points placed in the sections based on at least one of the weight and load of the 3D model corresponding to the sections.
[0019] In addition, the above-mentioned block visualization program can determine the placement point based on the shape of the lower surface of the 3D model corresponding to the section.
[0020] In addition, the above-described block visualization program can form the upper surface shape of the block that contacts the lower surface of the 3D model to correspond to the lower surface shape of the 3D model.
[0021] In addition, the above-mentioned block visualization program can provide the curvature applied to the upper surface of the above-mentioned block to the user terminal.
[0022] In addition, the above-mentioned block visualization program can receive a design selection signal from the user terminal selecting one block design from the block design portfolio and place it at the placement point.
[0023] Additionally, a method for providing a block visualization service according to an embodiment of the present invention may include: receiving 3D model data from a user terminal and outputting a 3D model corresponding to the 3D modeling data; determining a placement point to be placed for a block based on the shape of the 3D model and placing the block at the placement point; receiving a block selection signal for selecting the block from the user terminal; and measuring and providing a vertical distance from a reference plane where the block is placed corresponding to the block selection signal to the 3D model. Effects of the invention
[0025] The block visualization service providing server and method of the present invention can provide a highly stable block placement structure by placing blocks based on at least one of the weight, load, and shape of a 3D model.
[0026] In addition, the length of each half-section and the shape of the part that contacts the 3D model can be provided, allowing the user to easily design the half-sections.
[0027] In addition to the above, the specific effects of the present invention are described together with the specific details for implementing the invention below. Brief explanation of the drawing
[0029] FIGS. 1 and FIGS. 2 are conceptual diagrams schematically illustrating the operation of a block visualization service providing server according to an embodiment of the present invention. Figure 3 is a block diagram schematically showing the configuration of the drawing block visualization service provider server illustrated in Figure 1. FIG. 4 is a flowchart illustrating a method for providing a repetitive visualization service according to an embodiment of the present invention. FIGS. 5 to 8 are exemplary diagrams for explaining the method of providing a block visualization service illustrated in FIG. 4. Figure 9 is a flowchart illustrating the process of arranging the block shown in Figure 4. FIGS. 10 to 18 are exemplary diagrams for explaining the process of arranging the half-blocks shown in FIG. 9. FIG. 19 is a flowchart illustrating the process of providing the vertical distance of the half-block shown in FIG. 4. FIGS. 20 to 27 are exemplary diagrams for explaining the process of providing the vertical distance of the half-block shown in FIG. 19. FIG. 28 is a diagram illustrating the hardware implementation of a system for performing a method for providing a repetitive visualization service according to an embodiment of the present invention. Specific details for implementing the invention
[0030] Terms and words used in this specification and claims shall not be interpreted as being limited to their general or dictionary meanings. In accordance with the principle that an inventor may define the concept of a term or word to best describe their invention, they shall be interpreted in a meaning and concept consistent with the technical spirit of the invention. Furthermore, since the embodiments described in this specification and the configurations illustrated in the drawings are merely one embodiment of the invention and do not represent the entire technical spirit of the invention, it should be understood that various equivalents, modifications, and applicable examples capable of replacing them may exist at the time of filing this application.
[0031] The terms first, second, A, B, etc., as used in this specification and claims may be used to describe various components, but said components should not be limited by said terms. These terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be named the second component, and similarly, the second component may be named the first component. The term "and / or" includes a combination of a plurality of related described items or any of a plurality of related described items.
[0032] The terms used in this specification and claims are used merely to describe specific embodiments and are not intended to limit the invention. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this application, terms such as "comprising" or "having" should be understood as not precluding the existence or addition of the features, numbers, steps, actions, components, parts, or combinations thereof described in the specification.
[0033] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by those skilled in the art to which this invention pertains.
[0034] Terms such as those defined in commonly used dictionaries should be interpreted as having meanings consistent with their meanings in the context of the relevant technology, and should not be interpreted in an ideal or overly formal sense unless explicitly defined in this application.
[0035] In addition, each component, process, procedure, or method included in each embodiment of the present invention may be shared within a scope that is not technically contradictory to one another.
[0036] Hereinafter, with reference to FIGS. 1 to 28, a server and method for providing a block visualization service according to embodiments of the present invention will be described in detail.
[0038] FIGS. 1 and 2 are conceptual diagrams schematically illustrating the operation of a block visualization service providing server according to an embodiment of the present invention, and FIG. 3 is a block diagram schematically illustrating the configuration of the block visualization service providing server shown in FIG. 1.
[0039] Referring to FIGS. 1 to 3, a block visualization service providing server is described. The block visualization service providing server (100) can apply a virtual block to a 3D model corresponding to 3D modeling data generated through a 3D model design program such as CAD and output it. At this time, the 3D model may be a 3D model such as a ship or a marine structure, but is not limited thereto and can be applied to any structural 3D model.
[0040] Ships or offshore structures are constructed by assembling them in a dock. During this process, timbers are used to support the hull or large blocks within the dock, serving as the supporting foundation for the construction.
[0041] The block visualization service providing server (100) can provide a block visualization service that applies such a block to a ship 3D model and outputs it.
[0042] More specifically, the anti-visualization service providing server (100) receives 3D modeling data (10) generated through a 3D model design program such as CAD from a user terminal (200) and outputs a 3D model (20) corresponding to the 3D modeling data. At this time, the user terminal (200) may be provided as a desktop type such as the first user terminal (210), or as a portable terminal such as a smartphone such as the second user terminal (220).
[0043] Then, based on the shape of the 3D model (20), a plurality of placement points where the block (30) is to be placed are determined and the block (30) is placed at the placement points, and when a user selects one of the plurality of block (30), the vertical distance from the reference plane where the selected block (30) is placed to the bottom surface of the 3D model (20) can be measured and provided.
[0044] To perform such an operation, the anti-visualization service providing server (100) may include memory (110) and a processor (120).
[0045] Memory (110) may store a loop visualization program that visualizes a 3D model corresponding to 3D modeling data by applying a virtual loop. Memory (110) may be interpreted as a general term for a non-volatile storage device that retains stored information even when power is not supplied, and a volatile storage device that requires power to retain stored information. Additionally, memory (110) may perform the function of temporarily or permanently storing data processed by the processor (120). Memory (110) may include non-volatile storage devices such as magnetic storage media or flash storage media in addition to volatile storage devices that require power to retain stored information, but the scope of the present invention is not limited thereto. The processor (120) may execute the loop visualization program stored in memory (110) to apply a virtual loop (30) to a 3D model (20) corresponding to 3D modeling data (10) and provide it.
[0046] Next, the operation of the block visualization program is explained.
[0047] The block visualization program receives 3D modeling data (10) from a user terminal (200) and can output a 3D model (20) corresponding to the 3D modeling data (10). When the 3D model (20) is output, a placement point to be placed on the block is determined based on the shape of the 3D model (20), and the block (30) can be placed on the placement point.
[0048] At this time, the repetitive visualization program can divide the 3D model (20) into multiple sections. More precisely, the 3D model (20) can be divided into multiple sections from the front to the rear. For example, the ship 3D model (20) of FIG. 2 can be divided into multiple sections from the bow to the stern.
[0049] Additionally, the block visualization program can determine whether to place blocks for each section and the spacing and number of blocks (30) placed in the section based on the weight and load of the 3D model (20) corresponding to each section. For example, if the weight of the 3D model (20) corresponding to the section is relatively heavy, the spacing of the blocks (30) can be set relatively narrow, and if the load at a certain point in the 3D model (20) of the section is relatively large, more blocks (30) can be placed around that point. FIG. 2 shows blocks (30) placed over the entire 3D model (20), but this is merely an example of how blocks are placed, and the placement of blocks can be determined based on the weight and load of the 3D model (20) corresponding to the section.
[0050] Subsequently, when the block visualization program receives a first block selection signal from a user terminal (200) to select a block (30), it can measure and provide the vertical distance from the reference plane where the block (30) corresponding to the first block selection signal is placed to the 3D model (20). The block visualization program can provide a cross-sectional perspective view or a cross-sectional plan view of the 3D model (20) corresponding to the section to the user terminal (200) to allow the user to select a block placed in the corresponding section, and can measure and provide the vertical distance from the reference plane where the block selected by the user is placed to the 3D model (20).
[0051] At this time, the block visualization program can form the block (30) placed in the section with a first length, and when it receives a second block selection signal selecting the block (30) from a user terminal (200), it can form the block (30) with a second length so that one end of the block (30) corresponding to the second block selection signal comes into contact with the lower surface of the 3D model (20), thereby providing the overall shape. That is, the second length corresponds to the vertical distance from the reference plane where the block (30) is placed to the 3D model (20), and the first length may be shorter than the second length.
[0052] Here, the first block selection signal may be an action where the user clicks the block (30), and the second block selection signal may be an action where the user double-clicks the block (30).
[0053] Additionally, the block visualization program can provide a horizontal distance, which is the distance between sections where the block (30) is placed. The block visualization program can determine whether to place a block for each section based on the weight and load of the 3D model (20) corresponding to each section. For example, if the weights of consecutive first to third sections are similar, the block may be placed only in the first and third sections, and the second section may be excluded from the block placement. In this way, the section to which the block is placed is selected according to the weight of the 3D model (20) of the consecutive sections, thereby providing a distance between sections where the block is placed.
[0054] Meanwhile, the processor (120) can perform hardware control functions such as file systems, memory allocation, networks, basic libraries, timers, device control (display, media, input devices, 3D, etc.), and other utilities as needed while executing a program. In this embodiment, the processor (120) may be implemented in the form of a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc., but the scope of the invention is not limited thereto.
[0055] Additionally, the communication module (130) may include a device comprising hardware and software required to transmit and receive signals, such as control signals or data signals, through a wired or wireless connection with another network device in order to perform data communication regarding signal data with an external device. The database (140) may store various data for the operation of a repetitive visualization program, such as 3D modeling data.
[0057] FIG. 4 is a flowchart for explaining a method for providing a block visualization service according to an embodiment of the present invention, and FIGS. 5 to 8 are illustrative diagrams for explaining the method for providing a block visualization service illustrated in FIG. 4.
[0058] With reference to FIGS. 1, 2, and 4, a method for providing a block visualization service using a block visualization service providing server (100) is described. In the method for providing a block visualization service, the block visualization service providing server (100) receives 3D modeling data (10) from a user terminal (200) and outputs a 3D model (20) corresponding to the 3D modeling data (10) (step S100). When the 3D model (20) is output, a placement point to be placed for the block is determined based on the shape of the 3D model (20), and the block (30) is placed at the placement point (step S200).
[0059] Afterwards, when a block selection signal is received from a user terminal (200) to select a block (30), the vertical distance from the reference plane where the block (30) corresponding to the block selection signal is placed to the 3D model (20) can be measured and provided (step S300).
[0060] For example, the block visualization service providing server (100) can output a 3D model (20) corresponding to 3D modeling data (10) as in FIG. 5, and determine a placement point where the block is to be placed based on the shape of the 3D model (20) as in FIG. 6, and place the block (30).
[0061] Here, the block (30) may be composed of a fixed part (31) and a supporting part (32). The fixed part (31) is configured to be placed in a dock, and the supporting part (32) is configured to extend vertically from the fixed part (31) and support the 3D model (20) by contacting the lower surface of the 3D model (20). The block (30) placed in FIG. 6 may be in a state where only the fixed part (31) is visible.
[0062] Additionally, the block visualization service providing server (100) can divide the 3D model (20) into multiple sections and, as shown in FIG. 7, can provide a cross-sectional view of the 3D model corresponding to the section (21) to the user terminal (200). Then, when a block selection signal is received from the user terminal (200) to select a block (30), the vertical distance (H) from the reference plane where the block (30) corresponding to the block selection signal is placed to the 3D model (20) can be measured and provided. Additionally, the block visualization service providing server (100) can provide the vertical distance (H) for the block (30) corresponding to the block selection signal by displaying it on the 3D model (20), as shown in FIG. 8.
[0063] Next, each step of the method for providing conflict visualization services is explained in detail.
[0064] FIG. 9 is a flowchart for explaining the process of arranging the block shown in FIG. 4, and FIG. 10 to 18 are example diagrams for explaining the process of arranging the block shown in FIG. 9.
[0065] First, referring to FIGS. 9 to 18, a process (step S200) of determining a placement point where a block is to be placed and placing a block (30) at the placement point is explained.
[0066] The server providing the block visualization service (100) can receive dock information and dock grid information of the dock where the ship is manufactured from the user terminal (200) (step S210). At this time, the dock information may be information related to the dock space, such as the length, width, and height of the dock, and the dock grid information may be the horizontal and vertical lengths of a rectangle formed in the dock. The dock grid represents location information in the dock and can guide the location where the block (30) is to be placed.
[0067] For example, the anti-double visualization service providing server (100) can receive dock information from a user terminal (200) to form a dock space (40) as shown in FIG. 10, and can receive dock grid information to form a dock grid (50) in the dock space (40) as shown in FIG. 11.
[0068] The block visualization service providing server (100) can receive dock information and dock grid information to form a dock space (40) and a dock grid (50), then determine a placement space where blocks are to be placed based on the shape of a 3D model (20) (step S220), and determine a placement point based on the dock grid within the placement space to place blocks (step S230).
[0069] At this time, the antithesis visualization service providing server (100) can provide an antithesis design portfolio to the user terminal (200), and can receive one antithesis design from the user terminal (200) and place it at a placement point. Additionally, the antithesis visualization service providing server (100) can provide an antithesis creation UI to the user terminal (200), receive shape information of the antithesis through the antithesis creation UI, and create and place an antithesis based on the shape information.
[0070] For example, the block visualization service providing server (100) can form a placement space (60) based on the shape of a 3D model (20) as shown in FIG. 12, and can set a placement point (70) where a block can be placed in the area formed by the placement space (60). That is, a placement point (70) can be set on a dock grid (50).
[0071] The placement space (60) can be formed in a cuboid shape, the width (horizontal length) can correspond to the horizontal length of the 3D model (20), the length (vertical length) can correspond to the vertical length of the 3D model (20), and the height is formed as a standard height but can be adjusted by receiving input from the user terminal (200). The 3D model (20) can be placed on the upper surface of the placement space (60), and the 3D model (20) can be placed so that the lowest point of the 3D model (20) touches the upper surface of the placement space (60).
[0072] The placement points (70) formed on the dock grid (50) may be the vertices of the squares (51) formed on the dock grid (50) as shown in FIG. 13. That is, each vertex of the square (51), which is the intersection point of the horizontal line and the vertical line formed on the dock grid (50), may be determined as a placement point (70), and a plurality of placement lines (80) including a plurality of placement points (70) may be formed on the dock grid (50) corresponding to the placement space (60) as shown in FIG. 14. And, as shown in FIG. 15, a half-block (30) may be placed at the placement points (70).
[0073] At this time, the block visualization service providing server (100) can provide a block generation UI to the user terminal (200) as shown in FIG. 16, and can generate a block by receiving block shape information through the block generation UI. More precisely, the shape information of the fixed part (31) of the block (300) can be received through the block generation UI. The fixed part (31) can be provided in a polyhedral shape, so the shape information may include the width and length of the bottom and top surfaces, and the height.
[0074] Next, with reference to FIGS. 17 and 18, the process (step S230) of determining placement points (70) based on the dock grid (50) and placing the stern (30) is described in more detail. Once the placement space (60) is determined, the stern visualization service providing server (100) can divide the 3D model (20) from the front to the rear into multiple sections. For example, if the 3D model is a ship, the stern visualization program can divide the ship from the bow to the stern into multiple sections.
[0075] At this time, the anti-repetition visualization service provider server (100) can divide sections based on the number of placement lines (80). For example, the anti-repetition visualization service provider server (100) can divide each section (21) to include one placement line (80). Referring to FIG. 14, the first section (21_1) and the second section (21_2) can include one placement line (80). That is, two rectangles (51) formed in the dock grid (50) to include one placement line (80) can be set as one section. In other words, sections (21) can be divided based on the number of placement lines (80), and the boundaries of each section (21) can be determined in units of rectangles (51) formed in the dock grid (50). For example, if each section (21) is divided based on two placement lines (80), each section (21) can be divided in units of three rectangles (51).
[0076] And, the block visualization service providing server (100) can place the block (30) by selecting a placement point (70) on the placement line (80) based on the weight of the 3D model (20) corresponding to each section. At this time, the block visualization service providing server (100) can estimate the total weight of the 3D model (20) based on the 3D modeling data (10), and can estimate the weight of the 3D model (20) corresponding to each section based on the weight of the 3D model (20). Here, the 3D modeling data (10) may include structural information such as the material, weight, and thickness of the members constituting the 3D model (20), and the block visualization service providing server (100) can estimate the weight of the 3D model (20) based on the structural information included in the 3D modeling data (10).
[0077] For example, if the weight of the 3D model (20) corresponding to the first section (21_1) in FIG. 14 is heavier than the weight of the 3D model (20) corresponding to the second section (21_2), the arrangement points (70) can be selected so that the arrangement spacing of the half-piece (30) of the first section (21_1) is narrower than the arrangement spacing of the half-piece (30) of the second section (21_2) to arrange the half-piece (30).
[0078] More specifically, FIG. 17 is a cross-sectional view of the first section (21_1), and FIG. 18 is a cross-sectional view of the second section (21_2). Since the weight of the 3D model (20) of the first section (21_1) is heavier than the weight of the 3D model (20) of the second section (21_2), the first section (21_1) can be placed by selecting a placement point (70) at an interval of one placement point (70) to place the half-block (30) as in FIG. 17, and the second section (21_2) can be placed by selecting a placement point (70) at an interval of two placement points (70) to place the half-block (30) as in FIG. 18. That is, the half-block (30) can be placed by setting the placement interval of the half-block (30) according to the weight of the 3D model (20) corresponding to each section (21).
[0079] Additionally, the block visualization service provider server (100) can determine the placement interval of the block (30) according to the load of the 3D model (20) of the section and place the block (30). The block visualization service provider server (100) can calculate the load for a point corresponding to a placement point (70) formed in the section of the 3D model (20) and determine the placement of the block (30) based on the load of the 3D model (20) at the point corresponding to the placement point (70). For example, as shown in FIG. 17, the block (30) is placed at a one-placement point (70) interval based on the weight of the 3D model (20) of the section, but if the load applied to the first block (30_1) is greater than or equal to a first threshold value, additional blocks (30) can be placed at the first placement point (70_1) and the second placement point (70_2).
[0080] That is, the block visualization service providing server (100) can primarily determine the spacing of the placement points (70) where the block (30) is to be placed based on the weight of the 3D model (20) of the section, and additionally place the block (30) at the placement points (70) adjacent to the block (30) based on the load applied to each block (30).
[0081] Here, the first threshold value may vary depending on the length of the corresponding block (30). The block visualization service provider server (100) can calculate the vertical distance from each placement point (70) to the bottom surface of the 3D model (20), and based on the vertical distance, calculate the allowable load of the block (30) placed at each placement point (70) and set it as the first threshold value for each block (30). Then, additional blocks (30) can be placed based on this first threshold value and the load applied to each block (30).
[0082] At this time, the anti-block visualization service providing server (100) can select a section to place an anti-block based on the weight difference between consecutive sections and whether an anti-block is placed, and place an anti-block in the corresponding section through the process as described above. For example, referring again to FIG. 14, the first section (21_1), the second section (21_2), and the third section (21_3) are consecutive, and the weight difference of the 3D model (20) corresponding to the first section (21_1), the second section (21_2), and the third section (21_3) is less than or equal to the second threshold, and if an anti-block is placed in the first section (21_1), then the second section (21_2) is excluded from being placed an anti-block, and an anti-block can be placed in the third section (21_3).
[0083] As another example, if the weight difference between the first section (21_1) and the second section (21_2) is less than or equal to the second threshold, but the weight difference between the second section (21_2) and the third section (21_3) exceeds the second threshold, the first section (21_1) can be excluded from the arrangement of the structure, and the structure can be arranged in the second section (21_2) and the third section (21_3). That is, if the weight difference between sections exceeds the second threshold, that part is recognized as a part where the arrangement of the structure changes, and the structure can be arranged in that part.
[0084] Additionally, the anti-deck visualization service provider server (100) can distinguish each section based on the shape of the 3D model (20). For example, each section can be distinguished according to the height of the structure based on the deck of the ship. Referring again to FIG. 11, the anti-deck visualization service provider server (100) can distinguish the fourth section (21_4), the fifth section (21_5), and the sixth section (21_6) based on the structure formed on the deck based on the deck of the ship.
[0085] At this time, the fourth section (21_4), the fifth section (21_5), and the sixth section (21_6) may have a plurality of placement lines (80) including a plurality of placement points (70), and may be divided into a plurality of regions based on one placement line (80) included in each section (21). Then, based on the weight (20) and load of the 3D model corresponding to each section (21), a placement line (80) on which a block (30) is to be placed is determined, and a placement point (70) on which a block (30) is to be placed is determined for the placement line (80) to which the block (30) is to be placed, and the block (30) can be placed.
[0086] That is, the block visualization service providing server (100) can select a placement line (80) to place the block (30) among a plurality of placement lines (80) based on the weight of the 3D model (20) corresponding to the section (21), and can place the block (30) by selecting a placement point (70) included in the placement line (80) based on the load of the 3D model (20) corresponding to the section (21). At this time, the block visualization service providing server (100) can determine the spacing of the placement line (80) based on the weight of the 3D model (20) corresponding to the section (21), and can determine the spacing of the placement point (70) to place the block (30) included in the placement line (80) based on the load of the 3D model (20) corresponding to the section (21).
[0087] For example, if the weight of the 3D model (20) corresponding to the section falls within the first range, the half-piece (30) can be placed on the entire placement line (80), and if the weight falls within the second range, the placement line (80) can be set to a single placement line (80) to set the placement line (80) on which the half-piece (30) is placed. That is, if the first placement line, the second placement line, and the third placement line are consecutive, the half-piece can be placed on the first placement line, the second placement line can be excluded from the half-piece placement, and the half-piece can be placed on the third placement line. If the weight falls within the third range, the placement line can be set to two placement lines (80). That is, if the first to fourth placement lines are consecutive, the half-piece can be placed on the first placement line, the second and third placement lines can be excluded from the half-piece placement, and the half-piece can be placed on the fourth placement line. In this case, a repeat can always be placed on the placement lines at both ends of the section.
[0088] Additionally, the block visualization service providing server (100) can temporarily place blocks (30) at all placement points (70) included in the section (21), and receive a selection from a user terminal (200) of at least one of the blocks (30) placed in each section (21), and set the selected block (30) as the final block for each section (21).
[0089] At this time, the block visualization service providing server (100) can determine whether each final block can withstand the weight and load of the 3D model (20) based on the arrangement structure of the final block selected by the user for each section. If it is determined that the arrangement structure of the final block of the section cannot withstand the weight of the 3D model corresponding to the section, a comment or notification regarding this can be provided to the user terminal (200), or a block can be added to withstand the weight of the 3D model of the section, thereby adjusting the arrangement structure to include the minimum number of blocks capable of withstanding the weight of the 3D model.
[0090] Additionally, if it is determined that at least one of the final blocks selected by the user cannot withstand the load on the point of the 3D model (20) supported by the final block, a block (30) can be added at a placement point (70) adjacent to the final block. That is, the block selected by the user can be maintained, and additional blocks can be selected to correct the block arrangement to include the minimum number of blocks capable of withstanding the weight and load of the 3D model.
[0091] Additionally, the block visualization service provider server (100) can determine the placement point (70) where the block (30) is to be placed based on the shape of the bottom surface of the 3D model (20). For example, if a structure such as a propeller or a rudder is placed on the bottom surface of the 3D model (20) corresponding to a predetermined placement point (70), or if the block (30) cannot support the curvature or slope greater than a predetermined value, the corresponding placement point (70) may be excluded from the placement of the block (30).
[0092] FIG. 19 is a flowchart for explaining the process of providing the vertical distance of the half-bar shown in FIG. 4, and FIG. 20 to 27 are example diagrams for explaining the process of providing the vertical distance of the half-bar shown in FIG. 19.
[0093] Next, with reference to FIGS. 19 to 27, a process of providing a vertical distance from the reference plane of the block corresponding to the block selection signal to the 3D model (step S300) is described.
[0094] When the anti-visualization service providing server (100) receives a section selection signal from a user terminal (200) for selecting one of a plurality of sections (21), it can provide a 3D model (20) corresponding to the section (21) to the user terminal (200) (step S310). At this time, the anti-visualization service providing server (100) can provide the 3D model (20) to the user terminal (200) by applying a section separation line to the 3D model (20) so that each section (21) of the 3D model (20) can be selected, and can provide the section corresponding to the section selection signal in which the user selects a predetermined section as a perspective view and a cross-sectional view.
[0095] In addition, when the section (21) is divided based on the structure of the 3D model (20), such as the third section (21_3), fourth section (21_4), and fifth section (21_5) of FIG. 11, the section (21) may be divided into multiple regions based on a placement line including multiple placement points (70), and when a region selection signal is received by a user selecting a predetermined region by applying a region division line that divides each region to the 3D model (20) corresponding to the section (21), the region corresponding to the region selection signal may be provided as a perspective view and a cross-sectional view.
[0096] Afterwards, when a block selection signal is received from the user terminal (200) for selecting a block (30) placed in the corresponding section (21) (step S320), a vertical distance for the block corresponding to the block selection signal can be provided (step S330).
[0097] For example, when the anti-visualization service providing server (100) receives a section selection signal from a user terminal (200) selecting a first section (21_1) among a plurality of sections (21), it can provide a perspective view of the first section (21_1) as shown in FIG. 20. And when a request for a viewpoint conversion to a plan view of the first section (21_1) is received from the user terminal (200), it can provide a plan view of the first section (21_1) as shown in FIG. 21.
[0098] Additionally, the repetitive visualization service provider server (100) can provide movement of a section (21) of a 3D model (20) through a section movement scroll (80). When the section movement scroll (80) moves from the first section (21_1) plan view of FIG. 21 through a user terminal (200), the plan view of the second section (21_2) can be output as shown in FIG. 22.
[0099] Subsequently, when the block visualization service providing server (100) receives a block selection signal from a user terminal (200) selecting a first block (31) among a plurality of blocks (30) arranged in a first section (21_1), it can provide a vertical distance (H) from a reference plane where the first block (31) is arranged to a 3D model (20) as shown in FIG. 23. At this time, the operation of receiving a block (30) from the user may be performed in a perspective view such as FIG. 20 and in a plan view such as FIG. 21, but is not limited thereto and may also be performed in the entire 3D model (20).
[0100] Additionally, when the block visualization service providing server (100) receives a block visualization request signal from the user terminal (200), it can output the entire shape of the placed block (30) (step S340). For example, when the block visualization service providing server (100) receives a block visualization request signal, it can provide the entire shape of the block (30) placed on the 3D model (20) as shown in FIG. 24. The block (30) placed at the placement point (70) as shown in FIG. 23 can be formed with a first length, and the block (30) selected by the user terminal (200) can be extended to a second length so as to come into contact with the bottom surface of the 3D model (20) and expressed as shown in FIG. 24. In FIG. 24, the upper surface shape of the half-section (30) in contact with the 3D model (20) can correspond to the lower surface shape of the 3D model (20), and the curvature applied to the upper surface of the half-section (30) can be provided to the user terminal (200).
[0101] At this time, the second length is the distance from the reference plane (dock) where the selected block (30) is placed to the lower surface of the 3D model (20), and may correspond to the vertical distance (H), and the first length may be shorter than the second length. More precisely, referring again to FIG. 6, the block (30) may be composed of a fixed part (31) and a supporting part (32). The first length may correspond to the height of the fixed part (31) of the block (30), and the second length may correspond to the vertical distance (H) from the reference plane (dock) where the fixed part (31) is placed to the lower surface of the 3D model (20). That is, the second length may be the length obtained by adding the length of the supporting part (32) to the first length, which is the height of the fixed part (31).
[0102] In this way, the block visualization service providing server (100) can place a fixed part (31) at a placement point (70) during the process of placing a block (step S230), and when it receives a block visualization request signal from a user, it can visualize and provide a support part (32), and can form the shape of the upper surface of the support part (32) to correspond to the shape of the lower surface of the 3D model (20) that is in contact with the support part (32), and can provide a curvature applied to the upper surface of the support part (32). Then, as shown in FIG. 25, it can remove the 3D model (20) to provide the overall placement structure of the block (30).
[0103] Additionally, when the block visualization service providing server (100) receives a horizontal distance request signal from the user terminal (200), it can provide a spacing between the placement lines (80) on which the block (30) is placed (step S350). For example, when the block visualization service providing server (100) receives a horizontal distance request signal from the user terminal (200), it can provide a spacing (W) between the placement lines (80) on which the block (30) is placed, along with the vertical distance (H) of the block (30) in the 3D model (20) as shown in FIG. 26, and can provide both the vertical distance (H) of the block (30) and the spacing (W) between the placement lines in the perspective view of the 3D model (20) as shown in FIG. 27. Here, at least one of the vertical distance (H) and the horizontal distance (W) may be expressed according to the user's selection.
[0105] FIG. 28 is a diagram illustrating the hardware implementation of a system for performing a method for providing a repetitive visualization service according to an embodiment of the present invention.
[0106] Referring to FIG. 28, a repetitive visualization service providing server (100) performing a repetitive visualization service providing method according to an embodiment of the present invention may be implemented as an electronic device (1000). The electronic device (1000) may include a processor (1010), an input / output device (1020, I / O), a memory (1030, memory), an interface (1040, interface), a storage (1050, storage), and a bus (1060, bus). The processor (1010), the input / output device (1020), the memory (1030), the interface (1040), and / or the storage (1050) may be connected to each other through the bus (1060). The bus (1060) corresponds to a path through which data is moved.
[0107] Specifically, the processor (1010) may include at least one of a CPU (Central Processing Unit), MPU (Micro Processor Unit), MCU (Micro Controller Unit), GPU (Graphic Processing Unit), microprocessor, digital signal processor, microcontroller, application processor (AP), and logic elements capable of performing similar functions.
[0108] The input / output device (1020) may include at least one of a keypad, a keyboard, a touchscreen, and a display device.
[0109] The memory (1030) can load data and / or programs, etc. At this time, the memory (1030) is an operating memory for enhancing the operation of the processor (1010) and may include high-speed DRAM and / or SRAM, etc. The memory (1030) may include one or more volatile memory devices such as DDR SDRAM (Double Data Rate Static DRAM) and SDR SDRAM (Single Data Rate SDRAM) and / or one or more non-volatile memory devices such as EEPROM (Electrical Erasable Programmable ROM) and flash memory.
[0110] The interface (1040) can perform the function of transmitting data to a communication network or receiving data from a communication network. The interface (1040) may be in a wired or wireless form. For example, the interface (1040) may include an antenna or a wired / wireless transceiver.
[0111] Storage (1050) can store and store data and / or programs, etc. Storage (1050) may include one or more non-volatile memory devices such as a solid-state drive (SSD), a hard drive, and a flash memory. In the present invention, storage (1050) corresponds to a recording medium capable of storing a computer program consisting of instructions for performing the scoring method of the deep learning model described above.
[0112] The user terminal (200) can be any electronic product capable of transmitting and / or receiving information in a wireless environment, such as a personal digital assistant (PDA), portable computer, web tablet, wireless phone, or mobile phone.
[0113] Alternatively, the anti-visualization service providing server (100) and the user terminal (200) according to one embodiment of the present invention may each be a system formed by connecting a plurality of electronic devices (1000) to each other through a network. In such cases, each module or combination of modules may be implemented as an electronic device (1000). However, the present embodiment is not limited thereto.
[0114] Additionally, the redundant visualization service providing server (100) may be implemented as at least one of a workstation, a data center, an internet data center (IDC), a direct attached storage (DAS) system, a storage area network (SAN) system, a network attached storage (NAS) system, and a redundant array of inexpensive disks, or a redundant array of independent disks (RAID) system, but the present embodiment is not limited thereto.
[0115] Additionally, the anti-repetition visualization service providing server (100) can transmit data to a user terminal (200) through a network. The network may include a network based on wired internet technology, wireless internet technology, and local area communication technology. Wired internet technology may include, for example, at least one of a local area network (LAN) and a wide area network (WAN).
[0116] Wireless internet technology may include, for example, at least one of Wireless LAN (WLAN), DMNA (Digital Living Network Alliance), WiBro (Wireless Broadband), WiMAX (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), IEEE 802.16, Long Term Evolution (LTE), LTE-A (Long Term Evolution-Advanced), Wireless Mobile Broadband Service (WMBS), and 5G NR (New Radio) technology. However, the present embodiment is not limited thereto.
[0117] Short-range communication technology may include, for example, at least one of Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), Ultra-Wideband (UWB), ZigBee, Near Field Communication (NFC), Ultra Sound Communication (USC), Visible Light Communication (VLC), Wi-Fi, Wi-Fi Direct, and 5G NR (New Radio). However, the present embodiment is not limited thereto.
[0118] A counter-visualization service providing server (100) communicating through a network may comply with technical standards and standard communication methods for mobile communication. For example, a standard communication method may include at least one of GSM (Global System for Mobile communication), EV-DO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTEA (Long Term Evolution-Advanced), and 5G NR (New Radio). However, the present embodiment is not limited thereto.
[0120] The above description is merely an illustrative explanation of the technical concept of the present embodiment, and a person skilled in the art to which the present embodiment belongs would be able to make various modifications and variations within the scope of the essential characteristics of the present embodiment. Accordingly, the present embodiments are intended to explain, not limit, the technical concept of the present embodiment, and the scope of the technical concept of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment shall be interpreted by the claims below, and all technical concepts within an equivalent scope shall be interpreted as being included within the scope of rights of the present embodiment. Explanation of the symbols
[0122] 100: Antipathy Visualization Service Provider Server 110: Memory 120: Processor 200: User terminal
Claims
Claim 1 A server providing a block visualization service for placing virtual blocks in a 3D model comprises: a memory storing a block visualization program; and a processor executing the block visualization program, wherein the block visualization program receives 3D modeling data from a user terminal, outputs a 3D model corresponding to the 3D modeling data, divides the 3D model into a plurality of sections based on the shape of the 3D model, determines the spacing of placement points where blocks are to be placed based on at least one of the weight and load of the 3D model corresponding to the sections, and places the blocks at the placement points, receives a block selection signal for selecting the blocks from the user terminal, and measures and provides a vertical distance from a reference plane where the blocks are placed corresponding to the block selection signal to the 3D model. Claim 2 In claim 1, the above-mentioned block visualization program is a block visualization service providing server that forms the above-mentioned block with a first length and places it at the above-mentioned placement point. Claim 3 In paragraph 2, the block visualization program, upon receiving the block selection signal from the user terminal, extends the block corresponding to the block selection signal by a second length so that one end of the block comes into contact with the bottom surface of the 3D model, the second length corresponds to the vertical distance which is the distance from the reference plane to the bottom surface of the 3D model, and the first length is shorter than the second length, the block visualization service providing server. Claim 4 delete Claim 5 delete Claim 6 In claim 1, the block visualization program is a block visualization service providing server that determines the placement point based on the shape of the lower surface of the 3D model corresponding to the section. Claim 7 In claim 1, the block visualization program is a block visualization service providing server that forms the upper surface shape of the block in contact with the lower surface of the 3D model to correspond to the lower surface shape of the 3D model. Claim 8 In claim 7, the above-mentioned block visualization program is a block visualization service providing server that provides the curvature applied to the upper surface of the above-mentioned block to the user terminal. Claim 9 In claim 1, the above-mentioned block visualization program is a block visualization service providing server that receives a design selection signal from the user terminal selecting one block design from a block design portfolio and places it at the placement point. Claim 10 A method for providing a block visualization service that places a virtual block on a 3D model using a block visualization service providing server, comprising: receiving 3D modeling data from a user terminal and outputting a 3D model corresponding to the 3D modeling data; dividing the 3D model into a plurality of sections based on the shape of the 3D model; determining the spacing of placement points where a block is to be placed based on at least one of the weight and load of the 3D model corresponding to the sections and placing the block at the placement points; receiving a block selection signal for selecting the block from the user terminal; and measuring and providing a vertical distance from a reference plane where the block is placed corresponding to the block selection signal to the 3D model.
Citation Information
Patent Citations
Supporter for block support of ship
KR100855120B1
Level measuring apparatus for keel block
KR101373998B1
System and method for arranging blocks on surface plate in shipbuilding
KR1020150019877A
