The Global ARCHICAD Community

Stay informed. Get help. Share your knowledge.

Discussions about using GRAPHISOFT's tools (API DevKit) for independent software developers

Moderators: Karl Ottenstein, LaszloNagy, ejrolon, Barry Kelly, gkmethy, Tibor Lorántfy, rmasaki, MOREH Tamas, Akos Somorjai, Ed Brown, Mihály Palenik

Hi everyone!
I recently managed to somehow mess up drive letters and overwrite my external hdd full of 15+ years of my life.
I managed to recover pretty much everything, except for ArchiCAD files, as the software that I'm using (R-Studio) doesn't recognize ArchiCAD's file types. However, I can add one manually if I will know header / footer hex strings.
I searched everywhere but couldn't find it. I tried digging into hex data to find header / footer strings but couldn't really identify them.

I would really appreciate if you guys could help me.
Hi Akos, thanks for reply!

I did some digging and turns out older versions had both, header and footer, which made recovery much easier.
New versions only have a header 'ROF FDB', but don't have a footer. When this happens, usually the best way to recover these files is to follow header + max file size method. Meaning that the file originally could have been, let's say 100 mb. During recovery we indicate that the file could have been no more than 200mb. After that the recovery software starts pulling the data from hdd sectors beginning from the header and going until it reaches 200mb (100+100).
Now we get a file that is 200mb. Some programs can handle the extra data, but as far as I tested, ArchiCAD cannot. I'm getting an error that the file is corrupted.

Graphisoft, why you do this?
Hi Akos,

Is there a chance the footer string will be added for future releases of ArchiCAD? I would say that it'd be very helpful for people who lost their data. I don't see any downside in providing a footer, except for files being couple of bytes longer.

Also, do you think there is anyone from developer side I could contact, who would be able to suggest different methodology for situations like these?

Thank you.