Deelip.com

Thursday, May 28, 2009

John McEleney's Comment on Parasolid

I guess you can imagine how hard it is to get an official comment from SolidWorks on the issue of them continuing to using Parasolid, a modeling kernel owned by their rival Siemens PLM Software. I am still trying to get something out from them. However, I have been recently speaking to former CEO John McEleney and asked him for his views on the contentious issue. This what he had to say:

"I do not think it's appropriate for me to comment on behalf of SolidWorks - Jeff Ray or Austin O'Malley are probably the best people to speak with. 

The one thing I can say that I know the past, current and any future team would agree with is: that we simply did not want people to be bothered with or worry about the technology foundation that was used. Our feeling was always that we wanted to remove the technology hassles/details from the user and provide them with what they wanted: powerful, affordable easy-to-use 3D."

Although John McEleney is no longer affiliated with SolidWorks, he is a big supporter. He stepped down from the board approximately one year ago and has recently joined a start-up called CloudSwitch as CEO, a company still in development mode and which is doing something related to cloud computing.

Direct Editing and Direct Modeling

Paul Hamilton's comment made me wonder why there may be some confusion regarding what I have been calling "Direct Editing" on this blog. Alibre and its customers claim that they already have direct editing, and some think that it is the same as what SpaceClaim, Siemens and others are offerring. The problem has been the term "Direct Editing". I should have been using the term "Direct Modeling" instead and I will begin to do so from this post onwards.

This post will also serve as a comparison (as I see it) between the Direct Editing capabilities offerred by Alibre Design and SolidWorks.

Alibre Design has a sub-menu called Direct Edit in it's Feature menu that contains a bunch of commands to directly edit something. We will find out exactly what in a while.



Now lets see how direct editing works in Alibre Design. I sketched a 1" x 1" square and extruded it by 2" to get a box.


I then used the Push Pull Face or Sketch command from the Direct Edit sub-menu and used the mouse to push the dark colored face (in the figure above) into the solid by 1" to arrive at a cube.


I then used the same command to pull the same face outward by 1" to return to the original geometry.



Now let's see what happenned to the feature tree.



After the Extrusion feature we now have two Move Face features. So although the geometry is exactly the same as before I started direct editing, we now have two extra features. So if I were to sit all day and push/pull a million times I would have a feature tree a million features long and would still have modeled a 1" x 1" x 2" box. This is called Direct Editing in Alibre Design. But what is it directly editing? The Extrusion feature? No. If it were directly editing the Extrusion feature then the extrusion distance parameter would have been modified from 2" to 1" and then back to 2" and we would have just one Extrusion feature in the tree. Direct Editing in Alibre Design means adding features to the feature tree.

Now lets see how SolidWorks does the same thing. I created a similar 1" x 1" x 2" box in SolidWorks by extruding a square and turned on Instant3D, their direct editing feature. I picked the square face, pushed it into the solid and then pulled it back. When I looked at the feature tree I found that there is still the single Extrude feature and no other features. So it appears that SolidWorks is smarter then Alibre Design because it recognized that the face I was pushing and pulling was created by an extrusion and modified the extrusion distance instead of adding Move Face features to the tree. Direct Editing in SolidWorks means that you directly edit the parameters of a feature, whereas in Alibre Design you directly edit the entire model by adding features to the end of the feature tree.

So you might think that SolidWorks has a better Direct Editing solution than Alibre Design. Well, according to me, it is quite the opposite. I bet you will find this interesting. Lets go back to Alibre Design and push one of the rectanglular (not square) faces into the solid. As expected, the face is pushed in and a third Move Face feature is added to the feature tree. If you try and to the same thing in SolidWorks, the rectangular face does not get pushed into the solid. Rather the entire model is pushed in space. This is because SolidWorks cannot find an Extrusion feature corresponding to the rectangular face and hence cannot change its value to push the face into the solid. SolidWorks does have a separate Move Face command, which is not tied into the Instant3D feature, which can be used to move the rectangular face into the solid. But just like Alibre Design it adds a Move Face feature to the feature tree.

So if you compare the two in terms of directing editing a model using the mouse, I would prefer Alibre Design to SolidWorks, simply because they have managed to let the user use their Move Face command (they have one as well) with the mouse. SolidWorks has not yet managed to tie their Move Face command to Instant3D. However, it would be nice if Alibre Design would not add Move Face features if the user was moving a face linked to an extrusion. However, both end up messing up their feature trees. And this is Direct Editing when it comes to history based parametric modeling systems like Alibre Design and SolidWorks.

As you can see, it is quite a messy affair. I call it messy because in order to make a modification, a user has to study the history tree and figure out which sketch or parameter of which feature he needs to modify in order to effect his change. And now if users can arbitrarily move faces using Direct Editing commands, the feature tree is bound to get only more and more complicated and difficult to understand and work with. No model is perpetual. It undergoes several changes thoughout its lifetime with the changes being made by different people. As a programmer, I know how hard and frustrating it is to modify someone else's code, especially if the programmer has not left comments in the code. In SolidWorks you can add comments to a feature. In Alibre Design, I don't believe you can.

Direct Modeling is an entirely different ball game. Direct Modeling systems are not history based, although some like Solid Edge ST have features, parameters and constraints. In others like Spaceclaim, a model is simply a bunch of closed solids and open surfaces. These systems give the user the ability of directly modify the geometry of a model without being constrained by the limitations associated with history based systems. They differ in the way they offer this functionality and the outcome of a modeling operation, but essentially they are all about making the geometry creation and modification processes quick and easy.

The fundamental difference between Direct Modeling systems and history based systems is that Direct Modeling systems make or allow geometric changes by taking a bird's eye view of the entire model, whereas history based systems make or allow geometric changes by performing modeling operations in a sequential mannger. Hence they lack the flexibility of Direct Modeling systems. Its like deciding your trip by looking at a map as opposed to reaching a place and then deciding where to go next.

