Information processing device, information processing method, information processing program, and non-transitory computer-readable recording medium

The information processing apparatus automates the extraction of inner and outer surfaces from 3D models by using a voxel-based method, addressing the inefficiencies of manual extraction in architectural design processes.

JP2025112543AActive Publication Date: 2025-08-01APP CRAFT CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024006832
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-19
Publication Date
2025-08-01
Estimated Expiration
2044-01-19

AI Technical Summary

Technical Problem

The extraction of inner and outer surfaces required for analysis from architectural design models is currently manual and labor-intensive, particularly in processes like environmental simulation and 3D printing, where wall and slab objects are not necessary.

Method used

An information processing apparatus that uses a reference setting unit to set a non-interfering position, a voxel set generation unit to place voxels without gaps, a surface selection unit to select contacting surfaces, and an output unit to extract these surfaces automatically.

Benefits of technology

Accurately and automatically extracts necessary surface objects from 3D models, reducing manual labor and time consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025112543000001_ABST
    Figure 2025112543000001_ABST
Patent Text Reader

Abstract

To accurately and automatically extract a surface object required for an analysis from a three-dimensional model of architectural design models, etc.SOLUTION: An information processing device comprises a reference setting unit to set a reference position not interfering with a three-dimensional model with multiple surfaces, a voxel set generation unit to set a flag voxel by setting a flag on contacted voxel or intersected voxel if any voxel contacts with or intersects with any surface and generate a voxel set not capable of newly placing a voxel by prohibiting the placement of a voxel next to the flag voxel after a reference voxel is placed in the reference position and multiple voxels are continuously placed adjacently to each other without gaps from the reference voxel as a starting point, a surface selection unit to select the contacted or intersected multiple surfaces with the voxel set from the multiple surfaces as multiple selected surfaces and to delete surfaces other than the multiple selected surfaces, and an output unit to output the multiple selected surfaces.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an information processing apparatus, an information processing method, an information processing program, and a non-transitory computer-readable recording medium recording the information processing program for processing a 3D model such as an architectural design model.

Background Art

[0002] There is a need to extract only specific objects required in another work process from architectural design models created by BIM software or 3D modeling software. Another work process includes simulation work for environmental analysis such as acoustic analysis, light analysis, thermal analysis, wind analysis, etc., and creation of a 3D print model for prototyping.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0004] Particularly in the above processes, wall objects or slab objects having thickness and volume are not necessary, and in many cases, only the inner and outer surfaces of the analysis target space required for analysis are extracted. Currently, these extraction operations are often performed manually using BIM software or 3D software, which is very time-consuming and labor-intensive.

[0005] In view of the above circumstances, an object of the present disclosure is to accurately and automatically extract surface objects required for analysis from a 3D model such as an architectural design model.

Means for Solving the Problems

[0006] An information processing apparatus according to an aspect of the present disclosure is configured to: a reference setting unit configured to set a reference position that does not interfere with a 3D model having a plurality of surfaces; a voxel set generation unit configured to place a reference voxel at the reference position, continuously place a plurality of voxels adjacent to each other starting from the reference voxel without gaps, and when any voxel contacts or intersects any surface, set a flag for the contacted or intersected voxel to set a flagged voxel, and generate a set of voxels in which new voxels cannot be placed by prohibiting placement of a voxel adjacent to the flagged voxel; a surface selection unit configured to select, as a plurality of selected surfaces, a plurality of surfaces that contact or intersect the voxel set from the plurality of surfaces, and extract the plurality of selected surfaces by deleting surfaces other than the plurality of selected surfaces; an output unit configured to output the plurality of selected surfaces; and includes:

Advantageous Effects of Invention

[0007] According to the present disclosure, surface objects necessary for analysis can be accurately and automatically extracted from a 3D model such as an architectural design model.

[0008] Note that the effects described here are not necessarily limited, and any of the effects described in the present disclosure may be applicable.

