IP Library Granted Patent US 12,164,839
Granted Patent B2
US 12,164,839 · App. 17/867,731 · Granted Dec 10, 2024

Systems and methods for improved parametric modeling of structures

Inventors: Bryce Zachary Porter (Lehi, UT); John Caleb Call (American Fork, UT); Ismael Aguilera Martin de Los Santos (Madrid, ES); Ángel Guijarro Meléndez (Getafe, ES); Jeffery D. Lewis (Orem, UT); Corey D. Reed (Cedar Hills, UT)
Assignee: Insurance Services Office, Inc.
G06F30/13G06F3/04815G06F3/04845G06F30/17G06F2111/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,164,839
App. No.
17/867,731
Granted
Dec 10, 2024
Kind
B2
Abstract

A system and method for generating a parametric model of a roof structure comprising a processor in communication with a memory. The system receives a plurality of parameters of each roof component composing the roof structure and performs a geometry creation based on the received plurality of parameters. The system generates a constrained three-dimensional geometry based on an output of the geometry creation, and displays a three-dimensional model of the roof structure based on the constrained three-dimensional geometry.

Claims (72)

1. A system for generating a parametric model of a roof structure comprising:

a user interface; and

a processor in communication with the user interface, the processor:

receiving, via the user interface, a user input indicative of a roof contour of a roof structure, the roof contour being composed of a plurality of segments ordered counter-clockwise,

generating a plurality of three-dimensional roof faces of the roof structure based on the roof contour, each three-dimensional roof face being associated with at least one segment among the plurality of segments, and

displaying a three-dimensional model of the roof structure based on the generated plurality of three-dimensional roof faces,

wherein the processor:

determines a plane from each segment among the plurality of segments and a slope value of the plane,

identifies a plurality of active segments, an active segment being indicative of an incomplete face within the determined plane and being a part of an active polygon,

generates a plurality of angular bisectors by intersecting at least a pair of determined planes,

generates a first set of intersection events by intersecting the plurality of angular bisectors, an intersection event being indicative of a unique location formed by intersecting at least a pair of angular bisectors, and

reduces the identified plurality of active segments by processing the first set of intersection events.

2. The system of claim 1 , wherein the processor:

assembles remaining active segments among the identified plurality of active segments into at least one chain of consecutive active segments per the active polygon,

determines, via an intra chain resolution process of the assembled remaining active segments, interior roof lines of the roof structure,

generates a second set of intersection events based on the determined interior roof lines of the roof structure, and

reduces the remaining active segments by processing the second set of intersection events until the active polygon shrinks and all interior roof lines are determined.

3. The system of claim 2 , wherein the processor:

determines, via another intra chain resolution process of the assembled active segments, additional active polygons by splitting the active polygon when at least two chains of active segments are assembled, and

reduces the remaining active segments by processing the second set of intersection events until all additional active polygons are determined.

4. The system of claim 1 , wherein the processor:

receives, via the user interface, a user input indicative of at least one additional segment of the roof contour of the roof structure,

determines whether the roof contour comprises an additional plane from the at least one additional segment,

adds, when determining the roof contour comprises the additional plane, the additional plane to the active polygon by generating a new segment for the additional plane to be spliced into the active polygon,

invalidates one or more intersection events of the first set of intersection events based on the added additional plane, and

generates and adds one or more intersection events to the first set of intersection events based on the added additional plane.

5. A method for generating a parametric model of a roof structure comprising:

receiving, via a user interface, a user input indicative of a roof contour of the roof structure, the roof contour being composed of a plurality of segments ordered counter-clockwise;

generating, via a straight skeleton algorithm, a plurality of three-dimensional roof faces of the roof structure based on the roof contour, each three-dimensional roof face being associated with at least one segment among the plurality of segments;

displaying a three-dimensional model of the roof structure based on the generated plurality of three-dimensional roof faces;

determining a plane from each segment among the plurality of segments and a slope value of the plane;

identifying a plurality of active segments, an active segment being indicative of an incomplete face within the determined plane and being a part of an active polygon;

generating a plurality of angular bisectors by intersecting at least a pair of determined planes;

generating a first set of intersection events by intersecting the plurality of angular bisectors, an intersection event being indicative of a unique location formed by intersecting at least a pair of angular bisectors; and

reducing the identified plurality of active segments by processing the first set of intersection events.

