4 Apr 2013
Ken Versprille, the Inventor of NURBS, Tells about Past, Present, and Future of CAD
3D Modeling, Interoperability, Mathematics vs Software Development, and more
Dr. Ken Versprille is famous for his outstanding contribution to the CAD industry. He has more than 40 years of experience in the application of computer-based solutions to engineering and manufacturing enterprises. He has held senior positions in research and development, and consulting in the CAD/CAM/CAE/CIM fields. In 2005, he received Lifetime Achievement Award from CAD Society, a non-commercial CAD association, for inventing NURBS
- an invaluable contribution to CAD development.
Dr. Versprille will attend COFES Russia event in St. Petersburg on May 30 - June 1, 2013. As a sponsor of this event (organized by Cyon Research), we were lucky to interview Ken Versprille two months before his visit to Russia. Below you can find a brief extraction from our long conversation with this extraordinary mind.
Ken Versprille, 2013
What do you consider as major drawbacks of contemporary 3D modelers? What are the challenges that exist in 3D modeling right now?
In my opinion, the biggest drawback of contemporary 3D modelers today is the fact that they do not pay enough attention to the reality that we live in. Today, design is a multi-application, multi-CAD world and data created using one modeler will at some time need to be moved to a different modeler and be operated upon. The issues that arise are due to many different reasons including the use of different tolerances in calculations, subtle undocumented implications in data formats, and different algorithmic approaches to common geometric calculations. For example, one of the most critical, if not the most critical, computations in a 3D modeler is the calculation of a surface-surface intersection.
Other drawbacks, of course, include performance and accuracy. Accuracy becomes a major issue whenever the results of a geometric calculation on a 3D model are less precise than needed for other downstream algorithms operating on the model. Tolerant modeling approaches are important at the core of a 3D modeler.
Could you provide more details about issues related to surface-surface intersection?
Some modelers define the intersection as a 3-dimensional curve in 3D space; others as 2-dimensional curves in the parametric space of the two surfaces. Moving between definitions becomes problematic. It is very easy for a team of developers to become focused inward on their own software improving details in the mathematics and software code while placing less attention on where and how that software will be used.
The speed at which the surface-surface intersection algorithm runs is often at the root of a modeler’s overall performance. Because of the nature of today’s most popular CAD applications as history-based, these calculations are constantly being re-executed over and over.
What is your opinion: which representation, 3D curve or curve in UV parametric space, is better?
My personal preference is to store intersection curve using parametric space curves. Can I prove that? That is almost impossible, I think. But at least you can easily generate sample points on 3D curve using 2D parametric curve, that is not the case in another representation. I also would mention “mad curves” that could behave themselves like, say, sign functions, with extremely high derivatives. They also could be a problem especially in case of 3D representation of intersection curves.
You mentioned 3D interoperability, performance and tolerance management as most important challenges in 3D modeling. But these things were known from the beginning of CAD. Are there modern challenges that were much less known or even non-existent in previous century?
As for challenges that modelers face today, I would mention two: the need for more local operations, and additional support for point clouds. As we see more emphasis being place on direct modeling techniques in the CAD world, and extending into related applications such as model clean up for CAE analysts, the need for so called local operations is increasing in the modeler. In parallel to that focus, we also see a growth in the need for point cloud data being merged into traditional geometry models. This is an evolving demand being driven by 3D printing applications, the gaming industry and some of its algorithms moving to CAD modeling, and a continued emphasis on aesthetic shapes in all product areas.
Since you mentioned local operations, we would like to know your opinion on direct modeling. Do you think it should be a niche solution for data exchange, conceptual design, etc., or it may become the mainstream design technology? How do you estimate the synchronous technology from Siemens?
I do not think that direct modeling will replace history-based modeling. Anyway, in some cases, like data exchange, it has significant advantages. I think direct modeling functions will be more useful in small companies, not in large companies. Large companies follow a very formal process, and they would like to control every modification in the model. But direct modeling could be very useful for, say, two engineers that would like to collaborate. Direct modeling could be much more attractive if it allows using parameters and constraints, since parametric capability is the thing that customers love in the history-based design.
I actually love what Siemens has done with synchronous technology, especially from a technical standpoint. But they have had difficulty explaining this technology to potential customers.
CPD Associates, 2007
Engineering software is strongly based on NURBS, while artistic 3D modeling products exploit subdivision surfaces. Many companies invest in development of translators between these representations. Another way is T-splines from Autodesk that combines features of NURBS and subdivision surfaces. What do you think about prospects of both these approaches?
It is actually my belief and hope that the technology embedded in engineering and artistic modeling products will merge into a single solution where the representations work together. T-splines are one step in this direction. But I must emphasize that none of these approaches will totally succeed and be sustainable unless geometric modeling software stops forcing its users to be experts in mathematics in order to use the software. It is a geometric developer’s responsibility to not only implement sophisticated mathematical algorithms but to hide that complexity from the calling application and the user. Too often we see programmatic interfaces to geometric modeling operations that require the caller be versed in all the intricacies of the mathematics.
The same question could be applied to Point Cloud. Should we somehow integrate Point cloud as internal geometry representation into CAD modelers, or maybe translators to/from Point Cloud could be enough?
Of course, at least we should get translators between Point Cloud and conventional CAD data. It is the most important thing. But some interesting capabilities could result if Point Clouds were integrated into CAD. Geomagic is one of the companies I look to when thinking about Point Cloud related technologies.
Point Cloud is very intriguing because now this domain is growing very fast in CAD. We may recall Computer Graphics history with respect to this. Computer Graphics was initially a part of CAD, but then it developed much faster as its own technology, and the Computer Graphics market became many times greater than CAD market. Now Computer Graphics is starting to come back, making more and more links with CAD. It could happen with Point Cloud in some sense.
NURBS is an ideal mathematical concept inherited notable geometric properties from Bezier curves and surfaces. However, in nowadays CAD NURBS merely used to represent curves and surfaces internally, while designers and engineers usually deal with such concepts as extrudes, revolves, sweeps, blends, etc. Rhino and few similar products only confirm this general rule. What were the reasons of that situation?
By now it should be fully apparent why I believe this is true - users are not mathematicians. The commercial developers of engineering software are fully aware that their customers are engineers, not mathematicians. Engineers talk about their designs in terms of what we have come to call “features,” such as sweeps, holes, etc. I applaud PTC for realizing this and their groundbreaking creation of a feature-based interface when they first introduced Pro/ENGINEER.
As an inventor of NURBS, you probably had a lot of thoughts about applications. Do you think that now NURBS are used in all possible application areas, or some opportunities still exist?
I still think of NURBS as a tool to describe shape. If an application can profit from that tool then yes, it should use NURBS. However, I do not spend time looking for new problems that NURBS can maybe solve. My focus today is on moving the engineering community broadly forward in its use of modeling and collaboration technology. NURBS is just one small part of that technology.
As you already said, 3D CAD interoperability is the biggest challenge nowadays. What are the major challenges in this area?
3D interoperability is a problem I hear most often from users that they face in their everyday work. It is rare that products are designed and built by one company. Most involve a worldwide supply chain. One cannot assume they will all be using the same CAD application or even the same geometric kernel. Some very large companies have tried to impose uniformity, but in many cases it has been shown they limit themselves and lose the ability to be agile in a rapidly changing market.
The major challenges to accomplishing better interoperability are both technical and business challenges. There are cases where a software vendor purposefully makes it difficult to exchange their product’s data with a competing product. Overcoming that will take time and pressure from their customers. I have already mentioned a number of technical issues that impact interoperability such as accuracy and hidden data format issues. One additional challenge is the fact that most CAD products are “moving targets” in that they are constantly being enhanced and changed with implications on their data structure. An interoperability solution that is perfect today will soon be out of date.
Independent data formats, like STEP, are dedicated to make life of CAD users easier and soften interoperability issues. Do you think that conversion of geometrical and topological data through independent formats is still a serious issue today? Is it possible that one day CAD companies will come to an agreement to make excellent conversion tools fully respecting specifications of the format?
The conversion of data through an independent format remains an issue, but I would not classify it as “serious.” My opinion is based on a number of facts. First, there are now more competing “standards” than just STEP. Siemens PLM Software’s JT format has become an ISO standard. And Adobe’s 3D PDF format is available, although not as an ISO standard. So the pressure on STEP to solve everyone’s problem has lessened.
STEP itself has contributed to its problems in my thoughts. STEP is a data format with all the positives and negatives any data format carries. Adding to the STEP definition is so difficult and takes so much time, that many avoid even proposing the need.
While I try not to be negative in my thinking, I don’t believe the interoperability problem will ever be fully solved. It is driven by the market. Any vendor that captures market mindset and market share because of a breakthrough enhancement will no doubt work to protect their advantage. One way to do that is through a proprietary data structure in their data format.
Computervision, circa 1982
Do you think that new formats JT and 3D PDF are really better than STEP?
STEP is a cumbersome format. It can be so detailed that a lot of data that are stored may be in fact not necessary. Sometimes data exchange between supplier and customers must be very rapid and frequent, so STEP may not be the best possible option.
JT is heavily used in the Automotive industry. 3D PDF is mostly used in companies where text PDFs were already actively used and employees are familiar with it.
Independent data format is something intended to be the CAD “lingua franca”. Is diversity in independent data formats good or bad for the market? It could happen, that necessity to support many formats will force vendors to put less effort on each format.
I understand the advantages to have one data exchange format. But I think that competition is something that will stimulate the enhancement of all of them. In my opinion it is better to have possibly 2 or 3 data exchange formats, not dozens of formats.
CAD models become more and more complicated, while more and more companies rely on outsourcing of CAD design. What CAD products cope better with this increase of complexity?
The growth in model complexity is being driven by many factors. In fact, today, the biggest contributor to model complexity is software for embedded electrical devices. Change management has always been a high ranking concern of users. Now it is more than simply a physical change in component A affects a physical change in component B. Today a software change can require a physical change to a component.
The CAD vendors are constantly improving their solutions to this complex problem. They do so through a combination of data technology found in their PLM data management systems and in their CAD products ability to detect and record a model change, whether an addition, an edit, or a deletion. Often the complexity is compounded by the fact the products being designed have multiple configurations. To manage these issues across the supply chain introduces additional problems including having to deal with a different PDM and CAD product as well as the fact that changes internal to a supplier’s component may be proprietary or have no impact versus those that do.
A discussion of which vendors do a better job with these issues would take much too long and delve into very complicated concerns. Every end user product company has different requirements and to be honest each has a different level of maturity to handle sophisticated solutions.
You mentioned embedded electrical devices as a major reason of complexity of the models, could you provide more details?
I talked to companies like John Deere about their farm tractors. What they require is to have all the kinds of electrical systems, just like in a car. They need a DVD player in the tractor, and all the intelligent automation tools such as GPS to turn a tractor into a robot.
The software and electronics are growing faster. Product development company earlier could have, say, 1000 mechanical engineers, 100 of electrical engineers, and 20 programmers. Nowadays, this company could have 100 mechanical engineers, 500 of electrical engineers, and 1000 programmers. Today system engineer is the most wanted profession. System means here knowledge of all three: mechanical, electrical and software.
You have reached extraordinary levels in both science and software engineering. You invented NURBS at Syracuse University and was a lead architect of CADDS 4 at Computervision. What did you like more? And why have you finally decided to focus on consulting business?
My whole career has been driven by a need to see any contribution to technology I am able to make actually being used. There are too many examples of great technology that no one uses. That focus on the “applied” was what led me to move from my college study of mathematics to computer science in graduate school. I wanted to see mathematics used and computers in engineering were just beginning to emerge. I often tell a true, funny story that in one of my mathematics classes just before I graduated from college with a Bachelor of Science degree, the professor began the class by saying “Today we will prove that a proof can be proven.” I dropped my head to the table and thought, “I must start doing something else!”
At Syracuse I discovered CAD and specifically complex surface design in large part because of the presence of Professor Stephen A. Coons. All the pieces fell into place for me and my interests: the mathematics, computers and graphics, and engineering applications. Working on NURBS was enjoyable because of the combination of a love of mathematics, the tremendous personalities there that I worked with, and the software implementation of my research. The University department required that as part of my research on NURBS towards a Ph.D. that I actually implement the design software on a computer driving a new at the time technology refresh graphics screen.
However, once I got to Computervision and spent my first few years there in the R&D organization as a senior programmer, there was no comparison. I got to meet with customers and discuss their problems as well as their reaction to the software I wrote. I was privileged to be working for a company in a rapidly emerging field that became the number one supplier in the market at the time. It was exhilarating, especially introducing new concepts and functions to the broad market.
Today, I am in consulting because I believe I can have more impact across the entire industry that being isolated in one vendor organization.
Undergratuate studying Mathematics, 1966
There is a rumor that when you worked as a programmer at Computervision, your boss asked you to implement Bezier curves, but instead you implemented NURBS within the same timeframe. That sounds incredible. If software engineers were allowed to implement what they want instead of what they are asked for, what will be with our industry? Based on your experience, we can conclude that you are the best person to explain where is the boundary between creativity and discipline :)
I think you know it is more than a rumor - it was written up by a good friend and colleague, Evan Yares, in his online blog. And yes, it did happen and I told Evan about it over a glass of red wine at one of the industry events we both attended. To appreciate the story you must understand that I had been the software architect of the geometry system used at that time at Computervision. I designed it based on modular software principles in that each geometric object simply needed first, its own data structure in the data base and second, a software evaluator that could be called with the necessary inputs and would output a point on the object.
I made sure to allocate four element coordinates for each polygon vertex, so that there was room in the data base for homogeneous coordinates needed by NURBS, but set the homogeneous element to 1 by default for Bezier. Next, I made sure the evaluator could handle homogeneous coordinates and rational functions but since it would only be sent Bezier data, that’s what it evaluated. You must also understand that there was only limited functionality for complex surfaces in CAD back then, much less than today.
That all said I do strongly believe programmers should not be allowed to implement whatever they want. In my case, I provided what was required, on cost and on schedule. I simply left room for what I knew would be need to expand the solution. I did not implement something foreign. Remember, in my career having worked as programmer, software architect, and software manager, I had come to realize that there is a difference between a very good programmer and a software architect. An architect anticipates what will be needed to be enhanced in the lifetime of the software; a good programmer does not.
You have been working with other legends of CAD industry like Steve Coons or Sam Geisberg. Can you share your personal opinion on working with them?
I really have the pleasure of working with Steve Coons, Sam Geisberg, yes, and with Bill Gordon (Gordon Surface) and Robin Forrest. As with anyone, they were very different people with very different traits. If I had to give an attribute they had in common, it would be intensity.
I treasure my time with Steve Coons. Of any person I have met and worked with over my career, he is the one most deserving of the term, “genius.” One year in a graduate class he taught, he began the very first session telling us about a consulting project he did the previous summer trying to solve a problem that an industrial client had for years. He wrote the modeling engineering equation on the white board then took a seat amongst us, asking “Does that look pretty?” He had an overwhelming love for the beauty of mathematics. It was a matrix equation and he jumped up to write an Identity matrix in the middle. The equation was the same. He then turned to the class and proposed “Maybe it is not the Identity.” Immediate we all saw the implications and the solution.
Sam Geisberg was a very different man. We shared a programming office at Computervision early in my career there. I in fact stood up for his U.S. citizenship. He had a brilliant mind but I would never call him the best of programmers. He was driven with his ideas. One of the contributors to his leaving Computervision was he lost a technical argument to me on how complex surfaces of any type should be implemented. He believed in what I call 2½D where a surface blend must only be defined through curves in parallel planes. I opted for full 3D. Sam did not like to lose. Interestingly I saw aspects of that thinking in the first releases of his Pro/ENGINEER.
What is your motivation to participate in COFES Russia 2013: are you interested in some particular aspects of the Russian CAD market? are you going to extend your current consulting activity to Russia? would you be interested in some projects in Russia? do you already know some CAD-related Russian companies or are you going to establish any such contacts?
I am very good friend with Brad Holtz, the founder of COFES, and have attended COFES in the States many times. Brad invited me and suggested a possible consulting project in Russia where my expertise was a match. You will be interested to know that my initial comments to the client included the fact that I was pleased to see Russian mathematicians and software implementers moving more aggressively into the market. While at Computervision we employed many Russian émigrés in mathematical software R&D and I knew of their talent. Today, I see that talent broadly in many CAD vendors.
I do hope to expand on potential consulting activities in Russia in the future through my attendance at COFES Russia and any relationships I form there.
Permanent link :: http://isicad.net/articles.php?article_num=16045