Brief Description of Drawings

[0009]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Mode for Carrying Out the Invention

[0010] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.

[0011] 1. Functional Configuration of Information Processing Apparatus

[0012] FIG. 1 shows the functional configuration of an information processing apparatus according to an embodiment of the present disclosure.

[0013] The information processing apparatus 1 is a computer such as a personal computer or an industrial computer. In the control circuit 100, the information processing apparatus 1 operates as a model input unit 101, an output unit 102, a parameter setting unit 103, a voxel size setting unit 104, a confirmation size setting unit 105, a reference setting unit 106, a voxel set generation unit 107, a plane selection unit 108, and an edge shaping unit 109 by loading and executing an information processing program recorded in the ROM by a processor such as a CPU or a GPU in the RAM, and executes an information processing method.

[0014] The information processing program may be installed in the information processing apparatus 1 in a download format via the Internet or via a non-transitory computer-readable recording medium. In addition to the control circuit 100, the information processing apparatus 1 includes a display 200 which is a built-in or external display device, and an input device 300. The input device 300 may be a keyboard, a mouse, a touch panel, a voice input device, or the like.

[0015] 2. First Processing Flow of Information Processing Apparatus

[0016] FIG. 2 shows the first processing flow of the information processing apparatus.

[0017] The use case of this embodiment will be described. This is a case where only specific objects required in another work process are extracted from building models created with BIM software or 3D modeling software. Another work process includes simulation work for environmental analysis such as acoustic analysis, light analysis, thermal analysis, and wind analysis, and creation of 3D printing models for prototyping. In particular, in the above processes, wall objects and slab objects with thickness and volume are not required, and only the inner and outer surfaces of the analysis target space required for analysis are extracted.

[0018] The first processing flow is the processing when the inner surface of the hollow internal space of the 3D model is the analysis target.

[0019] The model input unit 101 reads 3D model data and displays it on the display 200 (step S101). The 3D model data may be in a data format such as IFC (Industry Foundation Classes) data or mesh data, for example.

[0020] The mesh data is created with 3D modeling software. The mesh data is composed of polygons (polygons) that are 2D planes to construct a solid having a hollow internal space. The hollow internal space means a hall, a room, a corridor, a passage, an opening, etc.

[0021] IFC data is data in an intermediate format when saving a BIM model such as an architectural model created by BIM (Building Information Modeling) software. The BIM model includes a plurality of solid parts contained in a building. The 3D model of the IFC data converted from the BIM model also includes a plurality of solid parts. The plurality of solid parts are non-hollow elements such as columns, doors, windows, and walls, each having a plurality of faces. The architectural model may be, for example, a building such as an acoustic hall having a hollow internal space. Hereinafter, as an example, the case where the 3D model is IFC data will be described. The 3D model 400 which is IFC data includes a plurality of solid parts (non-hollow elements such as columns, doors, windows, and walls). Each of the plurality of solid parts includes an inner surface and an outer surface. The inner surface is a surface that constitutes the hollow internal space of the 3D model 400 (is in contact with the internal space). The outer surface is a surface that is exposed outdoors of the 3D model 400 (is not in contact with the internal space).

[0022] The information processing apparatus 1 executes a command to start a process of extracting the inner surface from the 3D model 400 read by the model input unit 101 (step S102).

[0023] FIG. 3 shows a GUI (3D model) displayed on the display.

[0024] In this example, the 3D model 400 is an architectural model and includes a plurality of non-hollow solid parts having a thickness such as walls. In this example, the 3D model 400 has a central room 401 and a plurality of rooms 403 provided in a cross shape from the central room 401 via a connecting path 402. A coordinate system 410 with the plane (floor surface) of the 3D model 400 which is an architectural model being XY and the height being Z is configured. The XYZ coordinate system of the 3D model 400 may be common with the XYZ coordinate system of the voxel described later. All the surfaces (including the inner surface and the outer surface) of the central room 401, the connecting path 402, and the plurality of rooms 403 are displayed on the display 200.

