Deelip.com

Thursday, July 10, 2008

Synchronous Technology

Just a short note to lay down a few facts about my series on Solid Edge with Synchronous Technology.

My understanding, views and conclusions on Synchronous Technology that I have expressed in this series are based on my experience with the Beta version of the software alone. Siemens has not shared with me any information regarding the internal working of the software or the logic used in the technology. Siemens sent one of it's Applied Specialists to my office who gave me a demo. He also gave me a Siemens coffee mug and nothing else ;-)

I write software for a living, not reviews. But after a recent incident, I decided to take some time off work and blog a little. I have been wanting to write about Synchronous Technology for a long time now, but was gagged by virtue of the fact that SYCODE is a Solid Edge Voyager Partner. I thank Dan Staples, the Director of Solid Edge, for making an exception in my case and letting me wag my tongue, although I think he will not regret letting me do so.

Personally I believe that innovations like Synchronous Technology is the way forward and I wish Siemens and all other developers of direct modeling software the very best.

Solid Edge with Synchronous Technology Series
Part 1 - Introduction
Part 2 - Steering Wheel
Part 3 - Live Rules
Part 4 - Dimensions
Part 5 - Procedural Features

Solid Edge with Synchronous Technology - Part 5

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?

Wednesday, July 09, 2008

Solid Edge with Synchronous Technology - Part 4

In Part 1 I mentioned that I would try and find answers to a few questions floating around with respect to Synchronous Technology. One of them was, "Is this really new?". Up untill now I have discussed the Steering Wheel and Live Rules, both of which are not new. There is at least one CAD system that has implemented both of them before Siemens did. It's SpaceClaim. SpaceClaim has something known as the "Move Handle" and an advanced face search and selection window (not sure what fancy name they have given it, if at all) which does more or less the same things as the Steering Wheel and Live Rules of Synchronous Technology.

And here is where the similarity between Solid Edge ST and SpaceClaim (and probably other similar direct modelers) ends, at least with respect to the capabilities of Synchronous Technology.

One of the main reasons why parametric solid modeling became a hit when it was first introduced by PTC many years ago was it's ability to capture design intent. Another was the ease at which you could edit features or delete them. Yet another was the concept of having patterns or arrays of the same feature in an ordered manner. Synchronous Technology offers all these advantages without the overhead of the dreaded feature tree. This is truly the best of both worlds.

In this part I will discuss design intent and how it is encoded into a model using dimensions. For those of you familiar with parametric solid modeling you already know how dimensions can drive the geometry of a model. So for the benefit of those who are not familiar, I will take a very simple example of a box with a hole at its center. Now, as a designer it is my intention that the hole should always stay at the center of the box, no matter how much I increase or decrease it's length or breadth. So I create dimensions for the length and breadth and set up formulae for the hole dimensions (in red) to be exactly half of the length and breadth respectively.

Now I can give my "intelligent" model to any other designer who can look up the formulae that I set up in the variable table and deduce my design intent. And if I or someone else decides to pull a face in order to increase the length of the box, the formulae will ensure that the hole is repositioned back to the center of the box.

As you can imagine, you can do far more complicated things, but I think you get the point. Solid Edge ST is the first direct modeling system I have seen that offers such functionality. If you know of any other please do let me know.

In the next part I will discuss procedural features. Stay tuned.

Tuesday, July 08, 2008

Solid Edge with Synchronous Technology - Part 3

In Part 2 I discussed the Solid Edge ST steering wheel, a smart tool that adapts to the geometry it is attached to. In this article I will be discussing a concept called "Live Rules". To put it simply, live rules is a set of instructions that the user passes on to the steering wheel. The steering wheel decides the direction in which the faces should move/rotate. The live rules simply decide which faces should take part in the operation.

In the figure below I intend to move the hole further away from the center of the handle. The most obvious thing to do it select the hole (highlighted in orange) and pull it along the Y axis. This is what would happen in other solid modeling applications.

The hole moves all right, but the rest of the model stays put. Not what I had in mind. But if I do the same thing in Solid Edge ST, the hole moves and the rest of the model adjusts accordingly. Exactly what I had in mind.