Alibre and SolidWorks seem to be of the opinion that their customers need Direct Editing and not Direct Modeling. I know for sure that Alibre feels that way. In a comment, Paul Grayson, the Founder and CEO of Alibre said, "Alibre already has direct editing and the non-history based editing is simply a feature, not the basis for a product." Clearly, Alibre and SolidWorks feel that Direct Editing, of the kind I showed above, coupled with the benefits and power of history based parametric modeling outweigh the value proposition offerred by Direct Modeling systems. I tend to think otherwise. As Direct Modeling technologies evolve to more closely integrate parametrics, features, constraints and all the things that make history based systems powerful and also difficult to use, I believe we are going to see the sense in what some consider to be a rush towards Pushmi-Pullyu CAD.

I hope this explains a few things. And I promise never to use the phrase "Direct Editing" when talking about non-history based systems.

Wednesday, May 27, 2009

Direct Editing and the Future

Solid modelers like IronCAD, CoCreate, KeyCreator, etc. have been doing direct editing for quite a while. But somehow the entrance of SpaceClaim was the event that got every one's attention, mine as well. Paul Grayson, Founder and CEO of Alibre, left a comment asking me, "You have been over the top on Direct Editing since SpaceClaim hit the market. I recall your prediction that SpaceClaim would get snapped up by someone for Billions! What happened to that?"

I guess SpaceClaim did not (and probably will never) get bought because other CAD vendors decided to "make" instead of "buy". Maybe the "billions" were the problem. We know that today they certainly are. I may have been wrong about other CAD vendors buying SpaceClaim or their technology. But I was not wrong about the reason for doing so - to add a direct editing solution to their products. Siemens, Dassault and now Autodesk are ample proof of that. I have said on this blog earlier that as far as direct editing is concerned PTC is not sitting idle, which is pretty much all that they will let me say for now.

I believe that direct editing is going to be an integral part of our future. Not just because I believe that it is a good thing. We have discussed its benefits and drawbacks over and over again. But there is another reason that many of you may not have realized. The purpose of this post is to highlight that reason.

If you were an exisiting Solid Edge 20 user (the version just before Synchronous Technology) and you installed Solid Edge ST, you would be given an option of using old history style modeling or direct editing. But if you installed Solid Edge ST on a computer without a previous version of Solid Edge, you would be able to do only direct editing. At least I could not easily find a way of doing history based modeling on a new license. This means that Siemens has already decided for new users how their future will look like. I guess Siemens may have wanted existing users to adopt direct editing as well, but they must have realized that switching to direct editing is not something that can be done in a day.

My point here is to draw attention to the myth that customers decide what the future holds for them. Sure they give feedback, report bugs and submit enhancement requests, some of which are considered and implemented in future versions. But ground breaking changes are almost never decided by customers. The Microsoft "ribbon" is a perfect example. Microsoft simply decided that the menu should be the past and the ribbon should be the future and shoved it down the throats of its customers.

I can go on giving you many such examples, but I think you get my point. Direct editing is an excellent thing. But that is not the only reason why I believe it is going to be the future.

In another comment Matt Lombard said, "CAD manufacturers have shown that they are willing to make the leap, but the other half of the market (customers) are not showing that propensity in significant numbers yet." I believe that customers don't need to make a leap. They will simply be airlifted and dropped on the other side.

So when I say things like SolidWorks and Alibre are "stuck in the past", I do not mean to look down on the companies and their visions of the future. My opinions are based on my vision of what the future will look like, which seems to converge with the visions of the majority of CAD vendors.

Paul Grayson ended his comment by saying, "Why should Alibre, or SolidWorks for that matter, waste development resources on features that their customers are not asking for? Hopefully, we are not expected to write code solely based on what our competitors do and the opinions of industry pundits."

Maybe Paul has a point. It would be nice if Alibre and SolidWorks resisted the movement towards direct editing. At some point in the future, we would then be able to let customers determine which direction was the better one. Or maybe not. Because like I said above, the CAD vendors are taking decisions for the customers, and we already know which side of the fence most of them are on.

Tuesday, May 26, 2009

Kernel Conclusion

It all started with me speculating about SolidWorks' use of Siemens' Parasolid kernel and not Dassault's V6 platform. Then to drive my point that this was a business issue and not a technical one, I used IronCAD as an example to show how a CAD system could easily switch between two modeling kernels, that too on the fly. Today, someone from IronCAD left a comment that confirmed my theory.

"[IRONCAD] Users can design their models using a specified modeling kernel. This provides them the ability to work in the most common kernel that they may end up exporting to downstream in the design (helping to eliminate translation issues). However, IRONCAD has technology to 'Kernel Collaborate' which is nearly invisible to the user. Kernel Collaboration means that IRONCAD can use both kernels to build the underlining solid model. For example: Say the user was working in ACIS to build their model. They add a blend to the model that ACIS cannot support for some reason. IRONCAD will automatically pass the operation to Parasolid to attempt the modeling operation. If successful, it will build the blend and maintain the model in ACIS. At this point, you might think I mistyped that. No I did not. The model is still in ACIS. However, the results of the body are made up of both Kernels. If the user exports to ACIS at this point, the result would still be the same since it is just the final b-rep body.

IRONCAD does not have many issues in translating back and forth between ACIS and Parasolid once the model is inside of IRONCAD. We maintain a common tolerance which reduces many issues found in direct translations. In most modeling cases, you can take an ACIS model and change its type to Parasolid and visa-versa without any issues. Of course there may be the rare exceptions to this but IRONCAD performs regular testing on this capability. Most cases where issues would occur would be in non-manifold conditions where ACIS can support and Parasolid does not, but this is not normally a common modeling case."

This pretty much proves what I said earlier:

"The job of a modeling kernel is to end up with a valid watertight solid model, basically trimmed NURBS surfaces stitched together. A modeling kernel has very little to do with the presence or absence of parameters or history that makes up the recipe which cooks up that solid body, if any at all."