[0025] FIG. 4 shows a GUI (parameter setting window) displayed on the display.

[0026] The parameter setting unit 103 displays a parameter setting window 500 for setting a plurality of variable parameters on the display 200. The user can specify a plurality of parameters via the input device 300. Specifically, the voxel size setting unit 104 of the parameter setting unit 103 sets a voxel size 501 (for example, 100 mm) based on the user's specification. The voxel size 501 is the size of one side of a voxel that is a cube.

[0027] The confirmation size setting unit 105 of the parameter setting unit 103 sets a confirmation size 502 (for example, 1000 mm) based on the user's specification (step S103). The confirmation size 502 is a threshold for defining a gap or a passage (a portion equal to or less than the confirmation size 502 is determined as a gap or a passage). The value of the confirmation size 502 is equal to or greater than the voxel size 501.

[0028] The calculation amount changes depending on the voxel size 501 and the confirmation size 502, and the estimated memory usage amount 503 also changes. The parameter setting unit 103 calculates and displays the estimated memory usage amount 503 based on the voxel size 501 and the confirmation size 502 specified by the user, and provides feedback to the user. The user can refer to the estimated memory usage amount 503 and reset the voxel size 501 and the confirmation size 502.

[0029] FIG. 5 shows a GUI (reference setting GUI) displayed on the display.

[0030] The reference setting unit 106 sets a reference position that does not interfere with the 3D model 400. Specifically, the user selects (step S104) any one surface 404 (delimiting the space) adjacent to the space that the user wants to analyze the environment through the input device 300. The reference setting unit 106 displays at least a part of the selected surface 404 in a distinguishable manner from others (for example, coloring a part). The reference setting unit 106 displays reference position candidates 405, 406 at positions on both sides (front and back) of the selected surface 404 that do not interfere with the 3D model 400. The reference position candidates 405, 406 are each a single point on the coordinate system. The "position that does not interfere with the 3D model 400" means a position inside the hollow internal space of the 3D model 400 or around the 3D model 400, and means not being non-hollow. The user designates (step S105) any one of the reference position candidates 405, 406 on both sides (front and back) of the selected surface 404 as the reference position 405 that is included in the space to be analyzed (located on the side of the space to be analyzed).

[0031] In this example, the surface 404 is the inner surface of the 3D model 400 that is at least partially hollow. Specifically, the surface 404 is the ceiling of the central room 401. The reference position candidate 405 is set inside the internal space of the central room 401. The reference position candidate 406 is located outside the central room 401 (above the roof). The space to be analyzed is the internal space of the central room 401, and the user designates the reference position candidate 405.

[0032] The voxel set generation unit 107 arranges one reference voxel at the reference position 405 (step S106). The size of the reference voxel is the voxel size 501 set by the voxel size setting unit 104 of the parameter setting unit 103 (step S103). The reference voxel may be arranged, for example, such that one vertex of the reference voxel coincides with the reference position 405 (a single point on the XYZ coordinate system), or may be arranged such that the center of the reference voxel coincides with the reference position 405. The XYZ coordinate system of the 3D model 400 and the XYZ coordinate system of the voxel may be common.

[0033] The voxel set generation unit 107 continues to arrange a plurality of voxels starting from the reference voxel (step S107). Specifically, the voxel set generation unit 107 continues to arrange a plurality of voxels adjacent to each other without gaps starting from the reference voxel (step S108). In other words, the voxel set generation unit 107 continues to arrange a plurality of voxels adjacent to each other such that the faces, edges, and vertices of the arranged existing voxels and the newly arranged voxels coincide (contact). The sizes of all the voxels including the reference voxel are equal, and are the voxel size 501 set by the voxel size setting unit 104 of the parameter setting unit 103 (step S103).

