In this part I will discuss the fourth and final concept of Synchronous Technology: Procedural Features. I also intend to answer the question: “Is it really a hundred times faster?”. Before we get to procedural features, let’s spend some time on ordinary features.
Traditional parametric modelers have a feature tree that contains a set of features in the order they were created. The problem with the feature tree is that the child features depend on their parents for their existence and/or shape. Modifying a parent feature can affect it’s children, and not always positively.
Solid Edge ST creates features the same way they are created by a traditional parametric modeler, but does not order them using parent-child relationships. It’s like plucking out all the features from a feature tree and dumping them into a feature basket. If you edit one particular feature in the basket, the rest adjust themselves as necessary. If you remove a feature from the basket, again the rest of the features adjust themselves as necessary. Now this is what everyone raving about Synchronous Technology seems to believe.
However, I feel the need to point out something here. The features that are seen in the Solid Edge ST Path Finder (the equivalent of the traditional feature tree) are very different from the features we see in the traditional parametric modelers. In a traditional parametric modeler, you can edit a feature by specifying new values for it’s parameters. For example, for an extrusion feature, you can modify the extrusion distance and the feature will be updated. You cannot do this with a feature in Solid Edge ST. This is because the features here are dumb and have no parameters to edit. The only way to change the extrustion distance is to pull/push the face you extruded in the first place or set up a dimension and edit the dimension. The features in Solid Edge ST are merely a collection of related faces that make up the feature. They do not even know which sketch was used to create them. You can go ahead and delete all the sketches in a part and the model will hold up just fine.
People using traditional parametric modelers may consider this as a drawback, when in fact, it is the greatest advantage. This is precisely what gives Synchronous Technology to power to edit features in any order. Let me try and explain this by means of an simple example. The figure below shows a part consisting of three boxes created as extrusions one on top of the other. In a traditional parametric modeler, creating such a part would automatically set up the parent-child relationships from bottom to top.
When I delete the middle protrusion, the top protrusion gets orphaned and is left dangling in space, yielding a multi body part. Doing the same thing in Solid Edge ST gives a different result.
Now watch what happens if I try to increase the height of the middle box.
The parametric modeler (left) pushes the top box upwards, whereas Solid Edge ST (right) keeps the top box where it was and simply reduces it’s height. Which effectively means that I have edited the middle feature without interfering with the feature above and below it. How this happens is quite interesting and needs a little explanation.
Every edge in a water tight solid model has exactly two faces that touch it, one on either side. Moving the edge (which is what happenned in the figure above) affects both faces and they are trimmed or extented as necessary. If one of the faces is deleted (as was the case when I deleted the middle box) the other face spills over the edge and proceeds to find a face that will trim it. When all such faces get trimmed we end up with a watertight solid once again. Even if one of the faces does not get trimmed, the software reports a modeling error.
So as you can imagine we need not be bothered about the order in which the features were created. We are only concerned with the faces of the model (irrespective of the feature that they belong) which will need to be extended or trimmed in order to keep the model water tight.
So to answer the question: “Is this a hundred times faster?“, the answer is “For large models, yes. Maybe a lot lesser for smaller and simpler models“. Imagine you have a large part with more than a hundred features and you wish to change a parameter in one of the features high up in the feature tree. Your traditional parametric modeler will need to rebuild the entire model while you sit and twiddle your thumbs. Synchronous Technology will only look for faces in the vincinity that will be affected and extend/trim them quickly. It does not matter how high or low in the feature bucket the feature lies. To Synchronous Technology a feature is just a bunch of related dumb faces.
Using the benefit of hindsight, I now wonder why PTC took the heirarchal feature tree approach dedades ago and everyone followed them blindly. Seems like we have been unnecessarily taking the longer route all these years.
Anyways, so does Synchronous Technology employ parametric features at all? Yes, they do and they call it Procedural Features, most probably to distinguish them from ordinary features discussed above. Although pulling, pushing and rotating faces does the trick in most cases, there are times when you need to rely on good old parametric features. For example, I cannot think of any face to pull, push or rotate in order to double the number of holes in the flange below.
This is what traditional parametric modeling is famous for and Synchronous Technology has adopted some of these key aspects. Rectangular and circular patterns are examples of procedural features and work more or less the same way as in traditional parametric modeling. Other examples are holes, thin walls (shell) and rounds. Like I said before, Synchronous Technology offers the best of both worlds and I like the mix.
Here is a video that shows the circular pattern procedural feature.
This wraps up this series and my understanding of Synchronous Technology. But there is still one unanswered question that I asked in Part 1: “Does the industry really need Synchronous Technology?” If you have been following this series then I guess you already know my answer. I would like to know yours. What do you think?