Tuesday, February 9, 2010

SolidWorks, the CATIA Kernel & Direct Modeling

Paul, I know it is coming out in bits and pieces, but at SolidWorks World there is a good deal of reporting about solidworks enhanced direct editing, and even some speculation that solidworks is switching to the catia kernal. What would this indicate about the future of direct modeling, and cocreate's place within it?

This question opens up many good discussion points, and I apologize in advance for the length of the post.

It is interesting to see discussion about the CATIA kernel in context with direct editing. A geometry kernel has little to do with whether a CAD system is history-based or history-free or has direct editing or not. Direct editing does demand more of the kernel than history-based modeling does, but I see no evidence that the CATIA V6 kernel brings anything special to direct editing. CATIA certainly has direct editing capabilities but much of what you see in CATIA Live Shape is very similar to Instant3d in SolidWorks and Dynamic Editing in WildFire. As stated in this video: CATIA V6R2010 User experience, CATIA Live Shape allows you to “manipulate feature parameters directly on the geometry itself instead of editing through panels and keyboard input” - you are not directly editing geometry but rather dynamically manipulating feature parameters that are managed in the tree.

So what about direct editing in SolidWorks and the future of direct modeling?

People still seem to have the idea that somehow we are going to be able to combine these two technologies and get “the best of both worlds”. Since it is not possible to “record history” and “not record history” at the same time, there are only a few approaches that developers can take. Several CAD companies have already made attempts at combining these technologies and several others continuing to work on it – but so far none have been able to provide “the best of both worlds”. First of all, what is “the best of both worlds”? Here is my attempt at an answer. Others are welcome to add to the lists:

The best of history-based:

Some claim that the history tree is the best way to capture design intent (I disagree, but that's personal preference).

Some may claim that the history-tree is the best way to manage and maintain associativity (however associativity does not require a history-tree).

History trees allow for faces to be consumed by an edit, and at some point in the future these faces can be exposed based on another edit – I guess this could be considered a best, not sure.

History-based CAD forces a very specific modeling process and behavior. This could be good in some cases.

Most of these systems are very mature with much depth and breadth in functionality – although this has nothing to do with being history-based, it is relevant.

What are some of the other bests of history-based modeling? I’m running out of ideas. The list used to be much longer but it continually gets shorter with the rapid advancements in history-free modeling.The best of history-free:

No need to throwaway models due to bad trees – all geometry is of value

No regeneration/re-compute issues

Can manipulate geometry with no regard to how it was created in the first place

No restrictions or complications related to the use of certain modeling and editing functions (unite, subtract, intersect)

Add and remove design intent as needed – on native or non-native geometry: Some Examples

Easy to reuse and leverage ANY geometry from ANY source, full interoperability

Large assembly modeling/management (simply much less data to manage)

What-you-see-is-what-you-get

Those are a few of the bests of history-free modeling. Of course not all history-free CAD systems are as mature as others, so the level at which you can realize these bests today will vary – although the technology is rapidly improving. What’s interesting here is that IF there is any hint of a history-tree in the CAD system, you will never realize most of the bests in the history-free list.
Equally, if there is no history tree you will never… I can’t think of anything. Maybe you will never be able to consume a face and at some point get it back.
Below is a quick review of some of the industries attempts at getting “the best of both worlds”:Siemens, (NX, Solid Edge) – They simply have made the two technologies, (history-based/history-free) available under the same UI. In this case it is still one or the other. And when you choose history-free, the system lets you know that the tree and all the intelligence built into the tree will be lost – forever. If the history-free capabilities were more robust and complete most users may not care, but that is not the case - yet. In the history-free side of the product, Siemens has done a nice job at combining parametric control with history-free modeling with their Live Rules, but they have not combined history-free with history-based.Autodesk, (Inventor/Fusion) – Inventor has already had direct editing for several years. Fusion is just another history-free tool, although not a very good one - yet. The Change Manager will recognize direct edits and translate them back to the history-tree in the form of a feature change or an added direct edit to the bottom of the tree. In the end, all of this functionality may be under one UI and transparent to the user, however the end intent is to maintain the history-tree. Unfortunately the Change Manager will never resolve problems that may show up in the history tree, and because they are maintaining the history tree most of the benefits of history-free modeling listed above will never be realized. The Change Manager functionality will also result in design intent being automatically changed, i.e. lost.SolidWorks – SolidWorks has also had direct editing for a few years now. I haven’t seen this new stuff in person, but I assure you that there is nothing magical about it. They are either throwing away the history tree, or they are keeping it intact. Those are the ONLY two choices that are available. Most likely they are keeping the history tree intact, as SolidWorks will probably always be history-based. The new stuff is either an extension of Instant3D or it is direct editing that is, like Fusion and the Change Manager, being captured in the tree either as a feature edit or an added direct edit in the tree. As with Fusion and the Change Manager, most all benefits of history-free modeling will not be realized – as there is still a history tree.PTC, (Pro/ENGINEER) – Even at PTC there is talk about combining these two technologies. In WF5 we are starting to see much more direct editing. Again, however, the same “laws” apply. Either the history tree is thrown away or it is kept intact. With Pro/E I am quite sure there will always be a history tree no matter how much direct editing they put into the system – and again, most of the benefits of history-free modeling will not be realized.IronCAD – Ironcad was the first CAD system on the market to make a good attempt at combining these technologies. Although it was only recent that they exposed the history tree to the UI IronCAD has always been history-based, even before it was IronCAD (Trispective). Notice the references to the "tree": Introduction to IronCAD 2009. Their use and management of 3D primitives (3D shapes/features with no sketch) make it possible to directly edit these features, the edit simply changes the primitive. The primitives must be ordered in the tree. If the model is a single feature model (history-free) the direct editing capabilities can apply to the entire model. These direct edits are limited only by the robustness and predictability of the direct editing capabilities, as is the case with direct editing in any CAD system.

In all of the cases mentioned above the history-tree is fundamental to the system, regardless of any add-on functionality or fancy user interaction. As such most of the bests of history-free modeling cannot be realized. I understand that many of the history-free examples on the market still do not provide the depth and breadth of many of the mature history-based CAD systems, but this is quickly changing. History-based modeling is mature. We may have already hit the limits of what we can do with this technology. On the contrary, even though we have been playing with history-free modeling for many years, there is still so much more that we can do with it. It is relatively immature.SpaceClaim posted record growth numbers for 2009. Kubotek claims that 2009 was their best year ever. As part of HP, CoCreate and now PTC CoCreate, I can tell you that we have never experienced the level of interest in the product and growth that we are experiencing right now. CoCreate's place in this market is very solid. To think that some combination of history-based modeling and direct editing is going to slow this growth is quite short sighted. The future of history-free modeling is very bright and there is nothing you can do with a history-based CAD system that will change that. In reality the only way we will ever get even close to “the best of both worlds” will be to start with something that is fundamentally history-free.

"V6 is a brand new kernel, one that has capabilities that Florack claims to be unrivalled in the industry, being able to resolve Geometry and Topology simultaneously and being able to open files from pretty much any existing CAD system and edit it natively. V6 is claimed to remove many of these painful limitations"

Matt,Thanks for the comment. I was debating about putting that paragraph in the article and discussing it, but it is already too long. The kernel topic alone could be worth a few posts.

I did read through that article, and everything else I could find on the V6 kernel, and my comment still stands. Any good history-free modeling system has to have a kernel that can "resolve geometry and topology simultaneously" and can open and edit files from any source. CoCreate has been doing this for over 15 years.

The statement does indicate that Dessault is interested in providing more robust direct editing - but I have not seen/read anything that really pushes it, nor is any evidence that they are going to abandon the history-tree.

Jon, The edits you see in the CATIA video I linked to in the article are not direct “geometry” edits or direct modeling. As stated by the narrator they are edits of the “feature parameters”. In this case the feature parameters that are being referred to are the feature parameters that are in the history-tree. This is what I referred to in a previous article as "history-based in-direct editing". The edits that you see there will only work on native CATIA data with a good history tree. These edits are controlled and restricted, as with any history-based edit, by the structure of the tree and the way it was created.

I'd like to add a couple things I think a history-based system is good for: implementing variants (a.k.a. "Configurations" in SolidWorks) which allow a single history tree recipe to be played out in multiple ways to produce different end results. This is something that is very useful in some cases ("families of parts" or "as-cast" vs. "post-machined" parts that you can modify once and affect more than one final part geometry. Also, if you like the idea of 2D-->3D associativity (editing a dimension on the derived 2D drawing causing a modification to the 3D model) this is easier to implement in a history-based system.

When we talk of “the best of both worlds”, I would like to see a modeller with direct edit with robust automatic feature recognition rather than having a history tree with direct edit.Because if I want to change a countersunk hole into a counterbore hole or vice versa, I don't see any easier way with direct edit. Instead, if I move the cursor near a countersunk, the modeller should automatically highlight the countersunk and it should provide options in the UI to convert this into other hole types. Same case with patterns on imported models, sheet metal stamped features, etc.

The reason for preferring direct edit with automatic feature recognition rather than having a history tree with direct edit are 1. It will not have history based dependency problems (http://featurerecognition.blogspot.com/2009/06/what-is-history-free-editing-how-to.html)2. It will be helping in quick selection of features for repositioning.3. For CAM, where design features are are to be re-classified as manufacturing features (http://featurerecognition.blogspot.com/2009/08/application-of-feature-recognition-in.html).

Coroto, good point on the multi-state parts i.e. cast > 1st opp > 2nd opp., although this won’t be a history-based “best” much longer. With v17 CoCreate is introducing what they call Stock Finish. This first phase will be more related to the management of stock finish parts. CoCreate already has “Configurations”, so a history-free solution is getting close. Here is a quick intro video: CoCreate Stock Finish

By the way, the history tree has nothing to do with bi-directional associativity. This associativity comes from a “single data structure” i.e. the drawing is the same data object as the 3D model. Any CAD system, history-based or history-free, can use a single data structure. There are certainly history-free/direct modeling systems out there that use a single data structure and have 2D to 3D associativity. The only problem with a single data structure is that you can’t turn off 2D to 3D associativity without turning off 3D to 2D associativity.

Jon, need to be careful on your 3rd point. History-free/direct modelers can have parameterized features. With CoCreate you can parametrically control faces, features and parts. (I know – it doesn’t have built-in CAM :<)).

Dr. Kannan, feature recognition doesn’t add much value to history-based CAD other than for making sense of non-native data. It is however a clear requirement for history-free/direct modeling. All direct modeling systems on the market have “some” feature recognition. CoCreate has been doing it the longest and has the most mature, so far. Their recognition can find pockets, bosses, slots and ribs and some combination of these: Feature Recognition and Direct Editing. With CoCreate there is also user defined features (UDFs) - faces can belong to multiple features allowing for multiple representations - supporting different processes.

As you state, there should also be easy ways to replace these features, and we are already seeing this with a few of the history-free tools out there.

What is confusing for some people is that a “feature” in the context of history-based modeling is much different than a “feature” in history-free modeling. The history-based feature is a modeling operation – it may or may not represent geometrical relationship. The history-free feature is either recognized or user defined (some history-free systems, like Fusion, will create features from modeling operations, for what that’s worth). A recognized feature is a group of faces that must have some geometric relationship. A user defined feature is a grouping with unlimited flexibility. So we need to be a little careful with the term “feature” and make sure we are clear in what context it is being used.

It's incorrect to say that Siemens NX and Siemens Solid Edge treat Synchronous Technology the same way. While Solid Edge may force you to choose "all history free" or "all history", NX allows you to be "all history-free" if you want, or you can simply add direct edits to models while still retaining a history tree.

Anonymous, Yes I have used NX with Synchronous Technology. NX in history mode does have direct editing - NX has had direct editing for a while - just like CATIA, SolidWorks, Inventor and others. Adding direct editing to history-based modeling does not provide "the best of both" - it's still history-based.

I've also used Solid Edge. SE does have direct editing in history-based "traditional" mode. It has "Move Faces", "Rotate Faces" and "Offset Faces". And like NX and any history-based system, these edits are captured and ordered in the tree. From this perspective I don't see much difference between NX and SE.

"Because if I want to change a countersunk hole into a counterbore hole or vice versa, I don't see any easier way with direct edit. Instead, if I move the cursor near a countersunk, the modeller should automatically highlight the countersunk and it should provide options in the UI to convert this into other hole types."

I'm wondering what direct modeler does this? For sure SpaceClaim doesn't. SpaceClaim has no tools at all for creating or modifying holes. :(

What you describe in CoCreate for holes is as limited as a history based modeler working with non-native solid data but I'll give you credit for providing your usual honest, fact based answer.Too bad CoCreate's competitors, other blogers and CAD journalists refuse to act in the same manner... and people wonder why I have such a bad attitude.

Consider that I've spent the past two weeks reading nothing but total hype about SolidWorks and SolidWorks World along with the usual price baiting games from Alibre and its worthless sock puppets. You have no idea how nice it is to read a direct, fact based answer instead of the usual hype, misdirection and utter nonsense that fills the CADCAM industry even if I don't like the answer.

I have a question:

Wouldn't CoCreate benefit from licensing GSSL's feature recognition or from developing their own so CoCreate could do exactly what Dr. Kannan describes?

Jon asks: "Wouldn't CoCreate benefit from licensing GSSL's feature recognition or from developing their own so CoCreate could do exactly what Dr. Kannan describes?"

It sure would. In the world of history-free/direct modeling there is always more progress that can be made in recognizing geometrical relationships within non-native data, and then warping useful and intelligent functionality around what is recognized. Dr. Kannan and GSSL is certainly pushing things in the right direction.

I was mentioning feature recognition as a technology not just Geometric's (formerly GSSL) Feature Recognition. My real intention was to see more user-friendly direct modelers for yet faster editing. I just wanted to share my ideas on combining the best of both worlds.

1. I have checked the feature recognition capabilities of few direct modelers. Most of them are interactive i.e. user has to click on a face, then right click or click on an icon and identify feature. Again they have multiple options and the behavior of these options differ. End users prefer to have less number of clicks and prefer as much automation as possible. Rather than having to click multiple times, if the modeler automatically highlights a feature when I move the cursor near a feature, say a filleted blind pocket, I can easily drag them and reposition. Because If a user has to reposition a pocket feature which contains lot of faces, he has to select the set of faces first. Current modelers provide few options for selection such as interactive feature recognition or window selection. Even for window selection, the model has to be repositioned properly and often multiple times in complex cases to avoid selection of unwanted faces or features that lie behind the feature in concern.

2. Another thing is, direct modelers don't have an easy way to convert a through hole/pocket into a blind hole/pocket.

3. Suppression of features like holes, fillets, etc. is another area where lot of improvements are needed in direct modelers, as this is an important editing requirement from end users of Analysis domain. Fillet suppression in both direct modelers as well as feature-based modelers have to really improve.

Hello Paul,Thank you for this very interesting post. I would just want to make a comment about the video CATIA V6R2010 User experience you referenced. The reality is what you see here, as you rightly stated, is a direct manupulation of parameters on feature in Generative Shape Design workbench, which is a tool for mechanical surfaces based on feature based modeler.CATIA Live Shape is a completely different tool which is truly based on direct editing technics and brings a more direct approach for non specialist - for instance, you would not see anymore the icons in the right hand bar. Every thing would be do able "under the mouse". I invites you watching this video instead: http://www.youtube.com/watch?v=bJMpiO7NvX0This introduce very quickly CATIA Live Shape.To come back shortly to the first video, what we are telling here is that we are bringing the user experience found in CATIA Live Shape to more traditionnal workbenches such as Genrative Shape Design or even Part Design (was not part of the video) which are all based on feature based modeling.

Pascal, Thanks for the additional information on CATIA Live Shape and the link to the video. I have watched most all of the Live Shape videos. By the term "feature based" I assume you are referring that these direct edits are considered features and are ordered in the tree? Is that correct. This would then be similar to Instant3D in SW and Dynamic Editing in Pro/E. I do like the user interaction shown in the video.

First of all, great blog! I'm pretty "green" on the subject of direct modeling, having worked only with history-based systems so far. But your input, remarkably objective considering your PTC allegence, was of great help for me to get a generic picture of things. I've been through all of your post and I agree with you : choosing between history-based CAD and history-free CAD (not both!) has nothing to do with the technology, but all with the processes in which it will be used.

However, there is the matter of "intelligence" or "design intent" recorded in the CAD model that I'm having a hard time figuring out. I understand that history-free modeling allows for parametrics (dimensions, relationships, constraints and the likes) to be recorded on 3D geometric data. But what about features ? Can they be recorded as well ? And if it is the case, can they be edited as such, i.e. as wholes with specific parametrics, much like in history-based modeling ?

The thing with design intent captured in an history tree is that, IMO, the nature of the features in the tree equally brings something to the design intent as does the feature order. Features, especially user-defined features, add functional meaning to regions of a part's overall geomerty. Ribs add to a part's rigidity, hole types give insight on the fastening method that will be used, etc. So I think there is a value for features to be permanently identified, not just momentarely recognized, in a 3D CAD model, and therefore be manipulated and edited as persistent objects.

From what I can make out of direct modeling (then again, I'm "green" as I have told you before), the absence of persistent and editable features seems to be a drawback from history-based modeling. Not that editing history-based feature is always straightforward, but just as Dr.Kannan pointed out, direct modeling is a lot about more flexibility in the CAD-enabled design process. And I can't understand why creating and editing persistent parametrized features, often functionally meaningful, would not coexist with that level of flexibility in history-free CAD systems.

Great question Antoine. I have an article in the works on features but I am not getting the time I need to blog. Bad excuse I know. Anyway, short answer: it is very possible to have persistent features in a history-free CAD system. CoCreate has had them for years. KeyCreator also does a nice job with persistent features. History-free persistent features are usually referred to as “User Defined Features” – UDF’s.

Now for a little more detail. Features in a history-based system are very different than UDF’s in a history-free system. In a history-based system, features are more accurately described as a modeling operation, where as in a history-free system they are a collection of faces that have some significance to the design and/or manufacturing process. In a history-based system the feature definition is completely based on the model creation process and can only represent one state. In a history-free system you can have multiple features representing different things. A face can actually belong to multiple features.

To create a UDF you can single select faces, box select faces or use feature recognition to find groups of faces that represent common features such as a boss, pocket, slot and rib. This can be done on an IGES or STEP file; it does not need to be native data.

The question is, what can you do with history-free UDF’s? In CoCreate you can make patterns out of them. If you edit the feature, all features in the pattern change. If you edit the pattern, the quantity and/or spacing on the pattern will update. You can constrain these features to tightly control behavior and you can drive them dimensionally if wanted. Keep in mind that there is no parent/child relationship with these features.

Hope this helps a little. There is certainly much more that needs to be done in the area of history-free feature definition and usage, but progress in being made. Maybe I should make a video :)

Inventor Fusion allows imported data to be recognized. You can edit a hole and change it to counter bore or counter sink no problem. It can recognize many other relationships and provide feature like edits to them.

As to comments on change manager, it can and does maintain the feature history and no intent is lost. It is modified to match the changes a user chooses to keep.

Why customers continue to accept that they can't have both modeling technologies makes little sense to me. Yes, it is hard to build a system that does this. Yes, it does not fit into the current industries desire to pitch history free as better than history... That does not mean that customers should not push to have the right technologies/solution for their needs.

"Inventor Fusion allows imported data to be recognized. You can edit a hole and change it to counter bore or counter sink no problem. It can recognize many other relationships and provide feature like edits to them."

Since Inventor Fusion is not a released product yet and is just a technology preview I would appreciate if you could answer some questions I have about Inventor Fusion:

1. Does the technology preview of Inventor Fusion expire?

2. Will Inventor Fusion be available as a stand alone product that can be purchased without purchasing Inventor itself?

3. When will Inventor Fusion be more than just a "technology preview"?

I also have some questions about Alias For Inventor:

1.What is the next step in getting more Alias functionality into Inventor?

2. Right now it appears that Alias For Inventor only does curves / splines and doesn't offer any actual surfacing functionality at all. When will actual surfacing functionality be added to Alias For Inventor?

Thanks for the additional info on Inventor. I understand and have used the recognition capabilities in Inventor. Not do dissimilar from what is provided in SolidWorks and Pro/E. The problem is that there will always be a limit with recognition technology. As long as a CAD system depends on ordered and structured “modeling” features, imported geometry will be a problem. Call me a skeptic, but I have never seen any recognition technology work on anything of even reasonable complexity. There are just too many variables to consider.

With the Change Manager, “it can and does maintain the feature history and no intent is lost” – as long as the changes are simple and restricted to analytic geometry. It is obvious that if a history-free change cannot be recognized by the change manager, the system will just add a new step/feature to the tree. The resulting “design intent” is then not retained.

Anyone designing products today can have and should have “the best of both worlds” – but this will only come from a history-free system. There are several tools that already provide the best of both – complete history-free modeling with complete capabilities to add and maintain design intent.

I hear this comment every week – and it is getting more frequent: “with this technology, why would I every want a history-tree?” (always in reference to CoCreate)

"1. Yes. the current version expires May of 2011. 2./3. We are working on a technology preview 4 for this Fall."

What does Autodesk expect someone to do who has invested a good deal of their time into learning to use Inventor Fusion between say May and October?

What is the Autodesk's logic behind a version that times out many months before another version is again offered?

Also could you please address these questions I asked previously:

1.What is the next step in getting more Alias functionality into Inventor?

2. Right now it appears that Alias For Inventor only does curves / splines and doesn't offer any actual surfacing functionality at all. When will actual surfacing functionality be added to Alias For Inventor?

Very nice article and helpful information has been given in this blog about in #CADModeling. We provide all 3d solid modeling preparation services. Will guide you to get your 3d cad drafting design and all computer aided design services in India. if you want more information visit here 3D Modeling Software .

About Me

I have been involved in product development, manufacturing and CAD/CAM/PLM for over 30 years. My primary interest has been in 3D CAD, specifically Direct Modeling.
My postings on this site are my own and don't necessarily represent the opinions, positions and strategies of my employer or any other company.