US11893664B2ActiveUtilityA1

Connecting overlapping line segments in a two-dimensional view

94
Assignee: PROCORE TECH INCPriority: Feb 3, 2022Filed: Feb 3, 2022Granted: Feb 6, 2024
Est. expiryFeb 3, 2042(~15.6 yrs left)· nominal 20-yr term from priority
G06T 11/23G06T 11/203G06T 7/70G06T 2210/04
94
PatentIndex Score
2
Cited by
4
References
20
Claims

Abstract

An example computing device is configured to (i) generate a cross-sectional view of a three-dimensional drawing file, the cross-sectional view including an object corresponding to a given mesh of the three-dimensional drawing file, the object including a void contained within the object, (ii) determine a plurality of two-dimensional line segments that collectively define a boundary of the void, (iii) for each line segment, determine one or more nearby line segments based on a distance between an end point of the line segment and an end point of the one or more nearby line segments being within a threshold distance, (iv) determine one or more fully-connected sub-objects by connecting respective sets of nearby line segments in series, (v) determine, from the fully-connected sub-objects, a final sub-object to be used as a new boundary of the void, and (vi) add the final sub-object to the cross-sectional view as the new boundary of the void.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A computing device comprising:
 at least one processor; 
 a non-transitory computer-readable medium; and 
 program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
 generate a cross-sectional view of a three-dimensional drawing file, wherein the cross-sectional view comprises an object corresponding to a given mesh of the three-dimensional drawing file, and wherein the object comprises a void contained within the object; 
 determine a plurality of two-dimensional line segments of the object that collectively define a boundary of the void, wherein each line segment comprises a pair of end points; 
 for each line segment, determine one or more nearby line segments based on a distance between an end point of the line segment and an end point of the one or more nearby line segments being within a threshold distance; 
 determine one or more fully-connected sub-objects by progressively connecting respective sets of nearby line segments in series; 
 determine, from the one or more fully-connected sub-objects, a final sub-object having a largest number of overlapping boundaries with other fully-connected sub-objects to be used as a new boundary of the void; and 
 add the final sub-object to the cross-sectional view as the new boundary of the void. 
 
 
     
     
       2. The computing device of  claim 1 , further comprising program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
 define an object class for the plurality of two-dimensional line segments, wherein the defined object class is different than an object class that is associated with the object. 
 
     
     
       3. The computing device of  claim 1 , wherein the plurality of two-dimensional line segments comprises two-dimensional line segments that (i) have differing lengths and (ii) are overlapping. 
     
     
       4. The computing device of  claim 1 , further comprising program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
 after determining the plurality of two-dimensional line segments, remove from the plurality of two-dimensional line segments any line segments that are not unique. 
 
     
     
       5. The computing device of  claim 1 , wherein the three-dimensional drawing file corresponds to a construction project, and wherein the object corresponds to a wall or a floor of the construction project. 
     
     
       6. The computing device of  claim 1 , further comprising program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
 remove from the cross-sectional view (i) all fully-connected sub-objects that are not the final sub-object and (ii) all sub-objects that were not fully-connected by progressively connecting respective sets of nearby line segments in series. 
 
     
     
       7. The computing device of  claim 1 , wherein the boundary of the void defined by the plurality of two-dimensional line segments of the object is not selectable within the generated cross-sectional view, and wherein, after adding the final sub-object to the cross-sectional view as the new boundary of the void, the final sub-object is selectable within the generated cross-sectional view. 
     
     
       8. A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a computing device to:
 generate a cross-sectional view of a three-dimensional drawing file, wherein the cross-sectional view comprises an object corresponding to a given mesh of the three-dimensional drawing file, and wherein the object comprises a void contained within the object; 
 determine a plurality of two-dimensional line segments of the object that collectively define a boundary of the void, wherein each line segment comprises a pair of end points; 
 for each line segment, determine one or more nearby line segments based on a distance between an end point of the line segment and an end point of the one or more nearby line segments being within a threshold distance; 
 determine one or more fully-connected sub-objects by progressively connecting respective sets of nearby line segments in series; 
 determine, from the one or more fully-connected sub-objects, a final sub-object having a largest number of overlapping boundaries with other fully-connected sub-objects to be used as a new boundary of the void; and 
 add the final sub-object to the cross-sectional view as the new boundary of the void. 
 
     
     
       9. The non-transitory computer-readable medium of  claim 8 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing device to:
 define an object class for the plurality of two-dimensional line segments, wherein the defined object class is different than an object class that is associated with the object. 
 
     
     
       10. The non-transitory computer-readable medium of  claim 8 , wherein the plurality of two-dimensional line segments comprises two-dimensional line segments that (i) have differing lengths and (ii) are overlapping. 
     
     
       11. The non-transitory computer-readable medium of  claim 8 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing device to:
 after determining the plurality of two-dimensional line segments, remove from the plurality of two-dimensional line segments any line segments that are not unique. 
 
     
     
       12. The non-transitory computer-readable medium of  claim 8 , wherein the three-dimensional drawing file corresponds to a construction project, and wherein the object corresponds to a wall or a floor of the construction project. 
     
     
       13. The non-transitory computer-readable medium of  claim 8 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing device to:
 remove from the cross-sectional view (i) all fully-connected sub-objects that are not the final sub-object and (ii) all sub-objects that were not fully-connected by progressively connecting respective sets of nearby line segments in series. 
 
     
     
       14. The non-transitory computer-readable medium of  claim 8 , wherein the boundary of the void defined by the plurality of two-dimensional line segments of the object is not selectable within the generated cross-sectional view, and wherein, after adding the final sub-object to the cross-sectional view as the new boundary of the void, the final sub-object is selectable within the generated cross-sectional view. 
     
     
       15. A method carried out by a computing device, the method comprising:
 generating a cross-sectional view of a three-dimensional drawing file, wherein the cross-sectional view comprises an object corresponding to a given mesh of the three-dimensional drawing file, and wherein the object comprises a void contained within the object; 
 determining a plurality of two-dimensional line segments of the object that collectively define a boundary of the void, wherein each line segment comprises a pair of end points; 
 for each line segment, determining one or more nearby line segments based on a distance between an end point of the line segment and an end point of the one or more nearby line segments being within a threshold distance; 
 determining one or more fully-connected sub-objects by progressively connecting respective sets of nearby line segments in series; 
 determining, from the one or more fully-connected sub-objects, a final sub-object having a largest number of overlapping boundaries with other fully-connected sub-objects to be used as a new boundary of the void; and 
 adding the final sub-object to the cross-sectional view as the new boundary of the void. 
 
     
     
       16. The method of  claim 15 , further comprising:
 defining an object class for the plurality of two-dimensional line segments, wherein the defined object class is different than an object class that is associated with the object. 
 
     
     
       17. The method of  claim 15 , further comprising:
 after determining the plurality of two-dimensional line segments, remove from the plurality of two-dimensional line segments any line segments that are not unique. 
 
     
     
       18. The method of  claim 15 , wherein the three-dimensional drawing file corresponds to a construction project, and wherein the object corresponds to a wall or a floor of the construction project. 
     
     
       19. The method of  claim 15 , further comprising:
 removing from the cross-sectional view (i) all fully-connected sub-objects that are not the final sub-object and (ii) all sub-objects that were not fully-connected by progressively connecting respective sets of nearby line segments in series. 
 
     
     
       20. The method of  claim 15 , wherein the boundary of the void defined by the plurality of two-dimensional line segments of the object is not selectable within the generated cross-sectional view, and wherein, after adding the final sub-object to the cross-sectional view as the new boundary of the void, the final sub-object is selectable within the generated cross-sectional view.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.