Data processing system with construction geometry

A CAD system, method, and computer readable medium. A method for modeling a topological structure includes receiving a definition of a topological structure. The method also includes receiving a definition of a construction element and receiving a geometrical relationship between the construction element and an element of the topological structure. The method further includes receiving a change to the topological structure and, in response to the change, changing the first construction element according to the geometrical relationship.

TECHNICAL FIELD

The present disclosure is directed, in general, to systems and methods for use in computer-aided design, manufacturing, using, modeling, and visualization (individually and collectively, “CAD” and “CAD systems”) and in product lifecycle management (“PLM”) and other systems.

BACKGROUND OF THE DISCLOSURE

Many manufactured products are first designed and modeled in CAD systems, and PLM systems are used by manufacturers, retailers, customers, and other users to manage the design, use, maintenance, and disposal of various products. Improved systems are desirable.

SUMMARY OF THE DISCLOSURE

Various embodiments include a data processing system, method, and computer readable medium. A method for modeling a topological structure includes receiving a definition of a topological structure. The method also includes receiving a definition of a construction element and receiving a geometrical relationship between the construction element and an element of the topological structure. The method further includes receiving a change to the topological structure and, in response to the change, changing the first construction element according to the geometrical relationship.

DETAILED DESCRIPTION

FIG. 1depicts a block diagram of a data processing system100in which an embodiment can be implemented, for example as a CAD or PLM system configured to perform processes as described herein. The data processing system100includes a processor102connected to a level two cache/bridge104, which is connected in turn to a local system bus106. The local system bus106may be, for example, a peripheral component interconnect (PCI) architecture bus. Also connected to the local system bus106in the depicted example are a main memory108and a graphics adapter110. The graphics adapter110may be connected to a display111.

Other peripherals, such as a local area network (LAN)/Wide Area Network/Wireless (e.g. WiFi) adapter112, may also be connected to the local system bus106. An expansion bus interface114connects the local system bus106to an input/output (I/O) bus116. The I/O bus116is connected to a keyboard/mouse adapter118, a disk controller120, and an I/O adapter122. The disk controller120can be connected to a storage126, which can be any suitable machine usable or machine readable storage medium, including but not limited to nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), magnetic tape storage, and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs), and other known optical, electrical, or magnetic storage devices.

Also connected to the I/O bus116in the example shown is an audio adapter124, to which speakers (not shown) may be connected for playing sounds. The keyboard/mouse adapter118provides a connection for a pointing device (not shown), such as a mouse, trackball, trackpointer, etc.

Those of ordinary skill in the art will appreciate that the hardware depicted inFIG. 1may vary for particular implementations. For example, other peripheral devices, such as an optical disk drive and the like, also may be used in addition or in place of the hardware depicted. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.

The LAN/WAN/Wireless adapter112can be connected to a network130(not a part of data processing system100), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet. The data processing system100can communicate over the network130with a server system140, which is also not part of the data processing system100, but can be implemented, for example, as a separate data processing system100.

The data processing system100may be modified to operate as a CAD or PLM system and configured to perform processes as described herein. Such CAD and PLM systems provide modeling of topological structures such as the rectangular body200depicted inFIG. 2. The rectangular body200may be modeled as a solid or as a body made of sheet faces.

The body200is referred to as a topological structure because, as faces of the body200are moved, bent or stretched, the connectivity of the faces and edges of the body200remain invariant. For example, a top face204is connected by edges at its boundary to a front face202, a right side face206, and a back face and a left side face (neither visible inFIG. 2). If the face204is moved in the Z direction, edges208,210and212(as well as an unseen edge between the back and left side faces) will be lengthened or shortened to maintain invariant the topology of the body200. Similarly, if the face204is moved in the X and/or Y direction, angles that the edges208,210and212make with the bottom edges of the faces202and206may change, and the faces202and206may change into parallelograms, again to maintain invariant the topology of the body200.

CAD elements include faces, edges and lines. In a topological structure, the topological invariants are automatically provided and maintained as invariant by the data processing system100. Such topological invariants cannot be overridden to produce a topologically invalid body. Instead, changes to a topological body that would produce a topologically invalid body cause the data processing system100to generate a new topological body with a new set of topological invariants.

