1. Non-transitory computer-readable media (\u201cmedia\u201d) having computer-executable instructions embodied thereon that, when executed, cause a computing device to perform a method of transferring engineering data to 3D models, the method comprising:
obtaining engineering data in a first electronic format from a computer aided design software component, wherein the first electronic format represents a three-dimensional engineering model;
selecting a plurality of objects associated with the engineering data;
scanning the engineering data for entity criteria that will be used to search for other objects to construct entity replacement commands;
assigning an object type to each of the plurality of objects, wherein object types include a mathematical curve, a railed surface, a mathematical surface, and a mesh;
for each of the plurality of objects, converting the object’s engineering data to object type data corresponding to the assigned object type, wherein converting the object’s engineering data includes
A) when the assigned object type is a mathematical curve, then determining whether the object is to be converted to a NURBS curve or an alternate type of mathematical curve,
1) when the object is to be converted to a NURBS curve, then generating a B\xe9zier curve set from the object’s engineering data, and
2) when the object is to be converted to the alternate type of mathematical curve, then generating the alternate type of mathematical curve from the object’s engineering data,
B) when the assigned object type is a railed surface, then determining whether the object is to be converted to a NURBS curve or an alternate type of mathematical curve,
1) when the object is to be converted to a NURBS curve, then
a) generating a B\xe9zier curve set from the object’s engineering data,
b) generating a NURBS curve from the B\xe9zier curve set, and
c) appending geometric shape data for extruding a surface,
2) when the object is to be converted to the alternate type of mathematical curve, then
a) generating the alternate type of mathematical curve from the object’s engineering data, and
b) appending geometric shape data for extruding a surface,
C) when the assigned object type is a mathematical surface, then determining whether the object is to be converted to a NURBS surface or an alternate type of mathematical surface,
1) when the object is to be converted to a NURBS surface, then
a) reading one or more curve point data sets encapsulated in the object,
b) generating a B\xe9zier curve set for each of the one of more curve point data sets,
c) generating a NURBS curve object for each of the one or more B\xe9zier curve sets, and
2) when the object is to be converted to the alternate type of mathematical surface, then generating the alternate type of mathematical surface from the object’s engineering data, and
D) when the assigned object type is a mesh, wherein the object’s engineering data defines non-overlapping triangle objects, then
1) scanning the object’s engineering data to generate a table of data indexing vertices of the triangle objects,
2) scanning the engineering data to match each triangle object with corresponding vertex indices, and
3) generating a vertex array based on the data in the table;
transporting the object type data to a 3D modeling software component via a plurality of connection handlers of a connection handler pool, wherein each of the plurality of connection handlers run in a separate system thread;
formatting the object type data to a second electronic format compatible with the 3D modeling software component; and
creating a 3D model according to the object type data for each of the plurality of objects via the 3D modeling software component.
2. The media of claim 1, wherein object types include an entity set object type.
3. The media of claim 2, wherein the converting the engineering data to a mesh object type comprises:
providing engineering data comprising a plurality of triangle objects which form a surface of one of the plurality of objects;
scanning a vertex of each of the plurality of triangle objects; and
generating a transfer set comprising a command header and a count of vertices and faces of the triangle objects.
4. The media of claim 3, wherein some of the plurality of triangle objects reference the same vertex.
5. The media of claim 3, wherein some of the plurality of triangle objects are reduced to a single hash table entry in a vertex array.
6. The media of claim 2, wherein converting the engineering data to an entity set object type comprises converting the engineering data to models from a 3D library.
7. The media of claim 2, wherein converting the engineering data to an entity set object type comprises:
scanning the engineering data for entity criteria for some of the plurality of objects;
forming an entity attribute transfer set for the plurality of objects meeting the scanned entity criteria; and
transporting the entity attribute transfer set for the plurality of objects meeting the scanned entity criteria to the 3D modeling software component.
8. The media of claim 7, wherein additional objects meeting the scanned entity criteria are located simultaneously while previously located objects meeting the scanned entity criteria are transported.
9. The media of claim 1, wherein the creating a 3D model comprises extruding a geometric shape along a rail generated from the engineering data.
10. A computer-implemented method of transferring data between a first computer having an engineering computer aided design (CAD) software component and a second computer having a 3D modeling software component, the computer-implemented method comprising:
connecting the engineering CAD software component to the 3D modeling software component via a communications link between the first computer and the second computer, the 3D modeling software component comprising a connection handler pool with each connection handler of the connection handler pool running in a separate system thread so as to listen for new events simultaneously with receiving data;
selecting a plurality of objects represented by engineering data in a first electronic format from the engineering CAD software component, wherein the first electronic format represents a three-dimensional engineering model;
assigning an object type to each of the plurality of objects, wherein object types include a mathematical curve, a railed surface, a mathematical surface, and a mesh;
converting the engineering data to an associated object type data for each of the assigned object types, wherein converting the engineering data includes
A) when the assigned object type is a mathematical curve, then
1) determining whether the object is to be converted to a NURBS curve or an alternate type of mathematical curve, and
2) generating the determined type of curve,
B) when the assigned object type is a railed surface, then
1) determining whether the object is to be converted to a NURBS curve or an alternate type of mathematical curve,
2) generating the determined type of curve, and
3) appending geometric shape data for extruding a surface,
C) when the assigned object type is the mathematical surface, then
1) determining whether the object is to be converted to a NURBS surface or an alternate type of mathematical surface, and
2) generating the determined type of surface, and
D) when the assigned object type is a mesh, wherein the engineering data defines non-overlapping triangle objects, then
1) scanning the object’s engineering data to determine associations between the triangle objects and triangle vertices, and
2) generating a vertex array based on the associations between the triangle objects and the triangle vertices;
streaming the converted object type data from the first computer to an assigned connection handler from the connection handler pool;
formatting the object type data to a second electronic format; and
constructing a 3D model from the formatted object type data for each of the plurality of objects via the 3D modeling software component in the second computer, wherein converting the engineering data to an entity set object type comprises:
scanning the engineering data in the first electronic format for entity criteria for some of the plurality of objects, wherein the entity criteria comprises criteria that will be used to search for other objects to construct entity replacement commands;
forming an entity attribute transfer set in the second electronic format for the plurality of objects meeting the scanned entity criteria; and
transporting the entity attribute transfer set for the plurality of objects meeting the scanned entity criteria to a receiving program to interface with the 3D modeling software component.
11. The computer-implemented method of claim 10, wherein the formatting the object type data to a second electronic format comprises formatting to XML.
12. The computer-implemented method of claim 10, wherein each of the assigned object types are created from the object’s own associated data.
13. The computer-implemented method of claim 10, wherein the converting step comprises appending attributes derived from the engineering data to the associated object types.
14. The computer-implemented method of claim 10, wherein additional objects meeting the scanned entity criteria are located simultaneously while previously located objects meeting the scanned entity criteria are transported.
15. A computer-implemented method for utilizing engineering data from a computer-aided design (CAD) software component to generate technically accurate 3D models in connection with a 3D-modeling software component of a computer system, the computer-implemented method comprising:
receiving engineering data in a first electronic format from the CAD software component, wherein the engineering data includes a triangulated irregular network (TIN) model that defines a plurality of triangle objects which form a three-dimensional surface of a meshed object;
conducting a first scan of the engineering data for vertices of each of the plurality of triangle objects defined by the TIN model;
storing the vertices in a hash table, wherein each vertex is indexed in the hash table by a unique value;
generating a first transfer set comprising a command header and a count of vertices and faces of the triangle objects in a second electronic format;
transporting the first transfer set to a receiving program to interface with the 3D-modeling software component;
generating a second transfer set comprising a vertex array of vertex indexes based on the vertices stored in the hash table;
transporting the second transfer set to the 3D-modeling software component;
retrieving the vertex indexes from the vertex array for each of the plurality of triangle objects;
conducting a second scan of the engineering data to match a particular triangle object with corresponding vertex hash table indices, wherein data associated with the first scan is transported while the second scan is still in progress;
generating a third transfer set comprising face information of the plurality of triangle objects based on the second scan;
transporting the third transfer set to the 3D-modeling software component; and
generating a 3D model of the meshed object from the first, second, and third transfer sets transported to the 3D-modeling software component via a graphical user interface of the computer system.
16. The computer-implemented method of claim 15, wherein some of the plurality of triangle objects reference the same vertex.
17. The computer-implemented method of claim 15, wherein some of the plurality of triangle objects are reduced to a single hash table entry in the vertex array.
18. The computer-implemented method of claim 15, wherein the vertex array comprises an index of each of the vertices in the vertex array, and an associated vertex hash table index is matched to each of the plurality of triangle objects.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. An apparatus comprising:
a multi-chip socket comprising:
a first cavity having a first support surface to support a first component including a first chip, the first support surface arranged to contact and support the first chip, and the first support surface being at a first height with respect to a reference plane;
a second cavity electrically coupled to the first cavity and having a second support surface to support a second component including a second chip, the second support surface arranged to contact and support the second chip, and the second support surface being at a second, different height with respect to the reference plane;
a first thermal interface to thermally contact a top surface of the first component;
a second thermal interface to thermally contact a top surface of the second component; and
a heat extraction device arranged to thermally connect to a top surface of the first thermal interface and a top surface of the second thermal interface, the top surfaces of the first thermal interface and the second thermal interface being coplanar.
2. The apparatus of claim 1, wherein the first chip includes a first integrated circuit (IC) chip, and the second chip includes a second IC chip.
3. The apparatus of claim 1, wherein the first height is a height of the first support surface above the reference plane, and the second height is a height of the second support surface above the reference plane.
4. The apparatus of claim 3, wherein the reference plane corresponds to a surface of a substrate on which the multi-chip socket is to be mounted.
5. The apparatus of claim 1, wherein the first height defines a first depth of the first cavity, and the second height defines a second, different depth of the second cavity.
6. The apparatus of claim 1, wherein the first thermal interface has a first thickness, and the second thermal interface has a second, different thickness, wherein the first thickness and the second thickness are provided such that the top surface of the first thermal interface and the top surface of the second thermal interface are coplanar.
7. The apparatus of claim 1, wherein the first height and the second height are provided such that the top surface of the first thermal interface and the top surface of the second thermal interface are coplanar.
8. A system, comprising:
a multi-chip socket including a first cavity and a second cavity;
a first component including a first integrated circuit (IC) chip disposed within the first cavity, wherein a first support surface of the first cavity is in a first plane, and the first support surface is in contact with and supports the first IC chip;
a second component including a second IC chip communicatively coupled to the first component and disposed within the second cavity, wherein a second support surface of the second cavity is in a second plane that is different than the first plane, and the second support surface is in contact with and supports the second IC chip;
a first thermal interface in contact with a top surface of the first component;
a second thermal interface in contact with a top surface of the second component; and
a single heat extraction device thermally connected to a top surface of the first thermal interface and a top surface of the second thermal interface, wherein the top surface of the first thermal interface and the top surface of the second thermal interface are coplanar.
9. The system of claim 8, wherein the first IC chip is a processor and the second IC chip is a memory device.
10. The system of claim 8, wherein the first IC chip is an application specific integrated circuit (ASIC) and the second IC chip is an electricaloptical (EO) engine.
11. The system of claim 8, further comprising a printed circuit board on which the multi-chip socket is disposed, wherein the first plane is at a first height above a surface of the printed circuit board, and the second plane is at a second, different height above the surface of the printed circuit board.
12. The system of claim 11, wherein the first height defines a first depth of the first cavity, and the second height defines a second, different depth of the second cavity.
13. The system of claim 8, wherein the first thermal interface has a first thickness, and the second thermal interface has a second, different thickness, wherein the first thickness and the second thickness are provided such that the top surface of the first thermal interface and the top surface of the second thermal interface are coplanar.
14. The system of claim 11, wherein the first height and the second height are provided such that the top surface of the first thermal interface and the top surface of the second thermal interface are coplanar.
15. A method comprising:
arranging a multi-chip socket on a circuit board, wherein the multi-chip socket comprises:
a first cavity having a first support surface to support a first component including a first chip, the first support surface arranged to contact and support the first chip, and the first support surface being at a first height with respect to a reference plane;
a second cavity having a second support surface to support a second component including a second chip, the second support surface arranged to contact and support the second chip, and the second support surface being at a second, different height with respect to the reference plane;
a first thermal interface in contact with a top surface of the first component;
a second thermal interface in contact with a top surface of the second component; and
a second thermal interface in contact with a top surface of the second component; and
thermally connecting a single heat extraction device to a top surface of the first thermal interface and a top surface of the second thermal interface, the top surfaces of the first thermal interface and the second thermal interface being coplanar.
16. The apparatus of claim 1, wherein the heat extraction device includes a single heat sink contacted to the top surface of the first thermal interface, and the top surface of the second thermal interface.
17. The system of claim 8, wherein the single heat extraction device includes a single heat sink thermally connected to the top surfaces of the first and second thermal interfaces.
18. The method of claim 15, wherein the single heat extraction device includes a single heat sink thermally connected to the top surfaces of the first and second thermal interfaces.
19. The method of claim 15, wherein the first thermal interface has a first thickness, and the second thermal interface has a second, different thickness, wherein the first thickness and the second thickness are provided such that the top surface of the first thermal interface and the top surface of the second thermal interface are coplanar.