[0034] Each time the voxel set generation unit 107 arranges a new voxel, it checks whether the newly arranged voxel contacts or intersects any face (inner face) of the 3D model 400. When the newly arranged voxel contacts or intersects any face (inner face) of the 3D model 400, the voxel set generation unit 107 sets a flag for the contacted or intersected voxel to set a flagged voxel, and prohibits arranging a voxel next to the flagged voxel (step S109). When all the newly arranged voxels contact or intersect any face (inner face) of the 3D model 400 (step S110, Yes), all the exposed voxels are set as flagged voxels, and new voxels cannot be arranged (step S111). Thereby, the voxel set generation unit 107 generates a voxel set. The voxel set includes the reference voxel arranged at the reference position 405, and is an aggregate of voxels where new voxels cannot be arranged (step S112).

[0035] The voxel set generation unit 107 determines whether a part of the voxel set is equal to or smaller than the confirmation size (step S113). The confirmation size is the confirmation size 502 set by the confirmation size setting unit 105 of the parameter setting unit 103 (step S103). When a part of the voxel set is equal to or smaller than the confirmation size (step S113, Yes), the voxel set generation unit 107 divides the voxel set at the boundary surface of a predetermined position based on the part, and sets a plurality of flag voxels by setting flags for a plurality of voxels located on the boundary surface, thereby generating a plurality of divided voxel sets (step S114). The output unit 102 may output the plurality of divided voxel sets in a distinguishable manner so that the user can select them (step S115). Since the voxel set and the divided voxel sets themselves may be reused in a separate process, they may be output in terms of data.

[0036] FIG. 6 shows a GUI (divided voxel set GUI) displayed on the display.

[0037] In this example, as described above, the 3D model 400 has a central room 401 and a plurality of rooms 403 provided in a cross shape via connecting paths 402 from the central room 401. The width of the connecting path 402 (the width in the direction (X or Y) orthogonal to the direction (X or Y) from the central room 401 to the surrounding rooms 403 and the height direction (Z)) is equal to or less than the confirmation size (step S113, Yes). In this case, the voxel set generation unit 107 divides the voxel set (corresponding to the central room 401, all the connecting paths 402, and all the rooms 403) at the boundary surface at a predetermined position based on a part (each connecting path 402) that is equal to or less than the confirmation size. In this example, the voxel set generation unit 107 divides the voxel set at the center of each connecting path 402 (a predetermined position based on the connecting path 402). Note that the predetermined position based on the connecting path 402 is not limited to the center of the connecting path 402, and may be the boundary between the central room 401 and the connecting path 402, the boundary between the surrounding rooms 403 and the connecting path 402, or the like. The voxel set generation unit 107 sets a plurality of flag voxels by setting flags for a plurality of voxels located on the boundary surface (division surface), thereby generating five divided voxel sets 407 and 408 (step S114). The divided voxel set 407 corresponds to a part of the central room 401 and each of the plurality of connecting paths 402. Each of the divided voxel sets 408 corresponds to four rooms 403 and a part of each connecting path 402. The output unit 102 outputs the plurality of divided voxel sets 407 and 408 to the display 200 in a distinguishable manner (for example, different coloring, etc.) so that the user can select them (step S115).

[0038] The user selects, via the input device 300, one or more spaces (spaces including the reference position 405) necessary for analysis from among the plurality of divided voxel sets 407 and 408 displayed on the display 200 (step S116). For example, the user may select one divided voxel set 407 (space including the reference position 405). Further, the user may move or trim the boundary surface that divides the plurality of divided voxel sets 407 and 408 via the input device 300. Further, the user may connect (combine) two or more (or all) of the plurality of divided voxel sets 407 and 408 via the input device 300.

[0039] Finally, the user determines, via the input device 300, the divided voxel set corresponding to the inner surface of the space to be analyzed (step S117). If the voxel set does not have a portion smaller than the confirmation size (step S113, No), the inner surface of the space corresponding to the voxel set (step S112) is determined as the analysis target (step S117).

