Solid Modeling Solutions: Difference between revisions

Content deleted Content added
Added {{COI}} tag
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5
 
(29 intermediate revisions by 15 users not shown)
Line 1:
{{Short description|American 3D graphics software company}}
{{Multiple issues|
{{adPromotional|date=March 2021}}
{{COI|date=February 2023}}
}}
{{Infobox company
'''Solid Modeling Solutions''' is a company who has an implementation of a mathematical representation of many NURBS ([[Non-uniform rational B-spline]]), 3D geometry, and [[Solid modeling]] technology which emerged in the 1980s and 1990s into a commercial implementation known as SMLib (for solid modeling library).<ref>Potts Steves, Michelle and Frechette, Simon. [https://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 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"] {{webarchive|url=https://archive.today/20130116131424/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 |date=2013-01-16 }}</ref>
| name = Solid Modeling Solutions
 
| industry = [[Software]]
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.
| founded = {{Start date and age|1998}} (early)
 
| defunct = {{Start date and age|2022|05}}
PolyMLib is an object-oriented software toolkit that provides a set of objects and corresponding methods to repair, optimize, review and edit triangle mesh models. It can be used to analyze surface properties, such as smoothness and curvature distribution, as well as to repair and optimize surface meshes.<ref>[http://www.deskeng.com/articles/aaamty.htm "Polygonal Mesh Library for Postprocessing 3D Scan Data"], Desktop Engineering, November 2008</ref>
| fate = Acquired
}}
'''Solid Modeling Solutions''' ('''SMS''') was a software company that specialized in [[3D computer graphics]] geometry software. SMS was acquired by [[Nvidia]] Corporation of Santa Clara, CA in May 2022 and was dissolved as a separate corporate entity.
 
==History==
{{Verification|date=June 2023}}
NURBSThe gotdevelopment of ''[[non-uniform rational B-spline]]'' (NURBS) startedoriginated with seminal work at [[Boeing]] and Structural Dynamics Research Corporation ([[SDRC]]) (Structuralin Dynamicsthe Research1980s Corporation)and 1990s, a leading company that led in mechanical [[computer-aided engineering]] (CAE) in thethose 1980s and '90'syears.<ref>[http://isicad.net/articles.php?article_num=14940 "NURBS and CAD: 30 Years Together"] {{Webarchive|url=https://web.archive.org/web/20121107013247/http://isicad.net/articles.php?article_num=14940 |date=2012-11-07 }}, Ushakov, Dmitry, isicad, December 30, 2011.</ref> Boeing's Theinvolvement history ofin NURBS at Boeing goesdates back to 1979, when Boeingthey began todeveloping stafftheir upown forcomprehensive the[[computer-aided purposedesign]] of(CAD) developingand their[[computer-aided ownmanufacturing]] comprehensive(CAM), termed CAD/CAM, system, TIGER, to support the widediverse varietyneeds of applications needed by their various aircraft and aerospace engineering groups. Three basic decisions were critical to establishing an environment conducive to developing NURBS. The first was Boeing's need to develop theirits own in-house geometry capabilityability. Specifically, Boeing had special, rather sophisticated,complex surface geometry needs, especially for wing design, that couldwas then not be found in any commercially available CAD/CAM system. As a resultThus, the TIGER Geometry Development Group was established in 1979 and has beenreceived stronglystrong supportedsupport for many years. The second decision critical to NURBS development was the removal ofremoving the constraint of upward geometricalgeometric compatibility with the two systems in useused at Boeing at that timethen. One of these systems had evolved asdue a result ofto the iterative process inherent to wing design., while Thethe other was best suited for adding to the constraints imposed by manufacturing, such as cylindrical and planar regions. The third crucial decision was simple but crucialessential: and addedadding the ''R'' to ''NURBS''. Circles were to be represented exactly:precisely, nowith cubic approximations would beapproximation alloweddisallowed.
 
By late 1979, there were 5five or 6 six well-educated mathematicians (PhD'sPhDs from Stanford, Harvard, Washington, and Minnesota). and someSome had many years of software experience, but none of them had any industrial, much less CAD, geometry experience. Those were the days of thean oversupply of math PhDs. The task was to choose the representations for the 11 required curve forms, which included everything from lines and circles to Bé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 wasbecame noticed very quicklyevident that one could solveif the general intersection problem if one could solvebe itsolved for the Bézier/Bézier case, sincethen everythingit could be representedsolved infor Bézierany formcase. atThis is because everything from the lowest level. could be represented in Bézier form. 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 singleone form.
 
With this motivationmotive, the staff startedbegan down the roadwork toward what became NURBS. Consider: theThe 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 Bézier curves. The properties of Bézier curves and uniform B-splines were well known, but the staff had to gain an understanding of non-uniform B-splines and rational Bézier curves and try to integrate the two. It was necessary to convert circles and other conics to rational Bézier curves for the curve/curve intersection. At that time, noneNone of the staff realized the importance of the work andthen, and it 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 justsimply had not yet become a part of standard CAD/CAM applied mathematics. Once there was a reasonably good understanding of rational Bézier and non-uniform splines, they still had to put them together. Up until then, the staff had not written or seen the form.
Once there was a reasonably good understanding of rational Bé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> was used for anything more than a conic Bézier segment.
:
for anything more than a conic Bézier segment. : Searching for a single form, the group worked together, learning about knots, as well as multiple knots, and how nicely Bé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 wethey had a way to present all the required curve forms using a single representation, now known 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 [[Algorithm|algorithms]]. A Reviewreview of this new TIGER curve form was held on 13th 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 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 wereIGES so quickly accepted by IGESNURBS. The first was that IGES was in great need of a way to represent [[Object (computer science)|objects]]. Until Up to that pointthen, 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 peopleSDRC withrepresentatives the best understanding ofunderstood the presentation were the SDRC representativesbest. Evidently, SDRC was also active in defining a single representation for standard CAD curves and was working on a similar definition.
for anything more than a conic Bézier segment. Searching for a single form, the group worked together, learning about knots, multiple knots, and how nicely Bé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 known 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 [[Algorithm|algorithms]]. A Review of this new TIGER curve form was held on 13th February, 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 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.
 
So that's how NURBS started at Boeing. Boehm's B-spline refinement paper from CAD '80 was of primary importance. It enabled the staff to understand non-uniform splines and to appreciate the geometrical nature of the definition so as to use B-splines in solving engineering problems. The first use of the geometrical nature of B-splines was in the curve/curve intersection. The Bezier subdivision process was utilized, and a second use was oura curve offset algorithm, which was based on a polygon offset process that was eventually communicated to and used by SDRC and explained by Tiller and Hanson in their offset paper of 1984. The staff also developed an internal NURBS class taught to about 75 Boeing engineers. The class covered Bezier curves, Bezier to B-spline, and surfaces. The first public presentation of our NURBS work was at a Seattle CASA/SME seminar in March of 1982. The staff had progressed quite far by then. They could take a rather simple NURBS surface definition of an aircraft and slice it with a plane surface to generate an interesting outline of some of the wingwings, body, and engines. The staff were allowed great freedom in pursuing our ideas, and Boeing correctly promoted NURBS, but the task of developing that technology into a useable form was too much for Boeing, which abandoned the TIGER task late in '84.
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 standard CAD curves and was working on a similar definition.
 
For the record, byBy late 1980, the TIGER Geometry Development Group consisted of Robert Blomgren, Richard Fuhr, George Graf, Peter Kochevar, Eugene Lee, Miriam Lucian, and Richard Rice. Robert Blomgren was "lead engineer".
So that's how NURBS started at Boeing. Boehm's B-spline refinement paper from CAD '80 was of primary importance. It enabled the staff to understand non-uniform splines and to appreciate the geometrical nature of the definition so as to use B-splines in solving engineering problems. The first use of the geometrical nature of B-splines was in the curve/curve intersection. The Bezier subdivision process was utilized, and a second use was our curve offset algorithm, which was based on a polygon offset process that was eventually communicated to and used by SDRC and explained by Tiller and Hanson in their offset paper of 1984. The staff also developed an internal NURBS class taught to about 75 Boeing engineers. The class covered Bezier curves, Bezier to B-spline and surfaces. The first public presentation of our NURBS work was at a Seattle CASA/SME seminar in March of 1982. The staff had progressed quite far by then. They could take a rather simple NURBS surface definition of an aircraft and slice it with a plane surface to generate an interesting outline of some of the wing, body and engines. The staff were allowed great freedom in pursuing our ideas and Boeing correctly promoted NURBS, but the task of developing that technology into a useable form was too much for Boeing, which abandoned the TIGER task late in '84.
 
In 1984, Robert M. Blomgren subsequently formedestablished Applied Geometry in 1984 to commercialize the technology. Subsequently, and Applied Geometry was subsequently purchased by [[Alias Systems Corporation]]/[[Silicon Graphics]] purchased Applied Geometry. Robert Blomgren and Jim Presti formed Solid Modeling Solutions (SMS) was formed in early 1998 by Robert Blomgren and Jim Presti. In late 2001, Nlib was purchased from GeomWare, and the alliance with IntegrityWare was terminated in 2004. Enhancements and major new features are added twice-yearly a year.
For the record, by late 1980, the TIGER Geometry Development Group consisted of Robert Blomgren, Richard Fuhr, George Graf, Peter Kochevar, Eugene Lee, Miriam Lucian and Richard Rice. Robert Blomgren was "lead engineer".
 
SMS software is based on years of research and application of NURBS technology. Les Piegl and Wayne Tiller (a partner of Solid Modeling Solutions) wrote the definitive "The NURBS Book" on non-uniform rational B-splines (NURBS), with aids to designing geometry for computer-aided environment applications.<ref>Piegl, Les & Tiller, Wayne. [https://www.amazon.com/NURBS-Book-Monographs-Visual-Communication/dp/3540615458/ref=sr_1_1?ie=UTF8&qid=1351272003&sr=8-1&keywords=the+nurbs+book ''The NURBS Book''] {{Webarchive|url=https://web.archive.org/web/20230220233842/https://www.amazon.com/NURBS-Book-Monographs-Visual-Communication/dp/3540615458/ref=sr_1_1?ie=UTF8&qid=1351272003&sr=8-1&keywords=the+nurbs+book |date=2023-02-20 }}, Springer 1997</ref> The fundamental mathematics is well defined in this book, and the most faithful manifestation in software is implemented in the SMS product line.
Robert M. Blomgren subsequently formed Applied Geometry in 1984 to commercialize the technology, and Applied Geometry was subsequently purchased by [[Alias Systems Corporation]]/[[Silicon Graphics]]. Solid Modeling Solutions (SMS) was formed in early 1998 by Robert Blomgren and Jim Presti. In late 2001, Nlib was purchased from GeomWare, and the alliance with IntegrityWare was terminated in 2004. Enhancements and major new features are added twice-yearly.
 
SMS software is based on years of research and application of NURBS technology. Les Piegl and Wayne Tiller (a partner of Solid Modeling Solutions) wrote the definitive "The NURBS Book" on non-uniform rational B-splines (NURBS) with aids to designing geometry for computer-aided environment applications.<ref>Piegl, Les & Tiller, Wayne. [https://www.amazon.com/NURBS-Book-Monographs-Visual-Communication/dp/3540615458/ref=sr_1_1?ie=UTF8&qid=1351272003&sr=8-1&keywords=the+nurbs+book ''The NURBS Book''], Springer 1997</ref> The fundamental mathematics is well defined in this book, and the most faithful manifestation in software is implemented in the SMS product line.
 
== Philosophy ==
SMS provides [[source code]] to customers in order to enhance and enable their understanding of the underlying technology, provide opportunities for collaboration, improve time to repair, and protect their investment. Product delivery, maintenance, and communication isare provided by web-based mechanisms. SMS has established a unique model of technical organization and an adaptive open-source approach. The subscription-based pricing philosophy provides a stable base of technical expertise, and it is cost-effective for its customers when viewed from the perspective of the total cost of ownership of complex software.<ref>Greco, Joe. [https://web.archive.org/web/20160308234121/https://www.highbeam.com/doc/1G1-61298477.html "Kernel Wars - Episode 1"], CADENCECadence magazine, November 1999</ref>
 
SMS provides source code to customers in order to enhance and enable their understanding of the underlying technology, provide opportunities for collaboration, improve time to repair, and protect their investment. Product delivery, maintenance, and communication is provided by web-based mechanisms. SMS has established a unique model of technical organization and an adaptive open-source approach. The subscription-based pricing philosophy provides a stable base of technical expertise, and it is cost-effective for its customers when viewed from the perspective of total cost of ownership of complex software.<ref>Greco, Joe. [https://web.archive.org/web/20160308234121/https://www.highbeam.com/doc/1G1-61298477.html "Kernel Wars - Episode 1"], CADENCE magazine, November 1999</ref>
 
==SMS architecture==
SMLib - fully functional non-manifold topological structure and solid modeling functions.
solid modeling functionality.
 
TSNLib - analyze NURBS based trimmed surface representations.
 
GSNLib - based on NLib with curve/curve and surface/surface intersection abilities.
intersection capabilities.
 
NLib - an advanced geometric modeling kernel based on NURBS curves and surfaces.
curves and surfaces.
 
VSLib - deformable modeling using the constrained optimization techniques of the [[calculus of variations]].
techniques of the calculus of variations.
 
PolyMLib - an [[Object-oriented programming|object-oriented]] software toolkit library that provides a set of objects and corresponding methods to repair, optimize, review, and edit triangle mesh models.
provides a set of objects and corresponding methods
to repair, optimize, review and edit triangle mesh
models.
 
data translators - NURBS-based geometry translator libraries, with interfaces for the SMLib, TSNLib, GSNLib, NLib, and SDLib family of products, including IGES, STEP, VDAFS, SAT, and OpenNURBS abilities.
with interfaces for the SMLib, TSNLib, GSNLib,
NLib, and SDLib family of products, including
IGES, STEP, VDAFS, SAT, and OpenNURBS
capabilities.
 
== Functionality ==
 
Complete descriptions of the SMS product line can be found at the [http://www.smlib.com/products.html SMS Product Page]
 
==See also==
*[[Non-uniform rational B-spline]] (NURBS)
*[[Solid modeling]]
*[[Comparison of computer-aided design software]]
 
==References==
{{reflistReflist}}
 
{{CAD software}}
 
[[Category:Graphics software]]