I am not suggesting that the task of SolidWorks switching kernels is, in any way, an easy one. Just that it may not be entirely impossible to do so, as some might believe.

WTF is Digital Prototyping - Part 2

A year ago I did a Part 1, in which I defined Digital Prototyping as "the difference between modeling and designing". At that time I was talking about Autodesk and its idea of Digital Prototyping, while keeping Inventor at the center of the concept.

Today I would like to talk about another company that is doing digital prototyping - a company called GEOMATE with its product CADCALCS 2.0. I don't believe I have seen anything like CADCALCS before. To put is crudely, it is a geometric calculator. But it is actually much more than that. I could spend an hour trying to explain what CADCALCS does in words here, but I think you will get a much better idea if you see this video. After you do that take a look at this PDF document to see a bunch of examples where and how the software may be used.

Even in the case of CADCALCS, my definition of Digital Prototyping still remains the same - "the difference between modeling and designing". Like I said in Part 1, geometry is a solved problem. Of course, we will constantly strive ways to find new ways of arriving at geometry, such as direct editing or the thing which comes after that, but the real problem is to find an easy and accurate method of arriving at the right geometry that will satisfy the design requirements. This is a very complex problem and is probably the reason why we still need a particular class of humans to design something, a class called Engineers. Technology can only make our work easier; and CADCALCS is one such technology.

CADCALCS 2.0 is priced at $499. They also have an educational price of $99, which I believe is fantastic. A software like CADCALCS is an excellent tool to get young minds interested in engineering. For that price you even get an extra license for home use and free technical support via the web.

Monday, May 25, 2009

GRANITE Cross-Release Interoperability

During my recent visit to the PTC headquarters in Needham, Asa Trainer, Director - Product Management, explained to me PTC's solution to the legacy format interoperability problem, something which I accused many CAD vendors of deliberately ignoring in my last post. Their solution is called GRANITE Cross-Release Interoperability or GCRI. I believe that this solution is the only one of its kind in the CAD industry today. At least I am not aware of any other CAD vendor doing something like this. In this post I will try and explain GCRI and the issues surrounding it.

PTC uses an in-house developed modeling kernel called GRANITE, similar to ACIS from Spatial, Parasolid from Siemens, etc. GRANITE is also used for interoperability to read and write native Pro/E part and assembly files. GCRI is basically a plug-in to GRANITE interoperability kernel.

With the GCRI plug-in, a Pro/E Wildfire 2.0 user can read files created by later versions of Pro/E. I will not get into the technicalities of this, because then I would need to explain things like Associative Topology Bus (ATB) and Translated Image Model (TIM). However, if you are interested to dig to the roots then I suggest you read this document.

The GCRI plug-in gives Pro/E the ability to do the following wonderful things:
1) Open a later version Pro/E file and display the feature tree. However, the feature tree is read-only and cannot be edited.
2) Add new features to the feature tree and save the file.
3) Open the saved file in the new version of Pro/E and "graft" the new features added in the older version back into the new version.

All this happens without any loss of design data. So effectively with GCRI you can now have a single Pro/E file which has been edited by more than one version of Pro/E. Obviously, this is a far better way for users of different versions of Pro/E to work with each other, as opposed to exchanging data using neutral file formats like IGES and STEP.

So now to the all important question. What happens when PTC adds new features to Pro/E that never existed in a previous version? Well, its actually quite simple. The features simply don't show up in the feature tree, which is quite understandable. So if a user of a newer version of Pro/E does not use any new features, he can work seamlessly with the user of an older version of Pro/E. The fact that the user of the older version can actually add features to a newer version file is simply amazing.

Needless to say, I find GCRI to be simply awesome. What I do not find awesome is the fact that GCRI is available only to customers on maintenance, which ironically, defeats the very purpose of GCRI. If a PTC customer is on maintenance then he already has the latest version of Pro/E and does not need GCRI. Of course, he would need something like GCRI if he paid his subscription fees, received all the latest software, never opened the box and still continued to use his old version.

I sincerely hope that I have misunderstood something here, because try as I might, I cannot get myself to believe that this wonderful technology is going to waste.

Sunday, May 24, 2009

Kernel Confusion and Legacy Models

Evan Yares left a comment on my earlier post ("Inventor Fusion and SolidWorks Confusion"), attempting to explain why SolidWorks could not switch to the Dassault V6 modeling kernel. This is what he had to say:

"There are very good reasons. I don't think they're beyond your comprehension -- but they may be beyond your experience. Talk to someone who has done kernel-level interoperability work, and ask them how easy it is to replicate the weirdnessess of one kernel in another. The issues of surface parameterization and modeling tolerance alone are enough to make most developers run away screaming. Dassault owns both the ACIS and CATIA modeling kernels. Either one could be 'bolted in'. Neither one would provide support for legacy SolidWorks models."

When someone like Evan says something, I listen. He comes with a lot of experience in the CAD software industry. However, on this particular point, I would beg to differ.

IronCAD offers its users a choice between two modeling kernels - ACIS and Parasolid. Their software works perfectly with both kernels. IronCAD does not maintain two file formats, one for each modeling kernel. This is because the job of a modeling kernel is end up with a valid waterright solid model, basically trimmed NURBS surfaces stitched together. A modeling kernel has very little to do with the presence or absence of parameters or history that makes up the recipe which cooks up that solid body, if any at all. Tomorrow morning the developers at IronCAD could very well add a history tree to their software and still continue to use both modeling kernels.

IronCAD is a perfect example of how a solid model created by the ACIS modeling kernel can be converted into an exact same solid model as defined by the Parasolid modeling kernel, and vice versa. IronCAD users are even known to switch between modeling kernels, because one does blends better than the other. In fact, I believe that IronCAD is the best way of transfering data from modeling systems that use ACIS and Parasolid, as compared to using neutral file formats like IGES and STEP. Their programmers have figured out a way to map data perfectly between ACIS and Parasolid.