[0040] The surface selection unit 108 selects all the surfaces that contact or intersect the voxel set as a plurality of selected surfaces. Specifically, when the voxel set (as a whole) is determined to correspond to the inner surface of the space to be analyzed, the surface selection unit 108 selects, as the selected surfaces, all the inner surfaces that contact or intersect the voxel set among all the surfaces included in the 3D model 400. On the other hand, when a part of the divided voxel sets is selected as corresponding to the inner surface of the space to be analyzed, the surface selection unit 108 selects, as the plurality of selected surfaces, all the surfaces that contact or intersect the part of the divided voxel sets and the virtual surfaces formed by the boundary surfaces of this divided voxel set among all the surfaces included in the 3D model 400. The surface selection unit 108 extracts the selected surfaces by deleting the surfaces other than the selected surfaces among all the surfaces included in the 3D model 400 (step S118). The output unit 102 outputs the plurality of selected surfaces to the display 200 (step S119).

[0041] FIG. 7 shows a GUI (selected surface GUI) displayed on the display.

[0042] In this example, the user determines that the set of divided voxels 407 corresponds to the inner surface of the space where the analysis target is to be analyzed (step S117). The set of divided voxels 407 corresponds to a part of each of the central room 401 and the plurality of connecting paths 402. In this case, the surface selection unit 108 selects, from among all the surfaces included in the 3D model 400, all the surfaces 409, 410 (corresponding to the ceiling and the floor surface) that contact or intersect the set of divided voxels 407, and the virtual surface 411 (corresponding to the boundary between the sets of divided voxels 407 and 408) that the set of divided voxels 407 has. The surface selection unit 108 extracts the selected surfaces 409, 410, 411 by deleting the surfaces (corresponding to the inner surfaces of the set of divided voxels 408) of the selected surfaces 409, 410, 411 (step S118). The selected surfaces 409, 410, 411 are output to the display 200 (step S119).

[0043] The edge shaping unit 109 combines the selected surfaces (step S120), and determines whether there is a location where two or more of the selected surfaces interfere with each other (step S121). "The selected surfaces interfere with each other" means that, since a plurality of solid parts (non-hollow elements such as columns, doors, windows, and walls) included in the 3D model 400, which is IFC data, do not originally interfere (intersect, etc.) with each other, the surfaces of the solid parts should not interfere (intersect, etc.) with each other either, but it means a state where the selected surfaces interfere (intersect, etc.) with each other on the screen due to software architectural design mistakes or the like.

[0044] When two or more of the selected surfaces interfere with each other (step S121, Yes), the edge shaping unit 109 separates (cuts) the two or more selected surfaces using the intersection line of the two or more selected surfaces as an edge to generate a plurality of separated surfaces (step S122). The edge shaping unit 109 deletes the plurality of separated surfaces that do not contact the voxel set (i.e., protrude) among the plurality of separated surfaces (step S123). The edge shaping unit 109 combines the surfaces (remaining surfaces) that contact the voxel set among the plurality of separated surfaces with an edge (intersection line) (step S124).

[0045] When there is a gap between a pair of edges of two or more selected surfaces among the plurality of selected surfaces (step S125, Yes), the edge shaping unit 109 moves a pair of edges in the surface directions of the two or more selected surfaces respectively to extend the two or more selected surfaces, thereby filling the gap and making the pair of edges coincide (step S126). The edge shaping unit 109 joins them with the extended intersection line edges (step S124).

[0046] When the edge shaping unit 109 eliminates the interference between all the selected surfaces (step S121, No) and eliminates the gaps between the edges of all the selected surfaces (step S125, No), the edge shaping is completed, and an inner surface that forms a completely closed space without gaps is generated. The output unit 102 outputs the generated inner surface to the display 200 (step S127).

[0047] 3. Second processing flow of the information processing apparatus

[0048] FIG. 8 shows the second processing flow of the information processing apparatus.