FIG. 3depicts a topological structure300having a more complex shape. The body300includes faces302,304,306,308,310and312, as well as two unseen back sides and two unseen bottom sides, which collectively may be referred to as the main body301of the structure300. When variational edits (such as moving, bending and/or stretching) are performed on the main body301, the data processing system100will maintain the topological validity of the main body301.

However, the structure300includes additional construction elements according to the disclosure. Construction faces314and316are added to the structure300, with geometrical, rather than topological, relationships to elements of the main body301. The construction face314includes, at its boundary, construction edges328,318,320and330. The construction face316includes, at its boundary, construction edges322,324,326and330. Construction faces314and316have a topological relationship to each other, which is embodied in the construction edge330.

The following geometrical relationships are defined for the construction faces314and316:The surfaces of the construction face314and the main body face312have a coincidence relationship; the two surfaces are coincident.A laminar construction edge318is defined by an intersection of the construction face314with the surface of the main body face302.Laminar construction edges320and322are defined by intersections of construction faces314and316, respectively, with a +10 unit offset of the surface of the main body face304.A laminar construction edge324is defined by the intersection of construction face316with a −10 unit offset of the main body face306.Laminar construction edges326and328are defined by the intersection of construction faces316and314with the surface of main body face308.

These geometrical relationships are maintained under variational edits to the main body301.If the main body face302is moved in a +Y direction, the construction face314extends its boundary and the edge318remains “on” the main body face302.If the main body face312is offset in a −X direction, the construction face314is offset to remain coincident with the main body face312, and the topological relationship between the construction faces314and316causes the construction edge330to remain incident to the construction faces314and316.If the radius of the blend face316is increased: the construction edge324is retrimmed with the construction face316and the specified offset of the main body face306, the construction edge330maintains incidence with the construction faces316and314, the construction edges322and326are retrimmed to meet the construction edges324and330, and the construction face314may move to maintain a tangential relationship with the construction face316If the construction face314is rotated, the rotation is performed in a way that maintains the coincidence relation between construction face314and the surface of the main body face312, the construction face316rotates to maintain the tangent relation between the construction faces316and314, the construction edge330is trimmed along with the construction faces316and314, and the construction edges318-328are retrimmed with their associated construction faces' surfaces.If the main body face308is moved, the construction edges326and328are retrimmed accordingly.

FIG. 4illustrates an example of a use of construction elements according to the disclosure.FIG. 4presents a side view of a topological main body402is defined, which includes faces404,406,408,410and412, which appear as lines inFIG. 4. If, for example, the face408is moved downward, and the faces410and406are extended to maintain the topological validity of the main body402. A construction face414(vertical to the page and appearing as a line inFIG. 4) is defined as parallel to and at a specified −Y offset from the face410.

The face412is defined as a blend face having a specified radius and extending from a boundary edge416of the face404to a line418on the construction face414. The boundary edge420of the face410is defined as the intersection of the faces410and412. If the construction face414is moved relative to the face410, the line418moves with it and the boundary edge420and the face410are retrimmed accordingly. If changes are made to the width of the face404, the position of the line418on the construction face414, or the radius of the face412, the face412and the boundary edge416are retrimmed to maintain the topological validity of the main body402.

Relationships between construction elements and main body elements are referred to as geometrical because they represent spatial relations between points, lines, and surfaces. Such geometrical relationships may also be referred to as pseudo-topological, because the relationships are kept synchronized as variational changes are made to elements of the main body. Specified topological relationships may be created by a user between the construction faces, but such relationships are not created automatically by the data processing system100. Furthermore, construction elements are not fused into or become a formal part of the main body topology.

As part of the management of construction topology, the data processing system100is modified to avoid a build-up of unused construction elements that are not connected to main body elements. To this end, a system of references to the construction elements is maintained and a construction element is removed when no such reference to it exists. Such absence of reference may occur, for example, when a main body is modified in a way that removes all main body elements with which a construction element has geometrical relationships.

Adding a persistent coincidence relationship between corresponding construction and main body elements allows the data processing system100to keep them geometrically identical and correctly update anything that depends on either element, allowing the data processing system100to maintain synchronisation. Adding control for a laminar edge that exist in either the construction or main body faces by providing association to another intersection surface allows the laminar edge to be controlled in a flexible way and help maintain reasonable form through subsequent operations. The intersection surface, itself, may be defined in any procedural or variational way and so need not be a direct surface in the model. For example, it may be an offset of a surface in a model face.