I may not have a lot of experience in modeling kernels, but I do happen to have some experience in file formats and the issues that surround them. But in this case, a little bit of common sense was more than enough to figure this out. I believe that the programmers at SolidWorks are at least as competent as those at IronCAD. This SolidWorks-Dassault kernel discussion is a business issue, not a technical one.

And talking about SolidWorks wanting to support legacy files is a joke. They don't even save to earlier versions of their own software. The excuse given is that they add new features in every new version that cannot be broken down into older features. Anyone with half a brain and a little knowledge of the SolidWorks feature tree will be able to see how much water that argument really holds.

For argument sake, lets accept the SolidWorks argument at face value. I have another question. Why cannot SolidWorks save to an older version as a dumb solid? There can certainly be no reason for not doing so. If a SolidWorks 2009 user wants to send a model to a SolidWorks 2008 user, he needs to export to a neutral format which can then be imported into the older version. This introduces huge problems of missing geometry, gaps and what not. Instead of putting their customers though this, doesn't it make sense for SolidWorks to spit out an older version file with the model as a dumb solid. At least the user of the older version will not have to worry about the integrity of the data that he has received from another SolidWorks user.

And this is true for all parametric modeling systems, not just SolidWorks. We all know why these CAD vendors do this. They actually shove their "valued" customers down a path of great risk in the hope that they will upgrade to the latest version or buy a subscription.

Trust me, you don't want to get me started on this.

Saturday, May 23, 2009

AutoCAD Fusion

In a post on this blog six months ago, I wrote:

"It is my prediction that a version of AutoCAD in the not so distant future will have 3D direct modeling capabilities equivalent to (or probably better than) what we see today in SpaceClaim and Solid Edge ST."

Today I would like to reiterate my prediction once again. I believe it will eventually happen. It seems to be the most logical thing to do.

AutoCAD has the largest base of CAD software users. Every other CAD software vendor is trying just about everything in its power to woo this huge base. Not always to make them dump AutoCAD and adopt their software, but sometimes to sell them stuff that works with AutoCAD. For example, an AutoCAD 2D user wanting to do some serious 3D work is more likely to use a direct modeling system like SpaceClaim rather than learn a parametric modeling system like Inventor.

In recent times Autodesk has been making the right noises in terms of adding 3D capabilities to AutoCAD. They even hired a Product Manager called Guillermo Melantoni for that exact purpose. Clearly the idea here is to prevent customers wanting to adopt 3D in their work flow from looking for technologies outside of the Autodesk stable.

Assuming that Autodesk does not piss off its AutoCAD customers too much with its pricing, subscription and product retirement policies, AutoCAD users would prefer to look for technologies that they need within the Autodesk stable itself, rather than risk jumping ship to another CAD vendor. So with Inventor Fusion, Autodesk is offering its AutoCAD customers a reason to stick with them. I don't believe the purpose of Inventor Fusion is to make people switch from SolidWorks or Solid Edge. Rather it will be more effective as a deterrent for preventing AutoCAD users from looking to other CAD vendors for solutions to adopt 3D in their work flow.

But lets move a step further and take a closer look at my prediction. AutoCAD is a platform that is used across several industries. Inventor Fusion will be an answer that will work only for the MCAD industry. What about the others? Doesn't it make sense for Autodesk to add direct editing capabilities right inside AutoCAD itself? In AutoCAD 2010 they already added 2D constraints and I am sure 3D constraints is on its way. So all that is left to do is link the constraint system to the underlying modeling kernel and you have an Inventor Fusion like technology right inside AutoCAD. I am sure there is a lot of work involved here, but my point is that the situation is ripe for Autodesk to do this. And so is the business case.

The underlying logic of my prediction is based on the simple assumption that if you give AutoCAD customers direct modeling capability right inside AutoCAD itself, a software that they have learned to trust and are quite familiar with, Autodesk actually ensures that their customers stay with them. Obviously some AutoCAD users may move to Inventor for the Digital Prototyping features, but the ones who simply want to model in 3D will not find the need to look elsewhere. Moreover, this way Autodesk can effectively market AutoCAD and Inventor with Digital Prototyping as an explosive combination that can make a huge mark in the MCAD space. Right now, AutoCAD and Inventor look and feel like two opposites sides of two different coins.

The beauty in all of this is that adding direct editing to AutoCAD does not break it or change it drastically. An AutoCAD user can still work in 2D just like how he did a decade ago. For those who do not need it, life will remain the same. But for those who do find the need for direct editing, life will be much easier and will gladly sign those subscription payment checks. In fact, I would be extremely surprised if Autodesk does not add direct editing capabilities to AutoCAD immediately after they have let the world test the technology in Inventor Fusion.

Like I said, it seems to be the most logical thing to do. If any of you can think of a reason why Autodesk should not go down this road, I would like to hear from you.

Friday, May 22, 2009

Inventor Fusion and SolidWorks Confusion

The Lonely Engineer blog is dead. I have to admit, I never really understood what it was all about. The subtitle of the video blog read "One engineer's adventures with direct and parametric CAD", although I don't remember Roger ever mentioning anything about direct and parametric CAD. Too bad I cannot cross check because the all posts, except the last one, have been deleted. The last post, dated 19th May, is basically a suicide note (in terms of blogging) and a pointer to a new video of Inventor Fusion.

At COFES 2009, Buzz Kross, Senior Vice President of the Manufacturing Solutions Division at Autodesk, let me know that they would be releasing Inventor Fusion on Autodesk Labs in May ("Inventor Fusion is Coming"). Maybe the death of the Lonely Engineer blog is timed to match the release of Inventor Fusion. Lets see. But for now, I suggest that you see the video.

I wonder if Inventor Fusion will be the final straw for SolidWorks. Probably something that will finally make big brother Dassault let them use their V6 direct editing technology. It is an open secret that Dassault does not appreciate SolidWorks eating into it's market. That probably explains why direct editing technology, of the kind that we see in V6, has not yet found its way into SolidWorks, after all this time. Heck, Dassault still makes SolidWorks use the Parasolid modeling kernel by Siemens to do its basic modeling, thereby lining the pockets of competitor Siemens.

