| CPC G06F 30/12 (2020.01) [G06F 30/13 (2020.01); G06F 40/205 (2020.01)] | 19 Claims |

|
19. A method for generating computer-readable instructions to automatically generate a three-dimensional architectural model comprising:
receiving a human-readable text file comprising a description of functional elements of a structure;
parsing the text file to identify keywords comprised by the text file, defining identified key words;
generating a plurality of datasets responsive to the identified key words, the plurality of datasets comprising:
a dataset of a list of rooms comprised by the architectural model;
a dataset of a geometric center point provided in (X, Y, Z) coordinates for each room comprised by the architectural model, defining a center point list; and
a dataset of geometric dimensions for each room provided in (X, Y, Z) coordinates comprised by the architectural model, defining a dimensions list;
generating machine-readable instructions to create one or more level objects responsive to the plurality of datasets by:
generating a dataset comprising a list of the Z-coordinate for each room, defining a Z-coordinate list;
identifying each unique Z-coordinate comprised by the Z-coordinate list;
assigning a level number to each unique Z-coordinate; and
generating a dataset comprising a list of the level numbers, defining a level list;
generating machine-readable instructions to create one or more floor objects responsive to the plurality of datasets and the one or more level objects;
generating a composite block model comprising:
generating a block center point at the geometric center point for each room, resulting in a plurality of block center points;
generating a block having dimensions equal to the geometric dimensions of each room, the block being centered at the block center point, resulting in a plurality of blocks;
merging the plurality of blocks into a single contiguous multifaceted mass, defining the composite block model;
generating a maximum dimension block model being dimensioned and positioned such that its outer dimensions are coextensive with a maximum and a minimum (X, Y, Z) coordinates of the composite block model, comprising:
identifying a plurality of faces comprised by the composite block model; and
removing the horizontal faces of the plurality of faces comprised by the composite block model;
generating a plurality of interim floor markers having (X, Y) dimensions that are coextensive with the (X, Y) dimensions of the maximum dimension block model, where each interim floor marker has a Z value equal to the Z value for each level object;
identifying intersections between the maximum dimension block model and the plurality of interim floor markers, defining interim floor marker intersections; and
generating a plurality of floor model objects, each floor model object having a Z value equal to the Z value for one of the plurality of interim floor markers and a boundary defined by the interim floor marker intersections;
generating machine-readable instructions to create a plurality of exterior wall objects responsive to the plurality of datasets and the one or more level objects, comprising:
generating a plurality of exterior wall objects based on the interim floor marker intersections;
defining a base height value for each exterior wall object, the base height value being equal to the Z value for the level object associated with each exterior wall;
defining a top height value for each exterior wall object, the top height value being equal to the Z value for the level object having a level number that is the next greater level number than the level number of the level object associated with the exterior wall;
receiving an indication of an exterior wall type from a user for each exterior wall object, defining received exterior wall type indications; and
defining an exterior wall type for each exterior wall object responsive to the received exterior wall type indications
generating machine-readable instructions to create a plurality of interior wall objects responsive to the plurality of datasets and the one or more level objects, comprising:
identifying each face of the plurality of blocks, defining a plurality of block faces, each block face comprising boundary coordinates;
identifying each face of the maximum dimension block model, defining a plurality of exterior faces;
identifying each block face that at least partially overlaps an exterior face of the plurality of exterior faces, defining a first plurality of excluded faces;
identifying each block face that is parallel to the level objects, defining a second plurality of excluded faces;
generating a list of interior faces, comprising removing each of the first plurality of excluded faces and the second plurality of excluded faces from the plurality of block faces;
identifying intersections between the interior faces comprised by the list of interior faces and the interim floor markers, defining a plurality of intersection segments;
generating an interior wall object for each intersection segment of the plurality of intersection segments;
defining a base height value for each interior wall object, the base height value being a Z value of a lower level object the interior wall object intersects with; and
defining a top height value for each interior wall object, the top height value being one of a Z value of an upper level object the interior wall object intersects with, a height value received from a user, a default height value, and a maximum height of the architectural model;
generating machine-readable instructions to create a plurality of room objects responsive to the plurality of datasets, the one or more level objects, the plurality of exterior wall objects, and the plurality of interior wall objects; and
providing each of the machine-readable instructions to create one or more level objects, instructions to create one or more floor objects, instructions to create a plurality of exterior wall objects, instructions to create a plurality of interior wall objects, and instructions to create a plurality of room objects to architectural modeling software.
|