This happens because of live rules. So now you must be thinking, "Wow! This live rules thing must be really smart." I got news for you. Live rules is the dumbest part of Synchronous Technology.

Please allow me to explain. First I need to show you the live rules window in Solid Edge ST. This is what it looks like.

This window pops up everytime you select a face. It is basically a extended face selection utility. A tool to select faces other than those you have already manually selected with the mouse. When I was moving the hole, the "Concentric" live rule was checked. That is why the outer cylindrical face of the hole (which happens to be concentric to the cylindrical face that I picked) was added to the selection and both faces were moved together. The other live rules kicked in to maintain tangency. Which means that if I had unchecked the "Concentric" live rule and then moved the hole, the rest of the model would stay put and give me the same undesired result as the first figure above. And this is exactly how other solid modeling programs work. To move the hole I would need to select the hole as well as the outer cylindrical face and pull them both to get the desired effect.

So why am I calling the live rules in Synchronous Technology dumb? Well, because they are not set automatically every time you select a face. The live rules window simply pops up with the settings you last used. And this is the fundamental difference between Solid Edge ST and other solid modeling programs. The developers of these programs have tried to make the software smart enough to guess what the user intends to do and set up similar rules internally. In effect they make the software think for the user, and not surprisingly, often get it wrong. In Solid Edge ST, the user thinks for the software. He sets up the rules and the software simply follows instructions. If the result of the operation is undesirable, then the user has himself to blame and not the software. Using this approach the user will always get a desirable result because he is the brain behind the operation and not some artificial intelligence coded into a complex face selection algorithm trying to read the user's mind.

As you can see, in both programs the same thing happens - two concentric faces are moved. The only difference is that in the solid modeling program the user has to manually select both faces, and in Solid Edge ST the user selects only one face and leaves instructions for the software to select the second. Basically Siemens has simply put the intelligence back where it belongs, in the human. Just that they have made it easier for him to use it.

They way Siemens has packaged this live rules thing into Synchronous Technology is brilliant. I salute the person who came up with it. When I model a part in Solid Edge ST everything happens exactly how I had planned. I have to remind myself that it is because my brain is driving the modeling operations. The software is simply following my instructions. The modeling process is so smooth that one can easily lose sight of that simple but profound fact.

Suggestion
Making a user set live rules is a good thing but I think Siemens can lend a helping hand here. I suggest that when I select a face, it would help if there is some visual feedback that shows me which other faces will be party to the operation due to the live rules that have kicked in. These faces could be given a glow or something that makes them look different from the rest of the model. This will save the user a lot of undo operations. When I select a face I find myself doing some mental calculations to figure out which other faces are going to join the party. While this may be quick and easy for small models, things can get complicated for complex models where the probability of gate crashers can increase. Sometimes I skip the mental calculations and go ahead and move/rotate the face and then find myself looking around to see of anything else is moving. This is a major distraction and takes away the joy of working with this technolgy.

Another Suggestion
When working with large models you often need to zoom into a particular section to interact more closely with that part of the model. It may so happen that a live rule that you set up may end up selecting a face which is out of view and out of your intented plan as well. For example, take the "Coplanar" live rule which automatically selects faces that lie in the same plane as the face you selected. You may want to move just the face you selected, but may end up moving another face that is out of view and that is coincidently coplanar with the face you selected. I suggest that in such cases, a visual feedback warning the user of something happenning out of the current view would be helpful. May be a thin band touching the side of the window most closest to the face which is out of view.

In the next part I will discuss 3D dimensions. This will address the issue of "design intent" that skeptics of direct modeling software have been talking about.

Solid Edge with Synchronous Technology - Part 2

While direct modeling software has been around for a while, I started paying close attention only when SpaceClaim came around. I am now convinced that this is the way ahead and whether the CAD vendors like it or not, their customers are going to ask to be served this dish. So they had better learn to cook it sooner than later.