[0049] The second processing flow is a process when the outer surface (the surface exposed outdoors) of the 3D model is the analysis target. Hereinafter, the same operations as those of the first processing flow (FIG. 2) are denoted by the same reference numerals (step numbers), and the description thereof is omitted, and the points different from the first processing flow will be mainly described.

[0050] The information processing apparatus 1 executes a command and starts a process of extracting the outer surface from the 3D model 400 read by the model input unit 101 (step S101) (step S202).

[0051] The reference setting unit 106 sets a reference position that does not interfere with the 3D model 400. Specifically, the reference setting unit 106 generates a bounding box of the 3D model 400 (step S205). The bounding box is a rectangular parallelepiped that encloses the 3D model 400. The XYZ coordinate system of the bounding box may be common with the XYZ coordinate system of the voxel. Further, the XYZ coordinate system of the bounding box may be common with the XYZ coordinate system of the 3D model 400. To minimize the calculation amount, the bounding box may be the smallest rectangular parallelepiped that contacts a part of the 3D model 400 and encloses the 3D model 400. The reference setting unit 106 sets a reference position on the bounding box (step S206). For example, the reference setting unit 106 may set one vertex of the rectangular parallelepiped bounding box as the reference position.

[0052] The voxel set generation unit 107 arranges one reference voxel at the reference position (for example, one vertex of the bounding box) (step S206). The reference voxel may be arranged adjacent to the inner surface of the bounding box, for example.

[0053] The voxel set generation unit 107 continues to arrange a plurality of voxels starting from the reference voxel (step S207). Specifically, the voxel set generation unit 107 continues to arrange a plurality of voxels adjacent to each other without gaps starting from the reference voxel (step S208).

[0054] Each time the voxel set generation unit 107 arranges a new voxel, it checks whether the newly arranged voxel contacts or intersects any surface (outer surface) of the 3D model 400 or the bounding box. When the newly arranged voxel contacts or intersects any surface (outer surface) of the 3D model 400 or the bounding box, the voxel set generation unit 107 sets a flag for the contacted or intersected voxel to set a flagged voxel, and prohibits arranging a voxel next to the flagged voxel (step S209).

[0055] When the bounding box is divided by the 3D model 400 and has a plurality of spaces, the voxel set generation unit 107 sets another reference position (for example, another vertex of the bounding box) (step S206), and continues to arrange a plurality of voxels starting from the reference voxel (steps S207 - S209). As a result, the inside of the bounding box is filled with the 3D model 400 and a plurality of voxels.

[0056] When all newly arranged voxels contact or intersect any surface (outer surface) of the 3D model 400 or the bounding box (step S210, Yes), all exposed voxels are set as flag voxels, and new voxels cannot be arranged (step S211). Thereby, the voxel set generation unit 107 generates a voxel set (step S212). The subsequent processing is the same as that of the first processing flow.

[0057] 4. Conclusion

[0058] There is a need to extract only specific objects required in another work process from among architectural design models created by BIM software or 3D modeling software. Another work process includes simulation work for environmental analysis such as acoustic analysis, light analysis, thermal analysis, and wind analysis, and creation of a 3D print model for prototyping.

[0059] Particularly in the above processes, wall objects and slab objects with thickness and volume are not required, and in many cases, only the inner and outer surfaces of the analysis target space required for analysis are extracted. Currently, these extraction operations are often performed manually using BIM software or 3D software, which is very time-consuming and laborious.

[0060] As one approach to attempt to solve these problems, a method can be considered where infinite straight lines are created in all directions from a single point inside a closed space, and only the surfaces that are intersected by each of these straight lines first are extracted. However, in this method, if there are gaps or openings, the straight lines may pass through those gaps or openings, extracting surfaces outside the analysis target space that are originally unnecessary, or in cases where the space has a complex shape such as an L-shape or a U-shape, it is often the case that the necessary surfaces cannot be extracted.

