The present disclosure is directed, in general, to computer-aided design, visualization, and manufacturing systems, product lifecycle management (“PLM”) systems, and similar systems, that manage data for products and other items (collectively, “Product Data Management” systems or PDM systems).
PDM systems manage PLM and other data. Improved systems are desirable.
Various disclosed embodiments include methods for product data management and corresponding systems and computer-readable mediums. A method includes receiving a geometric model including a plurality of blends and identifying a blend ribbon that includes at least two of the plurality of blends. Each blend in the blend ribbon is mutually dependent on at least one other blend in the blend ribbon. The method includes selecting a blend ribbon breaker corresponding to the blend ribbon and designating a plurality of blends in the blend ribbon as reblendable blends, based on the blend ribbon breaker. The method includes reblending the reblendable blends to produce a modified geometric model and storing the modified geometric model.
The foregoing has outlined rather broadly the features and technical advantages of the present disclosure so that those skilled in the art may better understand the detailed description that follows. Additional features and advantages of the disclosure will be described hereinafter that form the subject of the claims. Those skilled in the art will appreciate that they may readily use the conception and the specific embodiment disclosed as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Those skilled in the art will also realize that such equivalent constructions do not depart from the spirit and scope of the disclosure in its broadest form.
Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words or phrases used throughout this patent document: the terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation; the term “or” is inclusive, meaning and/or; the phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term “controller” means any device, system or part thereof that controls at least one operation, whether such a device is implemented in hardware, firmware, software or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, and those of ordinary skill in the art will understand that such definitions apply in many, if not most, instances to prior as well as future uses of such defined words and phrases. While some terms may include a wide variety of embodiments, the appended claims may expressly limit these terms to specific embodiments.
For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, wherein like numbers designate like objects, and in which:
“Re-blend” is an important function within synchronous modeling. When a design face of a geometric model is changed the surrounding blend faces are recomputed (re-blended) to accommodate the change applied to the design face. A blend face is computed based on the two underlying faces that are the two sides of the edge being blended. An “under,” as used herein, refers to each of the curves (in 2D representations) or faces (in 3D representations) that underlie a blend and on which the blend depends. “Unders” refers to more than one ““under”. In order to re-blend, both unders need to exist. As described herein, a blend can itself be an under for another blend.
Mutually dependent blends cannot both be re-blended simultaneously while their unders are moving. Disclosed embodiments include systems and methods for breaking the dependency of mutually-dependent blends to allow more re-blends to occur as the geometric model is edited.
Other peripherals, such as local area network (LAN)/Wide Area Network/Wireless (e.g. WiFi) adapter 112, may also be connected to local system bus 106. Expansion bus interface 114 connects local system bus 106 to input/output (I/O) bus 116. I/O bus 116 is connected to keyboard/mouse adapter 118, disk controller 120, and I/O adapter 122. Disk controller 120 can be connected to a storage 126, 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 I/O bus 116 in the example shown is audio adapter 124, to which speakers (not shown) may be connected for playing sounds. Keyboard/mouse adapter 118 provides 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 in
A data processing system in accordance with an embodiment of the present disclosure includes an operating system employing a graphical user interface. The operating system permits multiple display windows to be presented in the graphical user interface simultaneously, with each display window providing an interface to a different application or to a different instance of the same application. A cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed and/or an event, such as clicking a mouse button, generated to actuate a desired response.
One of various commercial operating systems, such as a version of Microsoft Windows™, a product of Microsoft Corporation located in Redmond, Wash. may be employed if suitably modified. The operating system is modified or created in accordance with the present disclosure as described.
LAN/WAN/Wireless adapter 112 can be connected to a network 130 (not a part of data processing system 100), 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. Data processing system 100 can communicate over network 130 with server system 140, which is also not part of data processing system 100, but can be implemented, for example, as a separate data processing system 100.
Blends depend on their unders, of which there are typically two but may be more. When a geometry changes, a system will seek to identify the blends depending on any affected unders and “re-blend” them once the under geometry has been calculated. Re-blending is therefore essentially an ordered process.
However, “mutually dependent” blends are blends that function as unders of each other, so it is generally not possible to re-blend them both in an ordered way.
Disclosed embodiments include systems and methods for breaking the mutual dependence relationship to allow re-blending to occur in such cases. To do so, disclosed embodiments can identify mutually dependent blend ribbons, select mutually dependent blend ribbon breakers, break the dependencies based on ribbons and breakers, and then cache or store the result. Each of these is described in more detail below.
A “mutually dependent blend ribbon” (or simply “blend ribbon”), as used herein, refers to a set of blends in a geometric model where all blends in the set are mutually dependent, and for each blend in the set, all its mutually dependent unders are also in the set.
The same blend ribbon can therefore be discovered from any blend within the ribbon. This property is important during the propagation phase of a synchronous modeling edit, as the order of propagation is not defined, and can be used in any system to identify the entire blend ribbon from any of its blends.
A “mutually dependent blend ribbon breaker” (or simply “ribbon breaker”) as used herein, refers to an entity chosen to break a blend ribbon. A ribbon breaker is not treated as a blend in the process described herein.
Various methods for selecting ribbon breakers can be implemented. One method for selecting ribbon breakers is to make use of the edit the user has chosen to do on the model. In a synchronous modeling edit, the user typically first selects the entities to act upon and then the action to take. For example, the user can select a face and choose to move it in a given direction. This selection-driven approach allows the system to automatically choose ribbon breakers. The choice depends on the operation; some non-limiting examples of ribbon breakers are directly selected entities being operated on, e.g. faces being rotated, entities that are part of an object being edited, e.g. a cylindrical face with a radius relation, or the unders of any blends being edited.
The system can then expand or filter this list of ribbon breakers by a variety of techniques such as extending the ribbon breakers to include other faces in the model identical to the existing ribbon breakers or filtering out any non-mutually dependent blends from the ribbon breakers.
When the blend ribbons have been identified and ribbon breakers have been selected, the system can break the circular dependencies. The following processes allow the maximum number of reblendable blends to exist within the ribbon in most cases.
For a blend ribbon terminated by one ribbon breaker, the system can alternately designate each entity to be a reblendable blend, and designate the other entities in the blend ribbon as non-reblendable blends, propagating out from the ribbon breaker to the end of the ribbon.
For a blend ribbon terminated by two ribbon breakers, the system alternately designates each entity to be a reblendable blend, and designates the other entities in the blend ribbon as non-reblendable blends, propagating out evenly from each ribbon breaker until the propagation meets in the middle of the ribbon. Where the propagation meets, if a complete step from both sides cannot be completed without designating two adjacent entities as reblendable blends, the system does not mark any faces as reblendable blends within that final step.
Once some alternate entities in the blend ribbon are designated as reblendable blends, and other entities of the blend ribbon are designated as non-reblendable blends, the blend ribbon is considered “broken” and the designated reblendable blends can be reblended as in a conventional re-blend process, while the designated “non-reblendable blends” are not reblended at that time.
The system can store or cache the results of the operations above, so that the blend ribbons, ribbon breakers, and designated reblendable blends and non-reblendable blends can be reused in further blend operations and other operations.
The system receives a geometric model including a plurality of blends, each of the blends having a plurality of unders (705). “Receiving,” as used herein, can include loading from storage, receiving from another device or process, receiving via an interaction with a user, and otherwise. The geometric model can be 2D or 3D.
The system identifies a blend ribbon that includes at least two of the plurality of blends (710), each of the blends in the blend ribbon being mutually dependent on at least one other blend in the blend ribbon. This can be performed automatically by the system without user input or prompting, or can be performed in response to a user input such as a selection of one of the blends, the selection of another feature of the geometric model, or an edit to be made to the geometric model.
The system selects a blend ribbon breaker corresponding to the blend ribbon (715). This can include receiving a selection of an element in the blend ribbon from a user (if not already received) or receiving an edit to the geometric model from a user. The system can select more than one blend ribbon breaker in this step.
The system designates, based on the blend ribbon breaker, a plurality of the blends in the blend ribbon as reblendable blends (720). This step can include designating the remaining blends in the blend ribbon as non-reblendable blends. In various embodiments, no two adjacent blends will both be designated as reblendable blends. This step can include propagating through the blend ribbon from the blend ribbon breaker(s) to designate every other (each alternating) blend in the blend ribbon as a reblendable blend. This step is intended to include implementations where only non-reblendable blends are explicitly designated and the reblendable blends are therefore designated by exclusion.
The system reblends the reblendable blends to produce a modified geometric model (725). In various embodiments, the system does not reblend the non-reblendable blends in this operation. This process can be performed as part of another operation to modify the geometric model and can be performed as a variational edit of the geometric model.
The system stores or displays the modified geometric model (step 730). This can include caching or otherwise storing the blend ribbon, the blend ribbon breaker, the designated reblendable blends, or the designated non-reblendable blends.
Disclosed embodiments can provide more efficient and accurate editing for mutually dependent blends as re-blends as opposed to other methods such as explicit solving using tangency conditions.
In some embodiments, the set of ribbon breakers can include entities that are related to the initial set by other geometric relations, such as symmetry or offset. Ribbon breakers can also be computed for ribbons not directly related to the input of the operation. Various criteria can be used including the relative size of blends and large numbers of geometrically identical entities within a ribbon
In some embodiments, the relative size of neighboring blend faces can be used to differentiate more “blend like” entities within the ribbon, designating those as “blends” for the purposes of the re-blend operation, and designating other non-adjacent entities as “not blends” for the purposes of the re-blend operation.
Of course, those of skill in the art will recognize that, unless specifically indicated or required by the sequence of operations, certain steps in the processes described above may be omitted, performed concurrently or sequentially, or performed in a different order.
Those skilled in the art will recognize that, for simplicity and clarity, the full structure and operation of all data processing systems suitable for use with the present disclosure is not being depicted or described herein. Instead, only so much of a data processing system as is unique to the present disclosure or necessary for an understanding of the present disclosure is depicted and described. The remainder of the construction and operation of data processing system 100 may conform to any of the various current implementations and practices known in the art.
It is important to note that while the disclosure includes a description in the context of a fully functional system, those skilled in the art will appreciate that at least portions of the mechanism of the present disclosure are capable of being distributed in the form of instructions contained within a machine-usable, computer-usable, or computer-readable medium in any of a variety of forms, and that the present disclosure applies equally regardless of the particular type of instruction or signal bearing medium or storage medium utilized to actually carry out the distribution. Examples of machine usable/readable or computer usable/readable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), 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).
Although an exemplary embodiment of the present disclosure has been described in detail, those skilled in the art will understand that various changes, substitutions, variations, and improvements disclosed herein may be made without departing from the spirit and scope of the disclosure in its broadest form.
None of the description in the present application should be read as implying that any particular element, step, or function is an essential element which must be included in the claim scope: the scope of patented subject matter is defined only by the allowed claims. Moreover, none of these claims are intended to invoke paragraph six of 35 USC §112 unless the exact words “means for” are followed by a participle.