Connecting overlapping line segments in a two-dimensional view
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-modifiedThe 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.