For its part, Siemens has made it quite clear that Synchronous Technology is for their use only and will not be licensed to competitors. So obviously, if SolidWorks is to move beyond Instant3D, it would have to either borrow/license direct editing technology from Dassault or someone else or develop its own.

So if I have understood this correctly, Dassault prefers that SolidWorks (a company that it owns) pays hefty royalties to Siemens (its competitor) for every license and subscription of SolidWorks that it sells, as opposed to earning royalties from SolidWorks (a company that it owns) for letting SolidWorks use its V6 technology. I am sure there is a very good reason for this kind of thinking, but it is certainly well beyond the limits of my comprehension.

Something else strikes me. Alibre has been constantly comparing itself with SolidWorks, more in terms of functionality and less in terms of price. I can now see the similarity between the two on another level. In the part of the mid range CAD market that I track, Alibre and SolidWorks seem to be the only couple that I consider to be still stuck in the past.

Monday, May 11, 2009

Back To Work

I am back in office after almost a month and the place is still standing. Which means that my employees no longer need me to run my joint. And that is a good thing.

The picture below shows the stack of business cards that I accumulated during my meetings in this mammoth US-Europe trip. It also reminds me of the number of people I need to initiate or continue conversations with.



I think I should get started.

X Rated Code

In my OpenCAD book, I explain how to write a DRX plug-in. I start with a simple "Hello World" plug-in using just 22 lines of code. I started a group called "DRX" at IntelliCAD.net and posted the 22 lines of code there. Daniel, a brilliant programmer and avid contributor to IntelliCAD.net, beat me by posting a minimal ARX/BRX plug-in on the "Bricscad" group of IntelliCAD.net that has just 17 lines of code.

I am beginning to like this X rated coding. I wonder if anyone can come up with something smaller.

$500 Discount on Inventor

Looks like someone is very pissed with Autodesk. While that is not a new thing, this particular someone (who calls himself JohnJohn191138), has started a blog called "Autodesk does NOT want you to know this..." and his first (and probably last) post has the same title. John claims to be working for a "prominent Autodesk reseller" and goes on to disclose the dirt about the ACE (Autodesk Customer Engagement) program instituted by Autodesk.

Bottom line, if you are interested in purchasing Inventor and want to save $500, a simple mouse click will do the trick. If you haven't already, now would be a good time to read the post. In fact, it was written two weeks ago.

If any of you have recently bought Inventor from an Autodesk reseller I would be interested to know whether there is truth in any of this. If you do comment to this post to either confirm or deny John's claims, I would appreciate it you did not do so anonymously. Otherwise, please feel free to comment anonymously if you want to shed more light on this issue.

If John's claims are true, then personally, I do not believe that Autodesk is doing something extremely wrong here. There are far more greater things to talk about when it comes to ethics, morals and CAD software vendors.

I am more interested in knowing whether this John fellow really works for an Autodesk reseller or is the figment of the imagination of one of Autodesk's many rivals who have somehow got wind of what really goes on in the ACE program. If someone has decided to buy Inventor instead of their product, then why not let the cat out of the bag and make Autodesk take a hit of $500 per license.

Or maybe John is a figment of the imagination of someone in Autodesk marketing who is high on pot, although that seems a bit far fetched. I am pretty sure that Autodesk has better ways of telling the world that they are giving a $500 discount on Inventor.

Or maybe John actually works for an Autodesk reseller, which may pretty well find itself in a lot of trouble if Autodesk manages to find out who is really behind this.

Note: I understand that John has not been able to get his message across as effectively as he probably would have wanted to. That's probably why he is spamming CAD blogs with comments containing his post, mine including. So by blogging about John and his blog some may find me guilty of promoting this guy. So be it.

Thursday, May 07, 2009

Something To Think About

In 1977, when I was two years old, a man arrived in Goa, my home state, which was (and still is) a famous tourist destination for foreign tourists. This man had just finished his studies and decided to take off for a year with nothing but a back pack. He traveled across Sri Lanka, large parts of India and even landed in Nepal. Although this man roamed from city to city in India, he liked Goa the best and spent a lot of time on its beaches.

I remember my father referring to such people as "hippies". They were people who really didn't care about tomorrow. We have a few of them wandering about Goa even today, but not to the extent that they prevailed in Goa thirty years ago. They organized parties on our beaches and sang the mantra "Hare Rama Hare Krishna" as they smoked and drank all sorts of things till the sun rose in the morning.

I had the impression that such people either smoked themselves to death or ended up in the lowest strata of society and lived off welfare. That changed when I shook this man's hand at COFES 2009 last month. He is the CEO of a CAD software company.

The Bricsys Automated Testing System

AutoCAD clones have been termed unstable and unreliable since they first appeared on the market. And this is not just Autodesk spreading FUD (Fear Uncertainty Doubt). I remember at the IntelliCAD World Meeting in Athens last year, Dave Lorenzo, the CTO of the ITC, painted a horrible picture of the old IntelliCAD 6 code. This was not in private, but in front of all the attendees and press. He mentioned that the old code had 1000 line functions, which any C/C++ developer will tell you is a pain to maintain, fix and debug.

For this very reason, Luc de Batseiler, the CTO of Bricsys, was quite keen to show me their automated testing system that they had developed in-houseas part of their rewrite of their CAD platform. Luc called the old ITC code a nightmare and the main reason for instability and poor performance, some of the adjectives that he does not want the rewritten Bricscad to be associated with.

The system is quite complicated but I will try and dumb it down a little for sake of clarity. The main highlight of their system is the way they write the tests. First let me explain how tests are normally written. A programmer writes code and builds it into an application. This application is used internally by the testing team or externally by beta testers, who report bugs and crashes to the development team. The concerned programmer then fixes his code and then proceeds to write a small test command (usually in a plug-in) which verifies that the bug has been fixed. This test is added to the list of existing tests which are run automatically or manually after every build is created. This is vital because it is quite possible that another programmer may modify something else in the code which brings back the bug that the first programmer was responsible for. This is called Regression Testing.