[0061] Also, a method can be considered where the straight lines are reflected by the surface that is intersected first, and then reflected by the contact surfaces multiple times in the same way, so as to avoid missing any extractions even for complex shapes such as an L-shape or a U-shape. However, this method does not solve the problem of passing through gaps or openings.

[0062] To solve the above problems, in this embodiment, a method using voxels is employed. Specifically, only one point located inside the closed space is specified, and based on that point, voxels are gradually arranged around it in a manner similar to inflating (first processing flow) or deflating (second processing flow) a balloon, and it is examined whether they come into contact with a surface. While determining whether to further inflate (first processing flow) or deflate (second processing flow) the region filled with voxels based on the presence or absence of contact, the space is recognized.

[0063] In this method, for a space smaller than the size of the voxels, it is possible to recognize the space by continuously penetrating while filling the gaps, so it is less likely to miss any extractions even for complex shapes such as an L-shape or a U-shape. Also, unlike straight lines, since the inside of the space is filled with voxels, when there are gaps or openings, it is possible to determine whether it is okay to pass through that part based on the number of voxels in each part.

[0064] Thereby, according to this embodiment, it is possible to accurately and automatically extract the surface objects necessary for analysis from a 3D model such as an architectural design model.

[0065] Although each embodiment and each modification of the present technology have been described above, the present technology is not limited only to the above-described embodiments, and it goes without saying that various changes can be made without departing from the gist of the present technology.

Explanation of Reference Numerals

[0066] 1 Information processing apparatus 100 Control circuit 101 Model input unit 102 Output unit 103 Parameter setting unit 104 Voxel size setting unit 105 Confirmation size setting unit 106 Reference setting unit 107 Voxel set generation unit 108 Plane selection unit 109 Edge shaping unit 200 Display 300 Input device 400 3D model

Claims

1. A reference setting unit that sets a reference position that does not interfere with a 3D model having a plurality of surfaces; A voxel set generation unit that places a reference voxel at the reference position, continuously places a plurality of voxels adjacent to each other starting from the reference voxel without gaps, and when any voxel contacts or intersects any surface, sets a flag for the contacted or intersected voxel to set a flagged voxel, and generates a voxel set in which new voxels cannot be placed by prohibiting the placement of voxels adjacent to the flagged voxel; A surface selection unit that selects a plurality of surfaces that contact or intersect the voxel set from the plurality of surfaces as a plurality of selected surfaces, and extracts the plurality of selected surfaces by deleting surfaces other than the plurality of selected surfaces; An output unit that outputs the plurality of selected surfaces; An information processing apparatus comprising the above.

2. The information processing apparatus according to Claim 1, wherein when a part of the voxel set is equal to or smaller than a confirmation size, the voxel set generation unit divides the voxel set at a boundary surface at a predetermined position with the part as a reference, and sets a plurality of flagged voxels by setting flags for a plurality of voxels located on the boundary surface, thereby generating a plurality of divided voxel sets; the output unit outputs the plurality of divided voxel sets in a distinguishable manner so that a user can select them. An information processing apparatus.

3. The information processing apparatus according to Claim 2, wherein when a part of the divided voxel sets among the plurality of divided voxel sets is selected, the surface selection unit selects, as a plurality of selected surfaces, all surfaces that contact or intersect the part of the divided voxel sets and virtual surfaces constituted by boundary surfaces. An information processing apparatus.

4. The information processing apparatus according to Claim 2, wherein the confirmation size is variable, and further comprises a confirmation size setting unit that sets the confirmation size. An information processing apparatus.

5. The information processing apparatus according to Claim 1, wherein when two or more of the plurality of selected surfaces interfere with each other, the two or more selected surfaces are separated using the intersection line of the two or more selected surfaces as an edge to generate a plurality of separated surfaces, and a plurality of separated surfaces that do not contact the voxel set among the plurality of separated surfaces are deleted, and / or When there is a gap between a pair of edges of two or more selection surfaces among the plurality of selection surfaces, by moving the pair of edges in the surface direction of the two or more selection surfaces to extend the two or more selection surfaces, the gap is filled and the pair of edges are made to coincide. Edge shaping unit An information processing apparatus further comprising the same.