For the benefit of those completely new to Solid Edge ST, I will first explain a few concepts. In my opinion, the main concepts that need to be understood are:
1) Steering Wheel - The direct editing tool that does all the magic
2) Live Rules - The rules that decide how this tool behaves
3) 3D Dimensions - Geometry driven by dimensions
4) Procedural Features - Arrays and patterns

The Steering Wheel

This contraption is responsible for all the direct editing in Solid Edge ST. It pops up when you click the mouse on a face. The big sphere at the center is called the origin knob and is positioned at the location where you clicked the mouse. The steering wheel can be moved to another face or even left dangling in space. To move the steering wheel simply click and drag the origin knob and the steering wheel moves along with it.

The long arrow is called the primary axis and automatically aligns itself to the face normal. In case of non-planar faces, it aligns with the normal at the location where you clicked the mouse. The primary axis points to a small sphere called the primary knob which can be dragged around to reorient it.

The small arrow is called the secondary axis and points towards one of the four secondary knobs on the steering wheel. To point the secondary axis to a different knob simply click the knob. There is also a blue disc between the origin knob and the wheel which is used to move geometry in its plane.

By now I guess most of you must be saying, "Enough of this axis and knob stuff. Tell me what this thing actually does?". Well actually, the steering wheel does just two things: Move and Rotate. They call it the synchronous move and synchronous rotate. These two are fundamental to understanding how direct editing occurs in Solid Edge ST. You get this wrong and you will find yourself clicking and dragging stuff around and getting weird results. Given below are two very simple examples of a synchronous move and synchronous rotate.


Synchronous Move


Synchronous Rotate

In the first case, I moved the top face along the primary axis. In the second case I reoriented the steering wheel while keeping its origin on the top face, and then rotated it about the new primary axis. The top face got rotated as well.

Now reorienting the steering wheel can be a hassle. It involves setting the secondary axis correctly and then dragging the primary knob around. You can often skip this step. Simply find another face to attach the steering wheel to. In my case, I moved the steering wheel to the front face and then rotated it. The front face was not selected and hence did not get rotated. The top face was selected and got rotated instead. Exactly what I had in mind.

I have only scratched the surface of the steering wheel. There is a lot more that can be done. To give you an example, there is something known as "Solve Type", which basically contols how adjacent faces on the model react to the modification. You can set it to simple or adaptive. In case of simple, adjacent faces are extended or trimmed as required, but will maintain their original orientation. In adaptive, adjacent faces are extended or trimmed as required, but can also change their orientation. The figure below shows the same face rotation operation with simple solve type on the left and adaptive on the right.


Simple and Adaptive Solve Types

Suggestion
I noticed that double clicking on the various parts of the steering wheel does not do anything. Actually the double click is processed as two single clicks, which means that the programmers have not processed the double click mouse event at all. Since reorienting the steering wheel can sometimes be a pain, it would be nice if double clicking the various parts of the steering wheel could do something intelligent and useful. For example, double clicking on a secondary knob (one of the four knobs on the wheel) could reorient the steering wheel to make the primary axis point in that direction. So in the case above where I reoriented the steering wheel manually by dragging the primary knob and waited patiently for it to snap somewhere, I could have simply double clicked on the required secondary knob and my steering wheel would have been already set up.

Similarly double clicking the origin knob could move the steering wheel to the centroid of the face or maybe someplace else. Double clicking the primary or secondary axis could swap them, and so on.

Next time I will discuss Live Rules. That's when things will get really interesting.

Bags of Money

One of my customers sent me this email today: "If you can come up with a piece of software that would allow SolidWorks users to save to a previous version of SolidWorks you’d do quite well with it. That’s a major problem for all SolidWorks users, lack of reverse compatability. Even if the file wasn’t fully functional (a newer version may have features that didn’t exist before) it would still be useful to save a file that was a solid with some features in the feature tree. Just a suggestion, you’d make bags of money with that one."

I replied, "Yes, and most probably get myself fired from the SolidWorks Partner Program as well."

Sunday, July 06, 2008

The Fight Over DWG Heats Up

