'''Solid Modeling Solutions''' is a company who has an implementation of a mathematical representation of NURBS ([[Non-uniform rational B-spline]]), 3D geometry, and [[Solid modeling]] technology which emerged in the 1980's1980s and 1990's into a commercial implementation known as SMLib (for solid modeling library).<ref>Potts Steves, Michelle and Frechette, Simon. [http://www.nist.gov/manuscript-publication-search.cfm?pub_id=822064 "Viewing Technologies for CAD Models"], NIST, February 2003.</ref> This article will provide the background and history of this implementation into a commercial product line from [http://www.smlib.com Solid Modeling Solutions]™ (SMS). SMS is an independent supplier of source code for a powerful suite of 3D geometry kernels. <ref> Rowe, Jeffrey. [http://www.cadalyst.com/design-visualization/siggraph-evolves-along-with-technology-11232 "SIGGRAPH Evolves Along With Technology"], Cadalyst, August, 21, 2008.</ref> SMS provides advanced NURBS-based geometry libraries, SMLib™, TSNLib™, GSNLib™, NLib™, SDLib™, VSLib™, and PolyMLib™, that encompass extensive definition and manipulation of NURBS curves and surfaces with the latest fully functional non-manifold topology.<ref>[http://worldcadaccess.typepad.com/blog/2011/12/what-solid-modeling-solutions-plans-for-2012.html "What Solid Modeling Solutions Plans for 2012"], WorldCAD Access, December 20, 2011</ref><ref>Choi, J., Cho,M., Choi, J., Roh, H. [http://lib.hpu.edu.cn/comp_meeting/%CA%C0%BD%E7%B5%DA%C6%DF%BD%EC%BC%C6%CB%E3%C1%A6%D1%A7%B4%F3%BB%E1/data/papers/1727.html "THE INTEGRATION OF SHELL FINITE ELEMENT ANALYSIS WITH GEOMETRIC MODELING"]</ref>
VSLib™ provides deformable modeling as part of a library using the constrained optimization techniques of the calculus of variations. The library supports several very different geometric operations.
==History==
NURBS got started with seminal work at [[Boeing]] and [[SDRC]] (Structural Dynamics Research Corporation), a leading company in mechanical computer-aided engineering in the 1980's1980s and '90's.<ref>[http://isicad.net/articles.php?article_num=14940 "NURBS and CAD: 30 Years Together"], Ushakov, Dmitry, isicad, December 30, 2011.</ref> The history of NURBS at Boeing goes back to 1979 when Boeing began to staff up for the purpose of developing their own comprehensive CAD/CAM system, TIGER, to support the wide variety of applications needed by their various aircraft and aerospace engineering groups. Three basic decisions were critical to establishing an environment conducive to the development of NURBS. The first was Boeing’s need to develop their own in-house geometry capability. Boeing had special, rather sophisticated, surface geometry needs, especially for wing design, that could not be found in any commercially available CAD/CAM system. As a result, the TIGER Geometry Development Group was established in 1979 and strongly supported for many years. The second decision critical to NURBS development was the removal of the constraint of upward geometrical compatibility with the two systems in use at Boeing at that time. One of these systems had evolved as a result of the iterative process inherent to wing design. The other was best suited for adding the constraints imposed by manufacturing such as cylindrical and planar regions. The third decision was simple but crucial and added the ‘R’ to ‘NURBS’. Circles were to be represented exactly: no cubic approximations would be allowed.
By late 1979 there were 5 or 6 well educated mathematicians (PhD’s from Stanford, Harvard, Washington and Minnesota) and some had many years of software experience, but none of had any industrial, much less CAD, geometry experience. Those were the days of the oversupply of math PhD’s. The task was to choose the representations for the 11 required curve forms, which included everything from lines and circles to BezierBézier and B-spline curves.
By early 1980, the staff were busy choosing curve representations and developing the geometry algorithms for TIGER. One of the major tasks was curve/curve intersection. It was noticed very quickly that one could solve the general intersection problem if one could solve it for the BezierBézier/BezierBézier case, since everything could be represented in BezierBézier form at the lowest level. It was soon realized that the geometry development task would be substantially simplified if a way could be found to represent all of the curves using a single form.
With this motivation the staff started down the road toward what became NURBS. Consider: the design of a wing demands free-form, C2 continuous, cubic splines to satisfy the needs of aerodynamic analysis, yet the circle and cylinders of manufacturing require at least rational BezierBézier curves. The properties of BezierBézier curves and uniform B-splines were well known, but the staff had to gain an understanding of non-uniform B-splines and rational BezierBézier curves and try to integrate the two. It was necessary to convert circles and other conics to rational BezierBézier curves for the curve/curve intersection. At that time, none of the staff realized the importance of the work and was considered “too trivial” and “nothing new”. The transition from uniform to non-uniform B-splines was rather straight forward, since the mathematical foundation had been available in the literature for many years. It just had not yet become a part of standard CAD/CAM applied mathematics.
Once there was a reasonably good understanding of rational BezierBézier and non-uniform splines, we still had to put them together. Up to this point, the staff had not written or seen the form
: <math> P(t) = \frac{\sum_i w_i P_i b_i (t)}{ \sum_i w_i b_i (t) } </math>
<!-- : P(t) = ∑iwiPibi(t) / ∑iwibi(t) -->
for anything more than a conic BezierBézier segment. Searching for a single form, the group worked together, learning about knots, multiple knots and how nicely BezierBézier segments, especially the conics, could be imbedded into a B-spline curve with multiple knots. Looking back, it seemed so simple: It is easy to verify that the equation for P(t) is valid for the B-spline basis functions as well as for Bernstein basis functions. By the end of 1980 the staff knew we had a way to present all the required curve forms using a single representation, now know as the NURBS form. But this new representation could easily have died at this point. The staff were already 12 to 18 months down a development path. They had completed a large number of algorithms using the old curve forms. They now had to convince managers and the other technical groups, such as the database and graphics groups, that they should be allowed to start over using a single representation for all curves. The NURBS surface form did not present a problem since they had not yet developed any surface algorithms. The review of this new TIGER curve form was held on February 13, 1981. The review was successful and the staff were allowed to start over using the new curve form. It was at this time that the NURBS acronym was first used by the other side of the TIGER project, i.e., the TIGER software development groups of Boeing Computer Services. Management was very eager to promote the use of these new curve and surface forms. They had a limited understanding of the mathematics but they were very aware of the need to communicate geometric data between systems. Hence, Boeing very quickly prepared to propose NURBS to the August ’81 [[IGES]] meetings.
There are two reasons why NURBS were so quickly accepted by IGES. The first was that IGES was in great need of a way to represent objects. Up to that point there were, for example, only two surface definitions in IGES and the B-spline form was restricted to cubic splines. The other, surprisingly important, reason for the rapid acceptance was that Boeing, not being a CAD system supplier, was not a threat to any of the major turnkey system vendors. Evidently, IGES easily bogs down when different vendors support their own slightly different representations for the same objects. At this first IGES meeting, it was discovered that the people with the best understanding of the presentation were the SDRC representatives. Evidently SDRC was also active in defining a single representation for the standard CAD curves and was working on a similar definition.
* [http://www.smlib.com Solid Modeling Solutions]
* [http://www.springer.com/computer/image+processing/book/978-3-540-61545-3 ''"The NURBS Book"'']
* *
* [[Category:Graphics software]] ▼
* [[Category:Computer-aided design software]] ▼
▲* [[Category:Graphics software]]
▲* [[Category:Computer-aided design software]]
|