Bricsys does this a bit differently. They first write the tests and then write the code. Let me explain this with a simple example. Suppose I am writing code that computes the geometric propeties of a circle, say its area and circumference. After I write the code I go ahead and build the application. As part of testing my code, I run a command that I know uses the circle related code I just wrote. Lets assume that this particular command uses only the area calculating code and not the code to calculate the circumference. The command works fine and I release the build for the testers to do their work. The testers will run the same command but with more data. After testing is successful, I mark the build as a production build and it gets into the hands of the general public.

All this time the circumference code has not really been tested. I have used a very rudimentary example (area and circumference) to explain the concept, but you must understand that code is usually a vast set of logical instructions which behaves differently for different data sets. The Bricsys approach is to test all conceivable ways that code can be used in order to trap bugs and crashes before the software even lands in the hands of the testers. So continuing with the circle example, first Bricsys would write two tests - one to calculate the area and another to calculate the circumference of a set of circles and test the outputs with known calculated values. They would then proceed to write the code to do the actual calculations for the area and circumference.

So now hoping that I have not lost you, I will proceed to explain how the testing is carried out and to what extent it is automated. Bricsys has offices in Belgium, Russia and Romania. All their source code resides on a server. Before a programmer from any of their development centers works on the code he first checks out a local copy from the server and uses it. After he is done with his work, he pushes a button which automatically runs all the tests on his local build of the application. If all goes well, he checks his code back to the server. The moment he does that, a series of events are triggerred. The server rebuilds the code, builds an installer and initiates installations on the various testing servers. All this happens automatically without any human intervention. Once the testing servers have the latest build installed on them, they automatically fire the tests that they are programmed to carry out. After all the testing servers are done testing, the results of the tests are posted on the intranet for the concerned people to see and take necessary action. Either way, every night this entire operation happens anyways.

Luc showed me some of the testing code and the testing results of the past few days. He pointed me a jump in test failures on a particular day. "This is because on that day, we replaced the ITC geometry library with our own. We are now working towards eliminating the test failures", he said. "When the number of failures become zero, we will release the build as a beta to our beta testers. Although we try and be as exhaustive as we can in our tests, it is by no means a fool proof approach. Our beta testers report bugs and crashes, which we analyze, fix and add then create tests to see that they do not surface again."

I asked Luc how long the entire building and testing process took once a programmer checked in his code. He replied, "First we had one server for the code and another server that did the testing. As the number of tests grew, we added more servers and split the tests between them. To give you a sense, the DRX plug-in that contains the tests for Bricscad is 22MB, whereas the Bricscad executable file is just 6 MB. From the time a developer checks in his code, it will not take more than half an hour for the server to rebuild the software, rebuild the installer, reinstall the software on the testing servers and have the testing servers perform the tests and publish the results. If we see that the time exceeds half and hour, we add another testing server".

Every software company talks about how they go to lengths to make their software the best. This was the first time that a company actually showed me their stuff. Luc showed me a great deal more, but that was for my eyes only.

Bricscad for Linux

Ever since word got out that Bricsys was developing a version of Bricscad for Linux, people have been bombarding Bricsys with questions regarding it. Luc de Batseiler, CTO of Bricsys, told me, "Every week we get at least 3 to 5 inquiries for a Linux version." CEO Erik de Keyser added, "People are even offering to pay in advance for it in order to help us fund the development. It's unbelievable. Money is the least of our problems. Time is."

Now that the rewrite of the Bricscad platform is almost over, Bricsys is free to concentrate on other things, and one of things on their plate is the Linux version of Bricscad. Luc tells me that they intend to release a beta this year. "This is new to us as well, and we do not want to come up with a half baked solution", he said.

Bricsys has also planned a version of Bricscad for the Mac - native support, not some solution using VMWare or Parallels. There has been some noise from Autodesk on this front as well. It will be interesting to see which company gets there first, Bricsys or Autodesk. Lets see who follows whom.

Wednesday, May 06, 2009

Chocolate

I have been out of home for 23 days now and have left my wife alone to take care of our two boys - Reuben (5.5) and Russell (1.5). As it turns out, both boys have been driving her up the wall, day and night. I call home twice a day to get a sense of my wife's state of mind. Slowly but surely I have come to the conclusion that she is going to crucify me when I get home. Moreover the pictures that I have been posting on this blog showing me frolicking around the world have surely aggravated the already volatile situation. And this is a big problem for me.

Eric de Keyser, CEO of Bricsys, today tried to help me solve this problem. I have heard that chocolate does wonderful things to women and Belgium happens to have the best chocolate in the world. Today Erik took me to his favorite chocolate where they make and sell hand made chocolate. Apparently, the owner of the shop has written books on the subject. "Your problem will be solved. I guarantee it. In fact, she will send you back here", Erik told me as we left the shop. For my sake, I hope he is right.

I leave for home tomorrow morning. This has been a wild trip for me. I rode a Harley Davidson in Hawaii and a cycle in Belgium. I criss-crossed the US, flew to the middle of the Pacific ocean and crossed the Atlantic twice. I have been continuously bombarded with information throughout this trip - COFES, ODA World Conference, PTC and Bricsys.

Now I have only one fear that is gripping me. The fear that Russell will not recognize me when I get home. That will surely break my heart.

Tuesday, May 05, 2009

The Story of Bricsys

Erik de Keyser, currently the CEO of Bricsys, is an architect by profession and got involved in 3D in the late 80's as part of his own practice. He started developing an architectural package with two developers, one of which is still with him and heads the Bricscad platform development effort. The software ran on something called AES (I am too young to know what that was) which ran on IBM machines. Erik's company was called Bricsnet and IBM eventually bought a stake in his company. At that time BRICS stood for Building Related Interactive Computer System. Today, the "Building" in BRICS has been replaced by "Business".