For those who are wondering what this new noise between Autodesk and the OpenDesign Alliance is all about, here are some quick details. Autodesk has sought to cancel all six of the ODA's trademarks and service marks for "OPENDWG" and "OPENDWG and Design" in various categories citing the following reasons:
1) Autodesk has been using the term DWG since the 1980's
2) The ODA changed it's name from OpenDWG to OpenDesign in October 2003.
3) The ODA obtained the marks fraudulently.

The first two reasons do not need an explanation. However, the third one does. We all know that the ODA's entire business revolves around DWG. So how could they have possibly obtained a trademark for "OpenDWG" (the name of their libraries at that time) fraudulently?

Autodesk claims these reasons for fraud:
1) The ODA never used the mark in commerce as of the claimed date of first use.
2) The specimen of the mark submitted by the ODA was a photocopy of a CD. Autodesk claims that the ODA never distributed any CD's since all their software was available as a download only.
2) The ODA never used the mark for the claimed services: "providing multiple-user access to a global computer information network for the transfer and dissemination of a wide range of information".

There are a few other reasons as well. The first two reasons do not need an explanation. However, the third one sounds interesting. According to some Trademark Manual, "providing multiple-user access to a global computer information network for the transfer and dissemination of a wide range of information" refers to the service of Internet Service Providers and the ODA is certainly not an ISP. So why did the ODA register it's marks as an ISP? I have absolutely no clue. But it certainly seems like this one is going to come back to bite them.

Autodesk points to an earlier case where the judge observed that "if fraud can be shown in the procurement of a registration, the entire resulting registration is void".

So has the ODA shot itself in the foot?

Saturday, July 05, 2008

RasterDWG

Ralph Grabowski's recent post on the RasterDWG trademark assignment agreement between softelec and Autodesk made me dig a bit deeper. As I understand it, Autodesk appears to have convinced softelec to hand over their "RasterDWG" trademark "for good and valuable consideration". Ralph is of the opinion that ownership of RasterDWG is important to Autodesk for it's appeal in canceling ODA's ownership of OpenDWG. Makes a lot of sense. The more DWG related trademarks Autodesk has, the better will be its chances to get the trademark for "DWG" itself, and in the bargain, cancel the DWG related trademarks held by its competitors.

But what does not make sense is that the presumably well paid law firm hired by Autodesk have ignored one of the main rules of trademark registration and branding: "GET THE DOMAIN NAME". I was quite surprised to find out that rasterdwg.com was not owned by Autodesk. What's more? rasterdwg.com has never ever been registered by anyone, not even by softelec, which has owned the RasterDWG trademark since 1997. Shocking!!

So I decided to do Autodesk a favor and registered rasterdwg.com before a cyber squatter went ahead and registered it and then demanded a "good and valuable consideration" for it. I have redirected rasterdwg.com to point to autodesk.com. If Autodesk wants the domain name, all it has to do is ask. I will gladly transfer rasterdwg.com to them for no "good and valuable consideration" whatsoever.

Anyways, I have serious doubts about Autodesk being able to pull off this "DWG" trademark stunt. More so since it is now pretty obvious to me that the law firm that they are using gives absolutely no importance to something as important as a domain name.

From the Trademark Trial and Appeal Board documents, I gather that the law firm representing Autodesk in the DWG related trademark cases is Wilson Sonsini Goodrich & Rosati. Incidently, they have the perfect domain name: wsgr.com. This the same firm that is represeting Google and YouTube in defense of a highly publicized copyright infringement action brought against them by Viacom. This is what their web site says about the services that they provide their clients related to Trademarks, Copyrights and Advertising:

"Our attorneys counsel clients on the selection, protection and enforcement of company names, brand names, slogans and trade dress for U.S. and worldwide markets, including registration and licensing. We also assist clients with a wide range of counseling and litigation regarding copyright, consumer protection, unfair competition, and advertising and marketing practices."

And yet they concluded that rasterdwg.com was of no use to their client. Or maybe they are waiting for some unsuspecting cyber squatter to squat on the domain and then charge their client a bomb to sue the crap out of the him.

Friday, July 04, 2008

Solid Edge with Synchronous Technology - Part 1