6. The method of claim 5 further comprising:

assembling remaining active segments among the identified plurality of active segments into at least one chain of consecutive active segments per the active polygon;

determining, via an intra chain resolution process of the assembled remaining active segments, interior roof lines of the roof structure;

generating a second set of intersection events based on the determined interior roof lines of the roof structure; and

reducing the remaining active segments by processing the second set of intersection events until the active polygon shrinks and all interior roof lines are determined.

7. The method of claim 6 , further comprising:

determining, via another intra chain resolution process of the assembled active segments, additional active polygons by splitting the active polygon when at least two chains of active segments are assembled; and

reducing the remaining active segments by processing the second set of intersection events until all additional active polygons are determined.

8. The method of claim 5 , further comprising:

receiving, via the user interface, a user input indicative of at least one additional segment of the roof contour of the roof structure;

determining whether the roof contour comprises an additional plane from the at least one additional segment;

adding, when determining the roof contour comprises the additional plane, the additional plane to the active polygon by generating a new segment for the additional plane to be spliced into the active polygon;

invalidating one or more intersection events of the first set of intersection events based on the added additional plane; and

generating and adding one or more intersection events to the first set of intersection events based on the added additional plane.

9. A non-transitory computer readable medium having instructions stored thereon for generating a parametric model of a roof structure which, when executed by a processor, causes the processor to carry out the steps of:

receiving, via a user interface, a user input indicative of a roof contour of the roof structure, the roof contour being composed of a plurality of segments ordered counter-clockwise;

generating, via a straight skeleton algorithm, a plurality of three-dimensional roof faces of the roof structure based on the roof contour, each three-dimensional roof face being associated with at least one segment among the plurality of segments;

displaying a three-dimensional model of the roof structure based on the generated plurality of three-dimensional roof faces;

determining a plane from each segment among the plurality of segments and a slope value of the plane;

identifying a plurality of active segments, an active segment being indicative of an incomplete face within the determined plane and being a part of an active polygon;

generating a plurality of angular bisectors by intersecting at least a pair of determined planes;

generating a first set of intersection events by intersecting the plurality of angular bisectors, an intersection event being indicative of a unique location formed by intersecting at least a pair of angular bisectors; and

reducing the identified plurality of active segments by processing the first set of intersection events.

10. The computer-readable medium of claim 9 , further comprising instructions for causing the processor to carry out the steps of:

assembling remaining active segments among the identified plurality of active segments into at least one chain of consecutive active segments per the active polygon;

determining, via an intra chain resolution process of the assembled remaining active segments, interior roof lines of the roof structure;

generating a second set of intersection events based on the determined interior roof lines of the roof structure; and

reducing the remaining active segments by processing the second set of intersection events until the active polygon shrinks and all interior roof lines are determined.

11. The method of claim 10 , further comprising instructions for causing the processor to carry out the steps of:

determining, via another intra chain resolution process of the assembled active segments, additional active polygons by splitting the active polygon when at least two chains of active segments are assembled; and

reducing the remaining active segments by processing the second set of intersection events until all additional active polygons are determined.

12. The method of claim 9 , further comprising instructions for causing the processor to carry out the steps of:

receiving, via the user interface, a user input indicative of at least one additional segment of the roof contour of the roof structure;

determining whether the roof contour comprises an additional plane from the at least one additional segment;

adding, when determining the roof contour comprises the additional plane, the additional plane to the active polygon by generating a new segment for the additional plane to be spliced into the active polygon;

invalidating one or more intersection events of the first set of intersection events based on the added additional plane; and

generating and adding one or more intersection events to the first set of intersection events based on the added additional plane.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2022
From: PORTER, BRYCE ZACHARY; CALL, JOHN CALEB; LEWIS, JEFFERY D.; REED, COREY D.; MARTÍN DE LOS SANTOS, ISMAEL AGUILERA; MELÉNDEZ, ANGEL GUIJARRO
To: GEOMNI, INC.
Reel/Frame 060543/0542 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2022
From: GEOMNI, INC.
To: INSURANCE SERVICES OFFICE, INC.
Reel/Frame 060543/0838 →
Continuity (3)
Division 16443058 · Jun 17, 2019
Provisional Application 62685434 · Jun 15, 2018
Related Publication 20220350939A1 · Nov 3, 2022