This invention relates generally to a system and method for smoothing three-dimensional images, and more specifically to a system and method for smoothing three-dimensional images for use in the manufacturing of jewelry including rings.
It is frequently necessary to convert a two-dimensional drawing into a three-dimensional figure. Such conversion requires aspects of mechanical modeling and artistry. However, many applications currently used to convert a two-dimensional drawing into a three-dimensional figure are static and rigid, providing little or no room for artistry. This can lead to unrealistic three-dimensional models. Further problems arise when the three-dimensional models are projected onto non-planar surfaces.
The present invention relates to a system and method for smoothing figures. More specifically, the invention relates to a method and software implementing the method for advanced geometric modeling techniques to smooth figures.
The invention converts two-dimensional artwork into three-dimensional models while allowing the user/artist freedom in interpreting the artwork. In particular, the present invention supports both artistic and mechanical modeling techniques.
The method begins with importing data relating to the image. Segments of the image are chained into contiguous curves. The segments to be chained may be line segments. The contiguous curves together may form loops. Subsets of closed loops are split and created where surfaces of the image are to be created. These surfaces form closed loops may be referred to as contoured areas. Stated otherwise, segments of the image are connected to form loops and the closed loops are contoured to create contours. The closed loops are contoured to create contours. The geometries created are projected onto a surface as an image. In some embodiments, the geometries that have been contoured may be projected onto non-planar surfaces. Finally, the image is smoothed. This process, or individual steps therein, may be repeated as desired.
While multiple embodiments are disclosed, still other embodiments of the present invention will become apparent to those skilled in the art from the following detailed description. As will be apparent, the invention is capable of modifications in various obvious aspects, all without departing from the spirit and scope of the present invention. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not restrictive.
The present invention relates to a system and method for smoothing figures. More specifically, the invention relates to a method and associated software for advanced geometric modeling techniques to smooth figures for use in manufacturing jewelry.
The invention converts two-dimensional artwork into three-dimensional models while allowing the user/artist freedom in interpreting the artwork. In particular, the present invention supports both artistic and mechanical modeling techniques. Mechanical modeling techniques for converting a two-dimensional image to a three-dimensional model are typically static and rigid. The exact dimensions of features of a part are carefully calculated and may not be easily changeable. It is desirable that three-dimensional modeling techniques be both dynamic and flexible.
CAD artists generally focus on how a geometric object looks relative to the existing geometry. Transformations on geometric entities typically need to be fast; tens of translations and other transformations being performed per second on a large set of objects. It is desirable that three-dimensional modeling techniques display real time operations on geometric entities quickly. Stated otherwise, it is desirable that the results of modifications to surfaces and curves be displayed in real time. In that manner, the artist or user works on the relative positioning of a three-dimensional object in a part rather than on the exact positioning of the object.
In the past, multiple and various CAD/CAM packages have been used to generate three-dimensional artwork. In one embodiment, the present invention provides a unified CAD/CAM environment that is cross-functional and flexible.
Method
The method begins with importing data relating to the image, shown at block 10. Segments of the image are chained into contiguous curves at block 12. The segments to be chained may be line segments. The contiguous curves together may form loops. Subsets of closed loops are split and created where surfaces of the image are to be created, shown at block 14. These surfaces form closed loops may be referred to as contoured areas. Stated otherwise, segments of the image are connected to form loops and the closed loops are contoured to create contours. The closed loops are contoured to create contours at block 16. The geometries created are projected onto a surface as an image, shown at block 18. In some embodiments, the geometries that have been contoured may be projected onto non-planar surfaces. Finally, the image is smoothed at block 20. This process, or individual steps therein, may be repeated as desired. As shown in
The data imported relating to the image at block 10 may be a set of line segments and curves that together form an image. The image may be of any subject, for example, a lion's face, a football player, a mascot, or an architectural image. While the line segments and curves may be touching one another, they are typically not connected. In one embodiment, the data imported may be in dxf format from Corel draw in the UG environment. Alternately, the imported data may be IGES, Rapid Prototype or any other suitable format.
The segments and curves of the image imported are connected at block 12 to form contiguous curves. At block 14, the continguous curves are split and subsets of closed loops are created. This may be thought of as curve chaining. In a specific embodiment, curve chaining is done using a function called “Join.” To connect the segments and curves, the segments and curves to be joined are selected. Each segment is looped through to find matching end points and chains are constructed. This is typically done using a function of the computer program. The chains formed using the matching endpoints are loops—generally closed loops.
Data imported at block 10 is represented in lines and curves. In one embodiment, a program is provided that converts each curve to a local NonUniform Rational B-Spline (NURBS) format. Thus, the program converts the geometries imported at block 10 into NURBS geometries. The program then generates a union between the collection of segments.
The step of connecting segments may be performed multiple times to reduce the number of curves used.
Optionally, curve offsets may be created with fillets on a subset of loops, as shown at block 22 of
The process of fillet insertion is illustrated at
After a series of loops are formed, the loops are contoured at block 16 of
Contouring involves dynamic modeling of a three-dimensional shape.
The parameters that control a sphere are radius, center-x, center-y and center-z.
It may be desirable to modify or change the parameters, for example, for the amount of rotation for each shape. The parameters may be modified at block 54. As shown in
Returning to
Optionally, text may be added to the image, shown at block 24 of
If desired, or as called for by particular images, the contours may be triangulated, shown at block 26 of
Returning to
The geometries that have been contoured are projected onto a surface, shown at block 18 of
Smoothing of the image is performed at block 20 of
Additional techniques may be used for the creation of organic soft-features. For example, in an image having walls transitioning from an upper contour to a lower contour, a slight slant can be noted on these walls. One technique involves adding more slant to the walls by specifying an angle at which the walls would be tilted. Any technique permitting recontouring of portions of the mesh by drawing a closed curve around the section of the mesh and redoing the contour locally may be used. In such techniques, the smoothing algorithm operates at a neighborhood of the new recontoured sections of the mesh.
The method may be used for generating an image for engraving on a piece of jewelry, for example a ring. In such usage, a tool path may be generated for the engraving. Thus, as shown at block 30 of
Software
A particular embodiment of software is provided for implementing the method for smoothing images of the present invention. However, any suitable software may be used to implement the method.
In one embodiment, the software, UGOPEN, has base UG functionality which provides basic CAD operations. The software supports NURBS trimmed surfaces and Facetted Model entities as well as provides an integrated CAM environment. A functional graphical user interface (GUI) may be provided to support additional enhancements through the UGOPEN application programming interface (API). Specific functionality may be implemented with UGOPEN/Third Party Libraries/Proprietary code.
A wizard is provided for graphics control. The wizard generates a standard MFC-based dynamic link library (DLL) without any OpenUG functionality. From this layer, a wrapper is called to OpenUG and general purpose geometry libraries In some embodiments, such wrapper may be omitted.
As shown in
In the embodiment shown, five types of libraries are used. These include proprietary source developed in C++, an API written in C++ built on core UGOPEN functions, third party libraries that handle NURBS and triangular data, libraries that use MFC modeless dialog boxes, and libraries that mix UGOPEN with other libraries. The specific libraries provided may vary. All of the libraries generated may be custom to the software for implementing the method for smoothing images. Alternately, in the embodiment here described, third party libraries may be used as available. By utilizing multiple libraries, the code is easy to maintain and functionality may easily be added.
The C++ API Third Party and Proprietary 102, the C++ API UGOPEN 104, and the C++ Mixed API 108 together are accessible vie MFC dialog boxes 114. The MFC dialog boxes 114 may be accessed via a ufusr entry point 116. In one embodiment, the MFC dialog boxes 114 are supported through Visual C++.
In a specific embodiment, the UGOPEN functionality is encapsulated. An API is provided to access UGOPEN functions calls. Thus, modules that call on UGOPEN functionality may be written through the API. The API encapsulates the UGOPEN calls. The software includes classes supporting basic UG Calls. For example, UGSurface, UGCurve, and UGLock. Of course, other classes may be provided.
Graphics operators using the software of the embodiment described are provided with keyboard functionality to speed creation of 3D models. This is done by providing a control class that generically inherits from a not yet defined existing control. Inheriting from existing Windows controls (edit control, spin control, button control, slider control, combobox control, etc.) allows to compactly re-implement the existing Windows control with the functionality to process keyboard events.
In a specific embodiment, curve chaining, as at block 12 of
The software may provide various dialogs for aiding user control. For example, a contour dialog for contouring loops (block 16 of
To create curve offsets, for triangulation of the contours, as in block 16 of
Software, such as UGOPEN, implementing the method for smoothing images provides clean interfaces for the creation and editing of facetted-models. Further, scaling and translation of facetted-models is possible. The triangles belonging to a particular facetted-model may be accessed independently and edited.
Although the present invention has been described with reference to preferred embodiments, persons skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
4561061 | Sakamoto et al. | Dec 1985 | A |
4630309 | Karow | Dec 1986 | A |
4771474 | Takashima et al. | Sep 1988 | A |
4918611 | Shyu et al. | Apr 1990 | A |
4969201 | Takasaki et al. | Nov 1990 | A |
5003498 | Ota et al. | Mar 1991 | A |
5007098 | Kumagai | Apr 1991 | A |
5116174 | Fried et al. | May 1992 | A |
5369736 | Kato et al. | Nov 1994 | A |
5473742 | Polyakov et al. | Dec 1995 | A |
5544291 | Gilley et al. | Aug 1996 | A |
5548698 | Smith et al. | Aug 1996 | A |
5587913 | Abrams et al. | Dec 1996 | A |
5649079 | Holmes | Jul 1997 | A |
5689577 | Arata | Nov 1997 | A |
5790713 | Kamada et al. | Aug 1998 | A |
5850222 | Cone | Dec 1998 | A |
5926388 | Kimbrough et al. | Jul 1999 | A |
6085126 | Mellgren et al. | Jul 2000 | A |
6101280 | Reynolds | Aug 2000 | A |
6124858 | Ge et al. | Sep 2000 | A |
6181839 | Kannon et al. | Jan 2001 | B1 |
6249289 | Arnaud et al. | Jun 2001 | B1 |
6407361 | Williams | Jun 2002 | B1 |
6434277 | Yamada et al. | Aug 2002 | B1 |
6546305 | Hruby | Apr 2003 | B1 |
6600488 | Moreton et al. | Jul 2003 | B1 |
6628279 | Schell et al. | Sep 2003 | B1 |
6763279 | Davis | Jul 2004 | B2 |
6982710 | Salomie | Jan 2006 | B2 |
7091963 | Dresevic et al. | Aug 2006 | B2 |
7236180 | Dresevic et al. | Jun 2007 | B2 |
7747055 | Vining et al. | Jun 2010 | B1 |
20010044668 | Kimbrough et al. | Nov 2001 | A1 |
20020085748 | Baumberg | Jul 2002 | A1 |
20020113865 | Yano et al. | Aug 2002 | A1 |
20020128742 | Zieverink | Sep 2002 | A1 |
20020159638 | Ratner et al. | Oct 2002 | A1 |
20020181802 | Peterson | Dec 2002 | A1 |
20020191863 | Biermann et al. | Dec 2002 | A1 |
20040091143 | Hu | May 2004 | A1 |
20050089237 | Park et al. | Apr 2005 | A1 |
20050147312 | Chen | Jul 2005 | A1 |
20060290695 | Salomie | Dec 2006 | A1 |
Number | Date | Country |
---|---|---|
WO 0057254 | Aug 2000 | WO |
2003-150666 | May 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20060001664 A1 | Jan 2006 | US |
Number | Date | Country | |
---|---|---|---|
60563321 | Apr 2004 | US |