The data processing system100may display construction elements to the end user in a way that graphically differentiates them, for information or for selection and manipulation. Operations on main body elements may cause associated construction elements to update accordingly and operations on construction elements may cause associated main body elements and other construction elements to update accordingly. Such updates are performed according to the geometrical relationships established by the user between the construction and main body elements and the geometrical and topological relationships established by the user between construction elements. Operations that result in updates to other elements include, but are not limited to: selection, move, rotate, transform, replace, deform, taper, offset, dimension edit, pattern edit, and shell edit.

FIGS. 5A-5Ddepict a method according to the disclosure. In step505, the data processing system100receives a definition of a topological structure. The definition of the topological structure may include definitions of one or more structure elements of the topological structure. In step510, the data processing system100receives a definition of a first construction element. In step515, the data processing system100receives a first geometrical relationship between the first construction element and one of the one or more structure elements of the topological structure.

After step515, the data processing system100may return to step505to redefine a first of the plurality of structure elements, where the redefinition refers to a second of the plurality of structure elements and the first construction element. In other cases, after step515, the data processing system100may return to step510to receive a definition of a second construction element, followed by, in step515, receiving a geometrical relationship between the second construction element and the first construction element (or an element of the topological structure). In still other cases, after step515, the data processing system100may return to step510to redefine the first construction element, or to step515, to redefine the geometrical relationship between the first construction element and the one of the structure elements of the topological structure. (or to define a geometrical relationship between the first construction element and another construction element).

Where the first or second construction element is a construction face, the associated geometrical relationship may include a coincidence relationship between the construction face and a face of the topological structure. Other geometrical relationships that may be established between construction faces and topological structure faces include offset, symmetry, concentric, tangent and other appropriate relationships.

Where the first or second construction element is a construction edge, the definition of the first construction element may include an intersection between a construction face and a face of the topological structure. Other geometrical relationships that may be established between construction edges and topological structure faces include offset and other appropriate relationships.

After step515, the data processing system100may proceed to step530(FIG. 5B), step545(FIG. 5C), or step555(FIG. 5D). Upon completion of those processes, the process returns to step520, where the data processing system100stores the topological structure and construction element(s). In step525, the data processing system100displays the topological structure and construction element(s).

In step530(FIG. 5B), the data processing system100receives a change to the topological structure. In step535, if the first geometrical relationship so provides, in response to the change, the data processor system100changes the first construction element according to the first geometrical relationship. In step540, if a second construction element exists having a geometrical relationship with the first construction element and if the second geometrical relationship so provides, the data processor system100changes the second construction element according to the second geometrical relationship, in response to the change to the first construction element in step535.

After step540, the data processor system100proceeds to node C. From node C, the data processor system100may proceed to step505to receive a definition of an additional topological structure or a modification to the definition of the topological structure previously received in step505. Alternatively, from node C the data processor system100may proceed to step510or step520, to receive a modification to the definition or geometrical relationship of a previously received construction element, or to receive a definition of yet another construction element and associated geometrical relationship. As yet another alternative, from node C the data processing system may proceed to step530(FIG. 5A), step545(FIG. 5B), or step555(FIG. 5C).

In step545(FIG. 5B), the data processing system100receives a change to the first (or other) construction element. In step550, if the associated geometrical relationship so provides, in response to the change, the data processing system100changes the topological structure according to the geometrical relationship. After step550, the data processing system100returns to node C.

In step505the definition of the topological structure may have been modified to redefine a first of the plurality of structure elements, referring to a second of the plurality of structure elements and the first (or other) construction element. In such circumstances, in step555(FIG. 5C), the data processing system100may receive a change to the second structure element or the first (or other) construction element. In response to the change, the data processing system100may change the first structure element according to the received change.

According to various embodiments, one or more of the processes or steps described in relation toFIG. 5may be performed alternately, concurrently, repeatedly, or in a different order, unless otherwise specifically described or claimed. “Receiving,” as used herein, can include loading from storage, receiving from another data processing system such as over a network, receiving via an interaction with a user, a combination of these, or otherwise, as recognized by those of skill in the art.