# US 8,346,020 B2 · Automated generation of 3D models from 2D computer-aided design (CAD) drawings

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,346,020 B2
- Document ID: US8346020B2
- Status: Granted
- Kind: B2
- Application number: 12/434,538
- Filed: 2009-05-01
- Published: 2010-04-15
- Granted: 2013-01-01
- Earliest claimed: 2008-05-02
- Assignees: Zentech, Inc.
- Inventors: S. Rao Guntur
- Web page: https://patentgrep.com/patent/US8346020B2

## CPC

- G06T 17/10: Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
- G06F 30/00: Computer-aided design [CAD]
- G06T 19/00: Manipulating three-dimensional [3D] models or images for computer graphics
- G06F 2113/14: Pipes
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The process and method for generating a 3D model from a set of 2D drawings is described herein. Traditionally, many structural components (objects) are communicated through a series of 2D drawings, wherein each drawing describes the components that are visible in a user-selected view direction. No machine-readable information in the drawings define a relationship between the drawings developed from various view directions or the objects' locations in 3D space. Considerable human effort and intervention is required to place objects defined in the 2D drawings into 3D space. With the ability to provide information in each drawing defining a relationship with the other drawings as well as its place in 3D space, the objects defined in 2D drawings can self-assemble in 3D space, thereby reducing a substantial amount of required human effort.

## Claims

### Claim 1

A method for converting the (X,Y) coordinates of a point in a 2D drawing to its corresponding (X,Y,Z) coordinates in 3D space, the method comprising:
(a) selecting a 2D view in a CAD drawing of an object;
(b) receiving user-identified selections of three non-collinear control points in the 2D view in which the three non-collinear control points represent relative orientation, scale and position with respect to each other in both the 2D view and a 3D global physical view of the object, and wherein the CAD drawing comprises (X,Y) coordinates for locations of all points in the 2D view;
(c) receiving user-input (X,Y,Z) coordinates of the three control points in the 3D global physical view corresponding to the (X,Y) coordinates of the three non-collinear control points in the 2D view;
(d) computing a coordinate transformation matrix for the 2D view, the coordinate transformation matrix comprising an orientation and scale matrix (R) containing orientation and scale of the three non-collinear control points in the 2D view, and a position matrix (T) containing positions of the three non-collinear control points with respect to the 3D global physical view, based on the (X,Y) and user-input (X,Y,Z) coordinates of the three non-collinear control points;
(e) automatically converting (X,Y) coordinates of remaining points in the 2D view into corresponding (X,Y,Z) coordinates of those remaining points in the 3D global physical view using the coordinate transformation matrix; and
(f) generating, in the 3D global physical view, a 3D model of the object using the (X,Y,Z) coordinates of the three non-collinear control points and the remaining points in the 2D view.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the CAD drawing comprises features of the object shown on different layers.

### Claim 3 (depends on 2)

The method according to claim 2, wherein the different layers include a hidden line layer, a struct line layer, a center line layer, and a text layer.

### Claim 4 (depends on 3)

The method according to claim 3, wherein the CAD drawing further comprises a complex layer, a master layer, and a 3D-points layer.

### Claim 5 (depends on 2)

The method according to claim 2, wherein a section property of the object in the CAD drawing is defined relative to its center line on a separate layer.

### Claim 6 (depends on 5)

The method according to claim 5, the method further comprising associating section properties on each layer in the 2D view of the CAD drawing with each section property's center line.

### Claim 7 (depends on 1)