Anyways, in 1992 IBM eventually dumped AES which left Bricsnet in the lurch. Erik had to make a decision between continuing developing his architectural software for AutoCAD or Microstation. He went for Microstation because it ran on Windows, Unix as well as the Mac, and at that time nobody guessed that Windows would be what it is today. Erik's team developed their Architectural software for Microstation for two years and in 1994 they released their first version. It was called Bricswork. Bentley was pretty interested in Bricswork because it needed vertical applications to counter those of AutoCAD.

As it turned out, Bentley bought into Bricsnet and also bought the distribution rights for Bricswork. Bentley also ended up co-owning the Intellectual Property of Bricswork. They changed the name of the Bricswork to Triforma. Then something happenned which Erik does not want me to write about. To make a long story short, Erik sold everything to Bentley and restarted development of his architectural software on AutoCAD and IntelliCAD. He called the product Architecturals. During the dot com boom, Erik took his company to the stock market, got listed on the European Nasdaq and used the money from the IPO to make a few acquisitions. In March 2000 the stock market tanked and business rapidly started moving downward. Then 9/11 happened and some huge banks which relied on Bricsnet for their facilities management software stopped renewing their contracts. Things started to deteriorate quite rapidly.

As the Founder and CEO, Erik offered to resign. The board could not accept his resignation for three months since they could not find a replacement. Eventually in January 2002 Erik resigned from Bricsnet, but he never cashed out. He looked for investors and proposed to buy back the CAD software part of the business from Bricsnet, which by that time had diversified into other areas of software.

On his 50th Birthday, Erik started a company with six people and called it Bricsys. As time progressed, he hired back the CAD programmers from Bricsnet, which was fine the Bricsnet because they had stopped developing CAD software anyways. Bricsys stopped developing for AutoCAD since they did not want to be at the mercy of a single company - once bitten, twice shy. So they joined the ITC and started offering an IntelliCAD based solution called Bricscad along with their architectural vertical called Architecturals. For the first 3 years they operated at break even, but things started looking upwards from there on. Today Bricsys has substantial cash in the bank which Erik considers as a huge advantage in these troubled times. "We do not need to rely on the banks to survive and that is very relieving", he tells me.

Today, Bricsys has 50 employees some of which have a stake in the company. Erik himself holds 33% stake which could increase to 40% if he exercised his options. I asked Erik what was the long term goal of Bricsys. He said, "I believe that we are at a point where can take a substantial share in the DWG market. And we are ambitious to do exactly that. Thereafter we will add technologies to Bricscad that offer our customers much more than what AutoCAD offers. We will not blindly follow Autodesk. We will be compatible for sure, but we will decide our own destiny."

I asked him how he intended to take on the huge Autodesk Marketing giant. Erik replied, "We do not have 3 million to spend on marketing. We believe in power of e-marketing. We have not yet gone all guns blazing, because we believe that our product was not yet ready. But now we believe it is."

This needs some explanation. As many of you may have noticed, Bricscad has looked and worked pretty much the same for the past year or so. The reason for that is that Bricsys has been working hard to remove the old IntelliCAD 6 code that has been part of Bricscad all this time. So almost all the changes have been internal and quite invisible to the end user. I am now given to understand that the ITC code is very close to being completely gone.

"Now we can concentrate in adding some real features", Luc de Batseiler, the CTO of Bricsys, tell me, heaving a sigh of relief. "We have been so consumed with the rewrite of our platform that we neglected just about everything else", he continues.

"We are at a critical point", Erik tells me, the excitement clearly showing in his eyes. "There are interesting times ahead for Bricsys." Now that they are finally free (almost) from the ITC shackles, I tend to agree. Technically, Bricsys is still a member of the ITC, but I guess it is only a matter of time when they break free and take control of their own destiny.

Bricsys Visit

Today I visited Bricsys. I thought I knew a lot about the company and its products. As it turned out, that was not quite the case. This evening Eric de Keyser, the CEO of Bricsys, took me out to dinner along with CTO Luc the Batselier, to an exquisite restaurant on the banks of the river Leie, which was once upon a time a warehouse.




Tomorrow I will be spending the day at Bricsys again and I leave for home the day after. I will be writing at length about Bricsys when I return back to my space and time.

Monday, May 04, 2009

Interesting Pictures in Gent

Roaming around in Gent, I saw some interesting sights. And as usual my camera was at hand.



Cycle theft is common here. Reason? The guy from whom I rented a cycle yesterday put it this way, "There are a lot of students in Gent". Take a closer look at the picture above and appreciate why the owner of this cycle is going to have an extremely sore butt when he gets home.



I couldn't help taking a picture of this mop.



This sign is written in five languages. Almost all other signs in Gent (and even Holland) are in Dutch only. Even the menus in restaurants are mostly in Dutch. So I cannot understand a damn thing of what I am ordering. Eventually I play safe and ask the waiter to get me a pasta. The bright side is that I think I have now tasted almost every pasta that people on this part of the world offer.



Someone living in an apartment on the banks of the Leie, a river running through Gent, put this statue of a woman ready to leap into the river.



Bang on the opposite bank of the river someone else put this statue of a man ready to take a plunge as well. I don't know if there is a story to this. If any of you Belgians know, please do enlighten me.



And speaking of naked statues, this one is of a naked pregnant woman. The pedestal has a plaque that reads "Hores House for Art and Healing". I didn't bother to enter. I think I already know what's inside.

Gent by Boat

Today I went for a boat cruise on the river Leie which flows though Gent. We got a glimpse of the beautiful suburbs of Gent on the way out of the city and then passed through two villages. It was an experience that I cannot explain in words. So I hope that the following pictures to justice.

I will only say that such breathtaking beauty cannot be enjoyed alone. You need to experience it with someone else. Of all the days that I have been out of home, I think today I missed my wife and kids the most. OK, may not be the kids, but surely the wife. So I did the next best thing. I turned on my iPod, selected my "Easy Listening" playlist and lost myself in the scenery that slowly glided past me.
































