This present disclosure relates to the general field of computer aided technologies (“CAX”) including computer aided design, drafting (“CAD”), engineering (“CAE”) manufacturing (“CAM”) and visualisation systems (individually and collectively “CAD 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 methods and systems are desirable.
Various disclosed embodiments include methods for geometric modelling performed by a data processing system on a geometric model comprising a kernel and associated applications, as well as a method and a data processing system for modelling a product.
In accordance with a first aspect a geometric modelling method performed by a data processing system on a geometric model comprising a kernel and associated applications comprises receiving data for an object to be processed by the kernel; generating a standalone object for a user interface application of the geometric model and storing the standalone object.
The method may further comprise detecting changes to the object to be processed by the kernel; propagating those changes to the stored standalone object to update the standalone object; and storing the updated standalone object. The object to be processed by the kernel may comprise one of a mesh or a polyline.
The method may further comprise receiving an input in a function of the data processing system via the user interface; and, receiving instructions choosing an output format for the function; wherein the output format comprises one of a facetted output or a classic geometry boundary representation output; processing the input in the function; applying the chosen output format to the processed input; and, outputting the processed input in the chosen output format.
The method may further comprise importing legacy mesh file data into the data processing system; creating a facetted mesh file from the imported data and storing the facetted mesh file for further processing.
In accordance with a second aspect, a method of modelling a product comprises deriving mesh data relating to one or more regions of the product and designating the one or more regions as mesh regions, wherein the mesh data comprises a connected collection of facets; deriving a classic geometric representation of one or more regions of the product and designating the one or more regions as classic geometry regions, wherein the classic geometry representation comprises curved surfaces; wherein the mesh data and classic geometry data are distinct from one another; in the data processing system, receiving instructions of a selection of at least one mesh region of the product; in the data processing system, receiving instructions of a selection of at least one classic geometry region of the product; establishing a relationship between the mesh region and the classic geometry region; developing structural body parts or tooling for manufacture based on the established relationship; supplying updated data for one of the mesh regions or classic geometry regions; propagating changes in the data, regardless of data format, based on the derived relationship; and, providing updated structural body parts or tooling for the modelled product.
Different regions of a product may be modelled in different data processing formats and a relationship of the different regions of the product is established, so that updates to one data object may be propagated to another region, regardless of the data format.
The method may further comprise deriving a relationship between an inner surface of the mesh region and an outer surface of the classic geometry region. Mesh data representing an outer surface or appearance can be propagated throughout the structural parts and associated tooling, represented by classic geometry, without any need for format conversion, or delaying the design process until the external appearance has been fixed. The changes in the data for one of the mesh regions or the classic geometry regions may be propagated to another region, regardless of the data format.
The mesh data may be derived from a physical sample of the part or parts. The mesh data may be derived by scanning the physical sample. The method may further comprise storing the mesh data in a store as a collection of facets.
The classic geometry representation may be derived by simulation in the data processing system. The method may further comprise storing the representation of the modelled product. The method may further comprise generating manufacturing instructions for the body parts or tooling. The manufacturing instructions may comprise instructions for additive manufacturing.
In accordance with a third aspect, a data processing system having at least a processor and accessible memory, the data processing system being configured to model a product, may carry out the steps of deriving mesh data relating to one or more regions of the product and designating the one or more regions as mesh regions, wherein the mesh data comprises a connected collection of facets; deriving a classic geometric representation of one or more regions of the product and designating the one or more regions as classic geometry regions wherein the classic geometry representation comprises curved surfaces; wherein the mesh regions and classic geometry regions are distinct from one another; in the data processing system, receiving instructions of a selection of at least one mesh region of the product; in the data processing system, receiving instructions of a selection of at least one classic geometry region of the product; establishing a relationship between the mesh region and the classic geometry region; developing structural body parts or tooling for manufacture based on the established relationship; supplying updated data for the one of the mesh regions, or classic geometry regions; propagating changes to the data, regardless of data format, based on the derived relationship; and, providing updated structural body parts or tooling for the modelled product.
The system wherein the established relationship is between an inner surface of the mesh region and an outer surface of the classic geometry region. The system may further comprise a display configured to output the representation of the modelled region. The system may further comprise a store to store the representation of the modelled region. The system may further comprise a scanner to scan a physical sample of the part or parts and thereby derive the mesh data.
In accordance with a fourth aspect a non-transitory computer-readable medium encoded with executable instructions that, when executed, cause one or more data processing systems to perform a method of modelling a product comprising deriving mesh data relating to one or more regions of the product and designating the one or more regions as mesh regions, wherein the mesh data comprises a connected collection of facets; deriving a geometric representation of one or more regions of the product and designating the one or more regions as classic geometry regions, wherein the classic geometric representation comprises curved surfaces; wherein the mesh regions and classic geometry regions are distinct from one another; in the data processing system, receiving instructions of a selection of at least one mesh region of the product; in the data processing system, receiving instructions of a selection of at least one classic geometry region of the product; establishing a relationship between the mesh region and the classic geometry region; developing structural body parts or tooling for manufacture based on the established relationship; supplying updated data for one of the mesh regions, or classic geometry regions; propagating changes in the data, regardless of data format, based on the derived relationship; and, providing updated structural body parts or tooling for the modelled product.
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 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; 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.
An example of method and data processing system according to the present disclosure will now be described with reference to the accompanying drawings in which:
The embodiments of
An operating system included in the data processing system enables an output from the system to be displayed to the user on display 26 and the user to interact with the system. Examples of operating systems that may be used in a data processing system may include Microsoft Windows™, Linux™, UNIX™, iOS™, and Android™ operating systems.
In addition, it should be appreciated that data processing system 21 may be implemented as in a networked environment, distributed system environment, virtual machines in a virtual machine architecture, and/or cloud environment. For example, the processor 22 and associated components may correspond to a virtual machine executing in a virtual machine environment of one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper-V, Xen, and KVM.
Those of ordinary skill in the art will appreciate that the hardware depicted for the data processing system 21 may vary for particular implementations. For example the data processing system 21 in this example may correspond to a computer, workstation, and/or a server. However, it should be appreciated that alternative embodiments of a data processing system may be configured with corresponding or alternative components such as in the form of a mobile phone, tablet, controller board or any other system that is operative to process data and carry out functionality and features described herein associated with the operation of a data processing system, computer, processor, and/or a controller discussed herein. 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 data processing system 21 may be connected to the network (not a part of data processing system 21), 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 21 can communicate over the network with one or more other data processing systems such as a server (also not part of the data processing system 21). However, an alternative data processing system may correspond to a plurality of data processing systems implemented as part of a distributed system in which processors associated with several data processing systems may be in communication by way of one or more network connections and may collectively perform tasks described as being performed by a single data processing system. Thus, it is to be understood that when referring to a data processing system, such a system may be implemented across several data processing systems organized in a distributed system in communication with each other via a network.
Traditional CAD models are composed of faces, which are sewn together along shared edges. A face is just a region of a larger surface, on which it lies. Many types of surfaces are used. The most common ones are quadric surfaces, for example cylinders and cones, and the most complex are free-form non-uniform rational basis spline (NURBS) surfaces. Most of these surfaces are curved in space, so are sometimes referred to as curved surface or curvy models, for example as shown in
Faceted models are becoming increasingly common. They arise from many different sources, often as a result of some sort of scanning process. As the quality of scanners is improving rapidly, and prices are dropping, so scanning is becoming a much more common practice, for example a faceted model may be obtained from a scan of a design originally made as a physical model in wood, or clay, or wax. This is common because “soft” features of a design, such as the feel of the product to the user, for example the feel of a handle of a tool, or the casing of a mobile phone, or computer mouse, cannot be perceived by the user from a simulation. Additionally, toys or jewellery may be designed by a craftsman, then need to be mass produced by machine. Another source of scans is when scans are made to reverse engineer products, for example to create replacement components to maintain equipment which has outlived the original company that made the component, or where the original engineering drawings have been lost, or where the design is modified in its physical form during testing, for example stamping dies. In future, scanned data may also be used for generation of replacement parts for surgery, such as teeth or bones, which must fit in place and it is desirable to be able to process this data along with classic geometric models for making the associated jigs 3, for example for fitting knee replacements 2 as illustrated in
Conventionally, scanned data in faceted models had to be manipulated by facet specific software, then exported in a non-history based, non parametric format. Even where the scanned data had been imported into a CAD system, such as NX software available from Siemens Product Lifecycle Management Software Inc (Plano, Tex.), as a faceted model, the faceted model was not an integral part of the workflows for part modelling. This is because, if a faceted model was to be used, then a “surfacing” step was required in which point clouds or faceted objects are converted into traditional CAD models with curved surfaces. Rebuilding the faceted model using curved surfaces, for example using a boundary representation model, or analytic geometry, is time consuming and labour-intensive. A temporary analytic geometry may have been created, or else it would have been necessary to wait for the surface models to become available before the surface model could be used within applications such as part modelling. Furthermore, this surfacing step is on the critical path of many typical industry workflows. This means that downstream activities, such as the design of mating parts and tooling, or studies of interior packaging, cannot begin until the “surfacing” step is complete.
The problem is especially severe in situations such as automotive styling 4, as illustrated in
The full conventional process is illustrated graphically in
Improvements to the user interface software have been desired which would speed up the process of converting the scan data to curved surface model. Some systems have special “rapid surfacing” functions that aim to make it easy to convert faceted models to curvy ones. However, even with the best software, the conversion still takes time and effort. Highly convoluted shapes may take days to convert. Rather than follow this path, the applicant has determined that the modelling can be improved by eliminating the conversion to a curved surface model substantially, or altogether. As explained in more detail below, this disclosure provides a method that allows faceted models to be used directly, so the “surfacing” step is removed from the critical path, and significant time savings are achieved, among other benefits. This has the advantage, among other advantages, that the designer is able to model changes to all of the parts of a product, regardless of whether the design data is held in facet form, or as a classic geometric representation. The system and method of this disclosure implements a full-function CAX system in which hybrid models, i.e. mixtures of polygonal meshes and curved surfaces, can participate fully in history or feature-based modelling operations. Conventionally, CAD systems have not allowed the use of hybrid bodies, or even the use of purely faceted bodies, in feature-based modelling operations. Users were unable to use all the available features of their modelling systems for the facet data, as facets are not able to be used in most conventional modelling operations. Although some specialised systems exist that allow modelling with faceted bodies, these systems do not support modern construction and editing techniques using features, history, and associativity.
The modified method can be understood by the fact that an offsetting, or shelling, or thickening operation and detailing is applied directly to the faceted model obtained from scanning. The offset is applied to the thin-walled shell 10 which has been generated from the scanned physical object, in order to make inner walls for the scanned outer wall. This offset is applied to the faceted scanned shape 15, without any conversion of the scanned shape to a surface representation. The faceting on the inner surface 16, seen in
A summary of the steps in a method of the present disclosure is illustrated in
The user interface described in this disclosure comprises history-based modelling functions that allow mixtures of faceted and curved-surface models as their inputs. The system and method described herein enable associative conversion from a classic geometric model, or analytic body, to a facet based model, i.e. from curvy to facet. Previously, conversion from an analytic body to a faceted one was not associative. The faceted body did not remember that it had an analytic body as its parent, so changes could not be propagated from parent to child.
The underlying requirements of a user and a programmer of the software are different. There are two separate elements of any software which is used in computer aided design and engineering. The part of the CAX system which is visible to designers and engineers provides a conceptual view of the model, accessible to the designers via a user interface, whereas each system has a geometry kernel that is accessed through a programming interface to allow changes to its operation to be set up by the CAX programmers.
Within the CAX system user interface, it is important for users to be able to distinguish between different types of objects that might be considered as one by the geometry kernel. Thus, mesh faces, polyline edges, faceted sheet bodies, and faceted solid bodies have been defined to allow the user to determine whether a change is being made to data originally created in facet form, rather than data originally generated as analytic or classic geometric representations, for example in a boundary representation model, which the user interface indicates as faces, edges, sheet bodies and solid bodies as before. In this way, unified modelling functions are able to work in the same way on traditional curvy bodies, faceted bodies, and mixed ones.
The newly defined objects in the user interface allow faceted bodies to be used in associative copying operations. The associative nature of the operations means that a change to one part of the design can be propagated throughout the design, whether the objects are analytic ones, or facet based ones, or a mixture. The main advantage being that delays caused in the past by having to wait until the external surface design had been fixed before completing fastening and tooling steps are removed and a change to the external surface can simply be entered by the user and the other parts updated to cope with it.
Many CAD systems are built on top of a geometry “kernel”. The kernel provides tools for representing geometric models and doing computations on them. However, the kernel is just a programming toolkit used by CAD system developers; it has no user interface, and usually no concepts like features, history, or associativity.
Interactions between degree 1 b-spline and PLINE can be understood from the fact that the user interface stores standalone wire-frame curves separately, outside a kernel of the system. When a new curve type is introduced in the kernel, a corresponding curve type has to be introduced in the user interface. The new curve is not merely a “wrapper” for a kernel curve, but it is an independently implemented object in the user interface. In this particular case, for a new curve type “PLINE” or “polyline” introduced in the kernel, a corresponding object is implemented in the user interface as a b-spline curve of degree 1.
When a b-spline curve of degree 1 is used as an input to a user interface, for example an NX function, such as Extrude, the user now a choice about what type of object to produce as output. The output can be either a faceted object or a traditional, classic geometric object. Specific functions have also been modified so that the user can choose what type of output is wanted. This applies particularly to the Extrude and Revolve functions in NX, and in several other functions that produce bodies from curves.
In the past, import of stereolithography (STL) files has been problematic because when the STL files were imported into the user interface, the faceted body was not able to participate in associative copying operations, as explained above. Incorporating the present method allows a full-function CAX system with history-based modelling capabilities to use faceted models directly. As set forth in PCT patent application no. [to be updated] entitled data processing system and method, our reference no. 2015P14906 WO, filed on the same day as this patent document and hereby incorporated by reference to the extent permitted by law, the CAX system is able to treat meshes as surfaces and PLINE as curves. The CAX system is based on topology with minimal emphasis on individual geometry. The system also modifies its functionality to accept faceted topology.
The history based modeller is able to re-generate the final model depending on the user input, modelling the facets with the help of analytic geometry and modelling the analytic geometry with the help of facets.
An example of a method of a conventional body in white (BIW) development is illustrated in
By contrast, the method and system of the present disclosure are set out in
By providing a CAD system in which both facet based data and analytic data can be handled and revised, the usefulness to the user is improved. The ability to modify the analytic model with faceted details increases the utility of the CAD system. For the example of the automotive industry, the customer can start building the model with the help of the initial scan and start adding details. When the analytic replacement is available, the designer can replace the faceted model with the analytic model and still retain the end product by replaying the history. Selection and modelling of faceted entities (meshes and plines) is enabled in the same way as any other surface and curve type. The principle of associative relationships and propagation of change as set out herein is particularly useful in modelling with a mixture of mesh data and classic geometry data, as well as more generally.
The advantages include significant time savings, as the full range of modelling techniques may be applied early on in customer workflows; increased ability to use standard CAX systems in mesh based workflows, such as medical implant, or topology optimization; and the ability to work with real world scanned models without the need to convert the scanned data to a conventional (analytic) model.
Although the examples have been described with respect to scanned facet data, it is also possible to create faceted objects manually in the system. In many cases, a faceted object can be created just by calling a specific application programming interface (API) function in the kernel. In other cases, the user interface wants an object that is different from the one returned by the kernel. In these cases, the faceted object must be constructed “manually”. In some cases, an analytic object may be constructed and used to generate facets. In other cases, the faceted object must be constructed from first principles, by creating individual facets and piecing these together.
For the specific example of NX, certain operations which previously could only use analytic data are able to use facet based data too. These include wave linking, wave replacement, import from STL, extraction, Boolean, facet cleanup, thicken, shell, extend sheet, offsetting, trimming, splitting topologies, extrusion, imprinting, curve imprinting, curve intersection, curve offsetting, transformations, mirroring, patterning, scale, fit analytic surface, snip, fill hole, decimate, subdivide, smooth, global shaping, merge, draft, deviation, curvature, paint facet body, primitive detection, facet cleanup, shell, measurements, assembly component selection, component replacement, assembly promotion, clearance analysis, component pattern, collision detection (assembly sequencing and move component), assembly cut.
The present disclosure has a number of improvements over conventional methods of dealing with different requirements in product design.
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 21 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 35 USC § 112(f) unless the exact words “means for” are followed by a participle.
This application is a divisional of and claims priority to pending U.S. application Ser. No. 15/757,013, filed Mar. 2, 2018, which application is the US National Stage of International Application No. PCT/CN2015/089075 filed Sep. 7, 2015, claims the benefit thereof. All of the applications are incorporated by reference herein in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 15757013 | Mar 2018 | US |
Child | 17098341 | US |