The method according to claim 1, wherein X values and Y values in the (X,Y) coordinate of the three non-collinear control points in the 2D view have different scales.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the coordinate transformation matrix for three control points (1, 2 and 3) are represented in the 2D view by coordinates (Xdn, Ydn), where “d” means 2D drawing and “n” is one of the control points, and represented in the 3D global physical view by coordinates (Xgn, Ygn, Zgn), where “g” means 3D global physical view and “n” is the control point, is provided by the expression:
{
X
g
⁢
⁢
n
Y
g
⁢
⁢
n
Z
g
⁢
⁢
n
}
=
{
T
}
3
×
1
+
[
R
]
3
×
2
⁢
{
X
dn
Y
dn
}
,
wherein the orientation and scale matrix (R) for the three control points (1, 2, and 3) is provided by the expression:
R
=
[
X
g
⁢
⁢
2
-
X
g
⁢
⁢
1
X
g
⁢
⁢
3
-
X
g
⁢
⁢
1
Y
g
⁢
⁢
2
-
Y
g
⁢
⁢
1
Y
g
⁢
⁢
3
-
Y
g
⁢
⁢
1
Z
g
⁢
⁢
2
-
Z
g
⁢
⁢
1
Z
g
⁢
⁢
3
-
Z
g
⁢
⁢
1
]
⁡
[
X
d
⁢
⁢
2
-
X
d
⁢
⁢
1
X
d
⁢
⁢
3
-
X
d
⁢
⁢
1
Y
d
⁢
⁢
2
-
Y
d
⁢
⁢
1
Y
d
⁢
⁢
3
-
Y
d
⁢
⁢
1
]
-
1
,
and wherein the position matrix (T) for the three control points (1, 2, and 3) is provided by the expression:
T
=
{
X
g
⁢
⁢
1
Y
g
⁢
⁢
1
Z
g
⁢
⁢
1
}
-
[
R
]
⁢
{
X
d
⁢
⁢
1
Y
d
⁢
⁢
1
}
.

### Claim 9 (depends on 8)

The method according to claim 8, wherein two different vectors represent the (X,Y) coordinates of the three control points, and three different vectors represent the (X,Y,Z) coordinates of the three control points.

### Claim 10 (depends on 1)

The method according to claim 1, the method further comprising:
(g) repeating said steps (a) through (f) for a second 2D view of the CAD drawing of the object using three corresponding second control points, and a corresponding second coordinate transformation matrix, to generate corresponding a second portion of the 3D model; and
(h) generating a final 3D model of the object in the 3D global physical view using the first and second 3D models.

### Claim 11 (depends on 10)

The method according to claim 10, wherein the first and 2D views are provided via different corresponding CAD programs.

### Claim 12

A computer-readable medium for use in general computer, the computer-readable medium storing instructions executable by the general computer for performing a process for converting the (X,Y) coordinates of a point in a 2D drawing to its corresponding (X,Y,Z) coordinates in 3D space, the process comprising:
(a) selecting a 2D view in a CAD drawing of an object;
(b) receiving user-identified selections of three non-collinear control points in the 2D view in which the three non-collinear control points represent relative orientation, scale and position with respect to each other in both the 2D view and a 3D global physical view of the object, and wherein the CAD drawing comprises (X,Y) coordinates for locations of all points in the 2D view;
(c) receiving user-input (X,Y,Z) coordinates of the three control points in the 3D global physical view corresponding to the (X,Y) coordinates of the three non-collinear control points in the 2D view;
(d) computing a coordinate transformation matrix for the 2D view, the coordinate transformation matrix comprising an orientation and scale matrix (R) containing orientation and scale of the three non-collinear control points in the 2D view, and a position matrix (T) containing positions of the three non-collinear control points with respect to the 3D global physical view, based on the (X,Y) and user-input (X,Y,Z) coordinates of the three non-collinear control points;
(e) automatically converting (X,Y) coordinates of remaining points in the 2D view into corresponding (X,Y,Z) coordinates of those remaining points in the 3D global physical view using the coordinate transformation matrix; and
(f) generating, in the 3D global physical view, a 3D model of the object using the (X,Y,Z) coordinates of the three non-collinear control points and the remaining points in the 2D view.

### Claim 13 (depends on 12)

The computer-readable medium according to claim 12, wherein the CAD drawing comprises features of the object shown on different layers.

### Claim 14 (depends on 13)

The computer-readable medium according to claim 13, wherein the different layers may include a hidden line layer, a struct line layer, a center line layer, and a text layer.

### Claim 15 (depends on 14)

The computer-readable medium according to claim 14, wherein the CAD drawing further comprises a complex layer, a master layer, and a 3D-points layer.