6. The information processing apparatus according to claim 1, wherein at least a part of the 3D model is hollow, the reference setting unit sets the reference position within the internal space of the 3D model, and the plurality of selection surfaces include the inner surface of the 3D model. Information processing apparatus.

7. The information processing apparatus according to claim 1, wherein the reference setting unit generates a bounding box of the 3D model and sets the reference position on the bounding box, and the plurality of selection surfaces include the outer surface of the 3D model. Information processing apparatus.

8. The information processing apparatus according to claim 1, wherein the voxel size is variable, and a voxel size setting unit for setting the voxel size is further provided.

9. The information processing apparatus according to claim 1, wherein the 3D model includes a plurality of solid parts having the plurality of surfaces. Information processing apparatus.

10. The information processing apparatus according to claim 9, wherein the plurality of solid parts are non-hollow. Information processing apparatus.

11. The information processing apparatus according to claim 1, wherein the 3D model is IFC data or mesh data. Information processing apparatus.

12. The information processing apparatus according to claim 1, wherein the 3D model is an architectural model. Information processing apparatus.

13. A computer performs the steps of setting a reference position that does not interfere with a 3D model having a plurality of surfaces, placing a reference voxel at the reference position, continuously placing a plurality of voxels adjacent to each other without gaps starting from the reference voxel, and when any voxel contacts or intersects any surface, setting a flag for the contacted or intersected voxel to set a flagged voxel, and generating a set of voxels in which new voxels cannot be placed by prohibiting the placement of voxels adjacent to the flagged voxel, selecting, as a plurality of selection surfaces, a plurality of surfaces that contact or intersect the set of voxels from the plurality of surfaces, and extracting the plurality of selection surfaces by deleting the surfaces other than the plurality of selection surfaces, and outputting the plurality of selection surfaces. An information processing method for execution.

14. To a computer, setting a reference position that does not interfere with a 3D model having a plurality of surfaces; placing a reference voxel at the reference position, continuously placing a plurality of voxels adjacent to each other without gaps starting from the reference voxel, and when any voxel contacts or intersects any surface, flagging the contacted or intersected voxel to set a flagged voxel, and generating a set of voxels where new voxels cannot be placed by prohibiting the placement of voxels adjacent to the flagged voxel; selecting, as a plurality of selected surfaces, a plurality of surfaces that contact or intersect the set of voxels from the plurality of surfaces, and extracting the plurality of selected surfaces by deleting surfaces other than the plurality of selected surfaces; outputting the plurality of selected surfaces; An information processing program for causing execution.

15. To a computer, setting a reference position that does not interfere with a 3D model having a plurality of surfaces; placing a reference voxel at the reference position, continuously placing a plurality of voxels adjacent to each other without gaps starting from the reference voxel, and when any voxel contacts or intersects any surface, flagging the contacted or intersected voxel to set a flagged voxel, and generating a set of voxels where new voxels cannot be placed by prohibiting the placement of voxels adjacent to the flagged voxel; selecting, as a plurality of selected surfaces, a plurality of surfaces that contact or intersect the set of voxels from the plurality of surfaces, and extracting the plurality of selected surfaces by deleting surfaces other than the plurality of selected surfaces; outputting the plurality of selected surfaces; A non-transitory computer-readable recording medium on which an information processing program for causing execution is recorded.

Citation Information

Patent Citations

  • Texture information generation device

    JP2005215724A

  • Method and system for generating polygon meshes approximating surfaces using root-finding and iteration for mesh vertex positions

    JP2023178274A

  • System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display

    US20030052875A1

  • Building Envelope Determination

    US20130197868A1

  • Spatially-aware detection of trapped support areas in 3D printing

    US20200074016A1