Since I missed the Solid Edge ST product launches in India, Dora Smith, the Director of Public Relations at Siemens PLM Software was kind enough to fly a Siemens employee all the way from Bangalore to give me a demo at the SYCODE office in Goa. Shivakumar Channal, an Applied Specialist from Siemens ran me though the various aspects of Synchronous Technology and patiently answered all my questions. Over the next few days, as and when time permits, I intend to take Solid Edge ST for a drive and find answers to a few questions that people have been asking. Questions like: (1) Is this really new? (2) Is it really a hundred times faster? (3) Does the industry really need Synchronous Technology? And so on.

As I was driving Shivakumar to the airport, I asked him whether Siemens appeared to be in the mood of licensing Synchronous Technology to SolidWorks and other competitor. "No way," came the reply, "This is what sets us apart from the rest".

Taking a look at SolidWorks 2009 I am begining to wonder. SolidWorks 2009 looks a lot like 2008 minus the bugs and plus a few bells and whistles. Yes, I have seen the 171 page "What's New in SolidWorks 2009" document. I cannot believe that the SolidWorks development team has been only fixing bugs and adding bells and whistles in the past year. Something tells me that they are busy building SolidWorks 2010 ground up using the CATIA V6 technology. They had better, otherwise I believe that there is a fat chance of losing market share.

And when I say "losing market share", I do not necessarily mean that SolidWorks customers are going to abandon ship and move to Solid Edge ST or another feature inference modeler. I mean that the flood of AutoCAD users who are steadily deciding to go 3D are more likely to adopt a software that does not convolute their minds with a feature tree and yet gives them the power of a parametric modeler.

Which brings me to Inventor. Autodesk had better be doing something related to feature inference modeling, either counting the money to buy someone or spending money to develop their own. Because I do not believe that their loyal AutoCAD customers would extend their loyality and adopt Inventor in its present state, no matter how good an offer Autodesk makes them.

As you may have already guessed, I am impressed with Synchronous Technology. I now intend to rip it apart and see whether it has got what it takes to start a revolution.
Watch this space.

Wednesday, July 02, 2008

Autodesk and DWG

Ralph Grabowski has been doing a good job reporting on Autodesk's escapades with the DWG trademark. Autodesk has been trying to trademark DWG and cancel trademarks of other companies that have DWG related trademarks such as SolidWorks, OpenDesign Alliance (ODA), etc. His last post resulted in some interesting comments by Evan Yares, the former president of the ODA and Arnold van der Weide, the current president of the ODA.

Evan is suggesting that Autodesk may be trying to legally harrass the ODA and drive it to bankruptcy. Evan's opinion got my attention quite simply because he ran the ODA long enough to know what the ODA can and cannot do financially. Little wonder that Arnold was quick to point out that, thanks to it's wealthy sustaining members, bankruptcy was not in the ODA's future.

I cannot help wondering that if the ODA is financially well off, then why couldn't they use a better (and more expensive) legal team in the TrustedDWG law suit. If I remember correctly the Autodesk lawyers tool the ODA legal team to the cleaners on that one. But then maybe that's because they had a weak case to begin with.

I would like to repeat something that someone pointed out to me recently, "Adobe has not trademarked PDF. Microsoft has not trademarked XLS. Yet Autodesk is attempting to trademark DWG". I wonder what Autodesk is really up to here. Can a file extension be trademarked in the first place? What do you think?

Tuesday, July 01, 2008

Working Too Much

Like all workaholics, I have always felt that I lead a perfectly normal life. Untill today. I left home this morning for office and as I drove my mind wandered to an algorithm that I have been working on. I reached office, turned off the engine and was getting out of the car when I noticed someone on the back seat. It was my son. Instead of dropping him off at school, I had driven straight to office.

In these four and a half years, my son has looked at me in different ways. But nothing like the look he gave me when he asked, "Dada, what are you doing?". I mumbled something, got back in the seat and drove away to his school.

I am just 32 and by the looks of it, I will be needing the services of a shrink pretty soon. I dread to think what crazy things I will end up doing at the age of 60, if at all I last that long. If any of you have been through this and have managed to stay out of a mental asylum, any sort of advice would be greatly appreciated. I badly need it.