### Claim 16 (depends on 13)

The computer-readable medium according to claim 13, wherein a section property of the object in the CAD drawing is defined relative to its center line on a separate layer.

### Claim 17 (depends on 16)

The computer-readable medium according to claim 16, the method further comprising associating section properties on each layer in the 2D view of the CAD drawing with each section property's center line.

### Claim 18 (depends on 1)

The computer-readable medium according to claim 1, wherein X values and Y values in the (X,Y) coordinate of the three non-collinear control points in the 2D view have different scales.

### Claim 19 (depends on 1)

The computer-readable medium according to claim 1, wherein the coordinate transformation matrix for three exemplary control points (1, 2 and 3) are represented in the 2D view by coordinates (Xdn, Ydn), where “d” means 2D drawing and “n” is one of the exemplary control points, and represented in the 3D global physical view by coordinates (Xgn, Ygn, Zgn), where “g” means 3D global physical view and “n” is one of the exemplary control points, is provided by the expression:
{
X
gn
Y
g
⁢
⁢
n
Z
g
⁢
⁢
n
}
=
{
T
}
3
×
1
+
[
R
]
3
×
2
⁢
{
X
dn
Y
dn
}
,
wherein the orientation and scale matrix (R) for the three exemplary control points (1, 2, and 3) is provided by the expression:
R
=
[
X
g
⁢
⁢
2
-
X
g
⁢
⁢
1
X
g
⁢
⁢
3
-
X
g
⁢
⁢
1
Y
g
⁢
⁢
2
-
Y
g
⁢
⁢
1
Y
g
⁢
⁢
3
-
Y
g
⁢
⁢
1
Z
g
⁢
⁢
2
-
Z
g
⁢
⁢
1
Z
g
⁢
⁢
3
-
Z
g
⁢
⁢
1
]
⁡
[
X
d
⁢
⁢
2
-
X
d
⁢
⁢
1
X
d
⁢
⁢
3
-
X
d
⁢
⁢
1
Y
d
⁢
⁢
2
-
Y
d
⁢
⁢
1
Y
d
⁢
⁢
3
-
Y
d
⁢
⁢
1
]
-
1
,
and wherein the position matrix (T) for the three exemplary control points (1, 2, and 3) is provided by the expression:
T
=
{
X
g
⁢
⁢
1
Y
g
⁢
⁢
1
Z
g
⁢
⁢
1
}
-
[
R
]
⁢
{
X
d
⁢
⁢
1
Y
d
⁢
⁢
1
}
.

### Claim 20 (depends on 19)

The computer-readable medium according to claim 19, wherein two different vectors represent the (X,Y) coordinates of the three exemplary control points, and three different vectors represent the (X,Y,Z) coordinates of the three exemplary control points.

### Claim 21 (depends on 12)

The computer-readable medium according to claim 12, the method further comprising:
(g) repeating said steps (a) through (f) for a second 2D view of the CAD drawing of the object using three corresponding second control points, and a corresponding second coordinate transformation matrix, to generate corresponding a second portion of the 3D model; and
(h) generating a final 3D model of the object in the 3D global physical view using the first and second 3D models.

### Claim 22 (depends on 21)

The computer-readable medium according to claim 21, wherein the first and second 2D views are provided via different corresponding CAD programs.

### Claim 23