Saturday, May 02, 2009

Gent by Cycle

This morning I checked out of the Holiday Inn in Leiden, Holland, and boarded a train for Gent in Belgium. Bricsys, which is headquartered in Gent, is hosting me for a few days. I am visiting Bricsys on Monday and intend to use the weekend to do some sightseeing around Gent.

Gent is a beautiful old town. I heard that the best way to see it is to rent a cycle, arm yourself with a street map and pedal around the streets. And so I did exactly that. After checking in into the hotel I walked up to the nearest cycle renting outlet and rented a cycle. I picked up a cycle tour map from the tourism office and went on a tour through the town. It was fun, much better than taking the bus. This way I could stop as and when I pleased for as long as I wanted, as opposed to being herded around by a tour guide. However, I didn't get to know the history behind the places I visited. The cycle tour map I got from the tourism office was in Dutch only and no other language. I found that odd because common sense tells me that someone wanting to take a cycle tour around Gent will most probably be an outsider and will not understand Dutch.



I learned something the hard way today. While riding a cycle on asphalt may be fun, riding on cobbled streets gives you a very sore butt.

Grand Holland Tour

Looks like Amsterdam did have a party after all. Today when I came out of the Amsterdam Central Station, I was greeted by this...



Today I went for a bus tour called the "Grand Holland Tour" wherein I was taken to bunch of cities and towns in Holland in 8 hours. kind of useful when you do not have a lot of time to spend in Holland.

We started out by visiting a town called Aalsmeer where were taken to a see the place which conducts the largest flower auction in the world. For someone who did not see Keukenhof, this may have been interesting.

Next we were taken to Rotterdam, the city that has the third largest port in the world, after Singapore and Shangai. Rotterdam is completely different from any other city in Holland, in the sense that it is filled with skyscrapers and works of modern architecture, as opposed to the ancient buildings that you see in other parts of Holland. Along the bus ride, I saw only two ancient buildings, the town hall and the post office. This is because the Germans flattened Rotterdam during World War II. This building is better known as "The Pencil" for obvious reasons.




For lunch we were taken to Delft, a city which looks like this...




...and has a city center that looks like this...



After lunch we drove to The Hague (Den Haag in Dutch), the unofficial capital of Holland. Unofficial because the official capital is Amsterdam, but the government, monarchy, foreign embassies are all located in The Hague, along with the international courts and offices of other UN organizations. We passed by all these buildings. This is the Queen's residence...



Considering yesterday's incident, I was quite surprised to see the level of security outside the building. In fact I didn't see any security at all. I saw a man and a boy standing outside the main gate and a vendor selling ice cream to the public. My guess is that the Queen wasn't in because the flag pole didn't have a flag on it. In total contrast, the US embassy looked like a fortress, with armed guards all over the place.

Next we were taken to the fishing town of Scheveningen, situated on the North Sea. Nothing much to see there apart from a beautiful sandy beach.

To wrap up the tour we were taken to Madurodam, which was wonderful for an altogether different reason. If you have a full day in Holland, I suggest you take the Grand Holland Tour. If you have only a couple of hours, then I suggest you visit Madurodam. Here you get to see all of Holland scaled down 25 times - all major heritage monuments, skyscrapers, railway stations, airports and ports. There are also a few factories, a stadium and tons of neighborhoods. Maybe I should simply show you some pictures.










To give you an idea of the level of detail, take a look at the following closeup picture. The leaves are the only give away since all the vegetation is real.




This is a great place for kids because they can see how things work. All these models are mechanized. Trains speed on the rail tracks, a steam engine spits out water vapor, vehicles speed on highways, planes taxi around the airport and even bridges open so that ships can pass through them. Truly amazing.



But I guess my jaw dropped when I saw a fire, a real fire, on the deck of one of the oil tankers. It was quickly put out by a nearby rescue vessel by squirting water from its water cannons.


Friday, May 01, 2009

Queen's Day

30th April is Queen's Day(or Koninginnedag) in Holland, the Queen's birthday. Actually, not the present Queen's birthday, rather her mother's. But anyways, every year on 30th April, Amsterdam goes bananas.

By bananas I mean the city and its people do certain things which I definitely consider bananas. The town is painted (or rather decorated) orange. People wear orange. Pets wear orange. Why? Because "orange" figures somewhere in the name of the royal family. The entire city erupts into a wild party and booze flows like water from morning itself. The city center gets converted into one big flea market. On 30th April some civic rules are ignored. You can park anywhere you want. You do not need a license to sell something on the street. So people get all their year's junk, sit with it on the streets of Amsterdam and try and sell it to other people. Whatever does not get sold usually is left on the street. The next day is a royal mess, pun intended. Huge speakers blaring techno music are assembled at every corner, and also between corners, and people dance on the street as if there is no tomorrow. In fact, for some, there will indeed not be a tomorrow since they will most probably wake up the day after.

However, this year, things have turned out to be quite different. On our way back from the Keukenhof spring garden, our tour guide informed us that there was an attack on the Royal family. A car tried to ram into the open bus carrying the royal family killing four and injuring many others before it rammed into a stone monument. See video here. The mood of the city changed instantly. Flags were flying half mast. Instead of people dancing on the streets, we could see them sitting down with the music turned off. Some started leaving for home. In fact the train that I took from Amsterdam back to Leiden was packed to the brim with people wearing orange.

There were some pockets of music and dancing, but I guess people were simply disillusioned by what had just happened. This is a sad day, completely different from what it was supposed to be. This morning, on my way to the tour pickup point, I saw a huge arena being constructed in one of the city's open spaces. One of the world's top DJ's was to perform there at night. I am not sure if that event is still on.

Initial reports suggest that this was not a terrorist attack, at least, the kind of terrorist attack that comes to mind the moment we hear something like this. My thoughts and prayers go to the families of those who have been traumatized by this event.