Why I Changed Camps: Part 2
Part 2 is all about the role that the technology played in my switch. Going from a skeptic to a supporter seems like a big jump, but if I explain this right, it will be obvious. The functional differences to me are compelling, especially for the kind of work that the largest group of mid-range CAD users do – machine design, which uses primarily prismatic shapes.
I know there are those of you who still argue that [fill in the blank] is just the best out there, with all the gusto of an Apple/Android catfight. But the statement is usually made without much if any knowledge of the things you are comparing, and rarely with any supporting information. Somehow even CAD programs develop a religious or sports team type of fanaticism such that people react emotionally rather than rationally to claims involving the brand you support.
But the religious devotion has a duality to it. When you’re talking to a Solid Edge supporter, you claim you couldn’t do your job without history-based tools. But when you talk to the guy in the cube behind you, you’re inventing new four-letter words to describe your feelings about rebuild times, rebuild errors, navigating parent/child relationships in the feature tree, and so forth.
“Design intent!” someone shouts out. “Parametrics!!” Yes, yes, pipe down. I hear you. We’ve got all of that covered. People, even people in the media who should know better have posed this as a “parametric vs direct” comparison. But that’s wrong. Solid Edge w/ST does parametrics. We do design intent. We can automate parts, drive part sizes with tables, write equations. Even on imported parts. Yes, even on imported parts.
Solid Edge enables two methods for working: Ordered (which is what we call traditional history-based modeling) and Synchronous (which is direct editing plus a lot of software-based intelligence). Solid Edge has been a history-based modeler since the beginning. This negates at least the “we want history-based CAD” argument. Solid Edge has both. You don’t have to make a choice. You can use either, or both.
What exactly is Synchronous Technology? Synchronous Technology is several things working together:
- direct edit plus
- Steering Wheel (graphical interface controller)
- Live Rules (automatic, controllable, geometric relations)
- Dimensions directly on model
- Face relations (placed manually, persistent or temporary)
- Procedural Features (features that retain some parameters, like pattern, thin wall, hole, fillet)
- Geometry/feature recognition software
Using these tools together enables simple direct edit to be so much more than just pushing and pulling faces around.
In history-based software, you have to use a crystal ball to make a good model that reacts to changes well. You have to look into the future to create design intent, and into the past to use it.
In history-based software, the intelligence is in the data. There is a huge difference in the editability between a “well-modeled part” and a “poorly-modeled part”. How you put the features together determines how they can be edited. This is not true for Synchronous Technology. When using Solid Edge, the intelligence is in the software, and the source of the data doesn’t matter. So your aunt Minabelle might have modeled the part with no knowledge of best practice, or it might be an import from a history-based CAD package, or a native Solid Edge part, or even from a future version of Solid Edge. As long as the parts have the same topology, they will react to editing exactly the same way.
In history-based software, you have to use a crystal ball to make a good model that reacts to changes well. You have to be able to see into the future to create design intent, and into the past to use it. That’s no way to treat your engineering data.
History-based modeling has a lot of shortcomings. I’ve mentioned before that Synchronous helps you avoid those weaknesses. Let’s outline some of the weaknesses, just so you don’t forget.
First, history-based modeling was invented to allow slow computers to solve complex models in pieces, because the computers of 30, 20, even 10 years ago were not fast enough to solve parts and assemblies all at once. So it’s in part just a crutch.
Second, it’s not very intuitive. Remember learning it? It took me a while for the light to go on. There is no real good reason why the features on a part should be associated with some sort of order. You might make sheet metal bends in a particular order, or perform machining operations in an order, but people designing the part aren’t usually the ones specifying the order in which features are machined. And what about castings and plastic parts? There is no logical way or reason to order features. Feature order is a modeling abstraction that has no real world analog
Third, rebuild times. On complex models, rebuild times can become seriously tiresome. Why does the whole part have to rebuild if you only change one of the later features? Assemblies? In-context assemblies? Ouch. If you make big assemblies or very complex individual parts, you know exactly what I’m talking about. How many sets of best practice rules have you read that recommend you limit or completely avoid in-context design? In-context is sold as one of the strengths of history-based tools, but it is expensive when it comes to rebuild, computer resource hogging, and crash bugs.
Fourth, the feature tree. The list of features is supposed to be history-based, but it isn’t even truly chronological. It’s a mess when you consider sketches and parent/child relations. What about the feature order of a feature with multiple sketches? It’s nearly indecipherable, and unmanageable. Have you ever seen Ed Eaton’s “Trees of Blood” presentation? Read that and then seriously tell me you have a good grasp of parent/child relations.
Fifth, design intent. When building history-based parts, you think you are building the design intent into the order of the features. But you know as well as I do that the design intent itself is what you have to change more often than not. Navigating parent/child relations especially in parts with shared sketches or multiple sketch features is tedious. With Synchronous Technology, you decide what the design intent is at the time of the change, not at the time you build it. This means you never have to decipher parent/child limitations.
When you use sketch relations and dimensions to establish how the part reacts to change, you’ve got controls all over the place. In this sketch, that plane, this extrusion, etc. In Synchronous, you just put your relations directly on the final model. Its soooo much simpler and straight forward.
The bottom line is that if you’re making prismatic parts and you’re not using Synchronous Technology, you’re wasting your time. And yes, that comes from the guy who wrote the SolidWorks Bible.
Now that we’ve reminded ourselves of the weaknesses of history-based modeling, let’s talk about the strengths of history-free Synchronous Technology.
First, we’ve already discussed imported data works like native in Solid Edge. This is because the intelligence is not in the part like in history-based software, the smarts is in the software, so the model only has to be geometrically correct. This eliminates most of the “future version” problem with CAD. If you have BrandX2012, and your buddy has data in BrandX2014, you can’t read his files, or if you do, you have to take imported models, which lose all of their features and history (intelligence). But with Solid Edge, even an imported part can have its existing geometry converted into procedural features like patterns, holes, and so on.
Second, we are driving the model directly with dimensions directly on the model geometry. It’s so simple when you think about it. Why go through a layer of abstraction in the “feature” definition or a sketch, when what you really want to drive is the model itself. You can also create relationships between faces that the model remembers when you make changes. These usually aren’t necessary because it “reads” the relationships inherent in the geometry. Faces that are perpendicular will remain perpendicular through changes unless you want to disable that. Dealing with the geometry directly as geometry is so much easier to think about. No abstract concept, no need to think like a programmer, just work with geometry.
Third, rebuild times are a thing of the past. While some of the synchronous functions can have a slight delay associated with them, it is nothing like the rebuild time that is accumulated for each feature you add. Some history-based software claims it can make direct”like” edits using the Move Face command. But this is a cheap imitation. It adds a feature and rebuild time to the tree, and Move Face fails if adjacent tangent faces are not moved at the same time.
Fourth, Synchronous Technology works even in assemblies. So you can select several faces from different parts and move them all at the same time. You can also move faces from one part up to the face from another part. You can do this without creating an in-context relation, or an external dependency. So you get all the advantages of in-context top-down modeling without any of the frightening side effects. This is one of my favorite advantages of Synchronous Technology.
Fifth, Synchronous Technology enables you to do amazing things with fillets. Even with imported models with fillets, which is a huge road block for history-based models. You can select several fillets and change them together, then pick one and change it separately. You can easily remove fillets from a model, yes, even an imported model. One of my favorite things to do with fillets is to apply them as Ordered features. So the rest of the model is a Synchronous block, but the fillets are applied as history-based features. This helps avoid one limitation of direct modeling when the topology is changed by a face being consumed, that it is difficult to add topology back once it has been removed.
This is getting very long, but what I want to make sure you get from this is that history-based modeling is unnecessarily complex for most parts you model. Modern computers can handle direct edit methods in a way that makes the method more practical than history-based methods. Mixing modes is possible and desirable in certain situations. You can give up the broken relations and dimensions that parent/child schemes cause during changes to a history-based model. I don’t want to disturb anyone’s religious devotion, but if you would take the time to honestly evaluate the amount of headache caused by your history-modeler, and the ease with which Solid Edge can handle those same situations, I think you may find a whole new set of friends.
OT:
Hi Matt,
how about an tutorial of how to work with assemblies und sub-assemblies in Solid Edge?
Specially when you need to have some interpart connections in the sub-assemblies, in which level do you have to create them.
I began my 3D modeling about 10 years ago with inventor 9 (I think?) later made the transfer to SWX and during an internship I modelled with Solid Edge V20.. I must say I was less then impressed. frustrated is the felling I get when I think back to that period.
have they improved/changed much since the V20 version?
Synchronous Technology started shortly after that, so yes, it has a completely different side added to the software.
Matt,
Did you switch your own private modeling work from Solidworks to SolidEdge ?
Ammar, I don’t do any “private” modeling anymore.
Matt,
I am concerned that you have changed camps in a couple of different dimensions; SW to SE, interesting blog to boring blog, cad user to non-user pundit. It is the non-users who lost direction at SW. You must do some real projects in SE to have useful depth as a pundit. Also being salaried does not mean that you should not post on weekends. Do you really need to be so gentle about SE weaknesses. Will the vibrant green shoot software developers wither with a negative post?
I am grouchy today. I am modeling a old fashioned air cooled cylinder head in SW. It was tooled using classical wood and wax methods.
Rick,
Yeah, I have to plead guilty to some of that. I am still a user, but I’m not yet an expert Solid Edge user. It will take me a while to get to the top of that heap, lots of people have a big headstart on me. I have done a couple of projects in the software, both prismatic and surfacing.
As for getting boring, I’m trying. I guess relying on some old posts is an indication that I’m looking for material that worked once anyway. WE can’t hold the big CAD executive executions that we used to have here for obvious reasons. All of the constant complaining without doing anything was getting to me, and I had to change course somewhat anyway. I wish all I had to do here was model and write, but I got caught up in the community site redesign, which was a worthy cause, but did/does limit some other things I’d rather be doing.
Anyway, don’t write me off yet. Make sure to tune in especially right after Solid Edge University (May 12-14), because my battery will be charged for quite a while after that I’m sure. I’ll have to comment on some of the best presentations I see there, and of course there will be the ST7 What’s New to write about.
I enjoyed reading this and you’ve piqued my interest, nice sell Matt. I’m in the ‘I <3 SW' camp (but not fanatically religious) because it's what I started with, I enjoy using it, and don't seem to encounter too many problems. Of course there are limitations one learns to work with… such as you've mentioned. Hearing your examples for/against history based/ST I can honestly say I don't know what I'm missing. By that I mean, I've never worked with anything other than SW. Some practical questions I would have to ask for myself are how much of my customer base (largely manufacturing) would I lose by not using SW… what are SE rendering/animation capabilities?
Miss B.
What is it you have problem installing SE. The install wizard is kind of straight forward, choose a template standard, point to your license
et voilà
The engineering projects that I am involved with have many prismatic parts. These do not need to contain history, but need to be parametric and organized in a sensible manner. A landing gear trunion has a very accurate bore and specific grooves and radii. These need to be controlled in a sensible place. A sketch of the section would be good. The attachment features need to be grouped and organized as these relate to external parts that may change. The fittings need to controlled and may be changed to another type. Fillets are added in the end to reduce stress and enable manufacturing. SW makes me crazy by enforcing order where none is required.
More complex aerodynamic shapes look swoopy, but are precision geometry. It is important to control the curvature in the streamwise direction. This relates to the pressure gradients and formation of the boundary layer. Three dimensional effects make this even more complicated. Most aerodynamic shapes are controlled by a few projected curves. The surface is formed by applying a conic surface that has specific rho and edge slopes. These surfaces join other surfaces in a fair manner. Wings and fins are usually ruled surfaces between airfoils. These intersect fuselage bodies and need a delicate fairing. Ultimately the surfaces become an outer mold line. Changes will happen, the airfoil shape may change. The OML needs to change and preserve the quality of the shapes. It had better rebuild sucessfully! SW with GW3D add in can just barely do it.
I need precise control of 2D sketches, especially splines to determine swoopy shapes. Push pull sub D modelling is not for me. I hope that you will show some good surfacing in SE.
Pictures are not attaching as expected. I will most likely not be able to edit from my ipad.
add-on:
why didn’t you keep the old blog as read-only feature? i enjoyed reading it and viewing the samples/ contests… 🙁
but how often do you change your or imported prismatic parts (native or imported)? i design custom machines (asm automation for example, work cells…) and there usually isn’t any modifying at all and if it is, it’s at sumasm level. and there is no need to change geometry if you are doing manufacturing (milling, turning) for another company (maybe delete some holes etc.).
You can import standard library parts and modify them how you want. Maybe parts you get from a supplier/vendor have too much/too little detail. You could use imported parts as a starting point for other designs. You can’t use imports with your history based system in this way, so you don’t. If you could use them, you might. A guy doing machining might want to add stock to a part
About the old blog, I wanted to keep it, but there’s no such thing as a maintenance free website. For whatever reason, this site is a hacking target, and if I leave it unmaintained, all sorts of things happen. I’ll bring back some of the interesting stuff as appropriate.
Thank you. I am still trying to get Solid Edge installed correctly and running so that I can evaluate it’s qualitative potential against alternate modelling tools such as Auto.c.a.d, solidwks and cati@. Although the rendering is more refined in auto.c.a.d, solid* tools appear to inherit more functionality with the frustration of bugs that file expert struggles with. Further investigation required especially with experimenting ‘on the edge’.