A method for converting the (X,Y) coordinates of a point in a 2D drawing to its corresponding (X,Y,Z) coordinates in 3D space, the method comprising:
(a) selecting a first 2D view in a CAD drawing of an object, wherein the CAD drawing comprises features of the object shown on different layers that include a hidden line layer, a struct line layer, a center line layer, and a text layer;
(b) receiving user-identified selections of at least three first non-collinear control points in the first 2D view in which the control points represent relative orientation, scale and position with respect to each other in both the first 2D view and a 3D global physical view of the object, and wherein the CAD drawing comprises (X,Y) coordinates for locations of all points in the first 2D view;
(c) receiving user-input (X,Y,Z) coordinates of the at least three first non-collinear control points in the 3D global physical view corresponding to the (X,Y) coordinates of the at least three first non-collinear control points in the first 2D view;
(d) computing a first coordinate transformation matrix for the first 2D view, the first coordinate transformation matrix comprising an orientation and scale matrix (R) containing orientation and scale of the at least three first non-collinear control points in the first 2D view, and a position matrix (T) containing positions of the at least three first non-collinear control points with respect to the 3D global physical view, based on the (X,Y) and user-input (X,Y,Z) coordinates of the at least three first non-collinear control points;
(e) automatically converting (X,Y) coordinates of remaining points in the first 2D view into corresponding (X,Y,Z) coordinates of those remaining points in the 3D global physical view using the first coordinate transformation matrix;
(f) generating, in the 3D global physical view, a first 3D model of the object using the (X,Y,Z) coordinates of the first control points and the remaining points in the first 2D view;
(g) repeating steps (a) through (f) for at least a second 2D view of the CAD drawing of the object using at least three corresponding second control points, and a corresponding second coordinate transformation matrix, to generate a corresponding second 3D model of the object; and
(h) generating a final 3D model of the object in the 3D global physical view using the first and second 3D models.

### Claim 24 (depends on 23)

The method according to claim 23, wherein the CAD drawing further comprises a complex layer, a master layer, and a 3D-points layer.

### Claim 25 (depends on 23)

The method according to claim 23, wherein a section property of the object in the CAD drawing is defined relative to its center line on a separate layer.

### Claim 26 (depends on 25)

The method according to claim 25, the method further comprising associating section properties on each layer in one or both of the 2D views of the CAD drawing with each section property's center line.

### Claim 27 (depends on 23)

The method according to claim 23, wherein X values and Y values in the (X,Y) coordinate of at least three non-collinear control points in one or both of the 2D views have different scales.

### Claim 28 (depends on 23)

The method according to claim 23, wherein the coordinate transformation matrix for three exemplary control points (1, 2 and 3) are represented in one or both of the 2D views by coordinates (Xdn, Ydn), where “d” means 2D drawing and “n” is one of the exemplary control points, and represented in the 3D global view by coordinates (Xgn, Ygn, Zgn), where “g” means 3D global physical view and “n” is one of the exemplary control points, is provided by the expression:
{
X
gn
Y
g
⁢
⁢
n
Z
g
⁢
⁢
n
}
=
{
T
}
3
×
1
+
[
R
]
3
×
2
⁢
{
X
dn
Y
dn
}
,
wherein the orientation and scale matrix (R) for the three exemplary control points (1, 2, and 3) is provided by the expression:
R
=
[
X
g
⁢
⁢
2
-
X
g
⁢
⁢
1
X
g
⁢
⁢
3
-
X
g
⁢
⁢
1
Y
g
⁢
⁢
2
-
Y
g
⁢
⁢
1
Y
g
⁢
⁢
3
-
Y
g
⁢
⁢
1
Z
g
⁢
⁢
2
-
Z
g
⁢
⁢
1
Z
g
⁢
⁢
3
-
Z
g
⁢
⁢
1
]
⁡
[
X
d
⁢
⁢
2
-
X
d
⁢
⁢
1
X
d
⁢
⁢
3
-
X
d
⁢
⁢
1
Y
d
⁢
⁢
2
-
Y
d
⁢
⁢
1
Y
d
⁢
⁢
3
-
Y
d
⁢
⁢
1
]
-
1
,
and wherein the position matrix (T) for the three exemplary control points (1, 2, and 3) is provided by the expression:
T
=
{
X
g
⁢
⁢
1
Y
g
⁢
⁢
1
Z
g
⁢
⁢
1
}
-
[
R
]
⁢
{
X
d
⁢
⁢
1
Y
d
⁢
⁢
1
}
.

### Claim 29 (depends on 28)

The method according to claim 28, wherein two different vectors represent the (X,Y) coordinates of the three exemplary control points, and three different vectors represent the (X,Y,Z) coordinates of the three exemplary control points.

### Claim 30 (depends on 23)

The method according to claim 23, wherein the first and second 2D views are provided via different corresponding CAD programs.
