Being the curious programmer I am I like to study the innards of the CAD software that I build plug-ins for. One of the things I do is run the CAD systems DLL’s through programs like Dependency Walker. They tell me a lot of things such as the names of the functions that an executable or DLL calls. From the function names I get a pretty good idea of what they do. If you have been doing this long enough you can pretty much join the dots and make educated guesses on what is going on.
Ever since Autodesk released Inventor Fusion I have been keeping a close eye on it. Autodesk has not released or published an API for Fusion as yet. So information about its inner working is hard to come by. Which makes someone like me more curious that he should be. Of all the DLL’s that were added to Inventor 2012 there was one called HAFDP.dll which I had a hard time figuring out. It had references to a bunch of other suspicious looking DLL’s also had exported function with equally suspicious names containing “SolidWorks”, “Feature” and “Parameter”. That peaked my interest and I started getting ideas about what HAFDP.dll was being used for.
While I was attending the Autodesk Manufacturing Tech day in Lake Oswego this week, I had the opportunity to discuss my theory with Autodesk people and learn about HAFDP.dll straight from the horse’s mouth. OK, so here is the deal. For a while now Autodesk has been working on a secret project called HAFDP. Autodesk has come to the conclusion that although Inventor has improved in leaps and bounds in the past few years, the main reason why it has not been able to put a significant dent in the SolidWorks customer base is because of the simple fact that SolidWorks users who wish to switch to Inventor will not do so because of their legacy data. They will simply not accept the loss of their design or modeling intent and have their models show up in Inventor as dumb solids. So Autodesk created Fusion with the sole aim of solving this vendor lock-in problem.
What people don’t know is that Fusion is actually a two pronged strategy. One strategy is to open a SolidWorks model in Fusion and do its feature recognition magic there. Then pass the data through the Change Manager add-in and have it cook up the feature tree in Inventor. Although Fusion has not been marketed that way, this is really not a big secret. The big secret is this project called HAFDP which involves reverse engineering the history tree of SolidWorks and creating the equivalent tree in Inventor. This strategy should be far more reliable that the first for the simple reason that there will be no need for the software to figure out the possible features from a list of features and then ask the user to pick the right one if it gets confused.
In my opinion, HAFDP will be a game changer for Autodesk and will definitely change its fortunes in the MCAD world. I am told that the HAFDP technology will be exposed to users only in Inventor Fusion 2013. A lot of work has already been done. But a lot more needs to be done.
As far as what HAFDP stands for the “File description” tag in the Windows file properties gives a pretty good idea.