ArchiCAD API Extension

OData support
Dr. Goldschmidt Balázs
Department of Control Engineering and Information Technology

I had an opportunity to join Graphisoft software developer company as a trainee. ArchiCAD, an architectural CAD software is the main product of Graphisoft. I became a member of the team who develops application programming interface (API) for ArchiCAD and supports third party developers. ArchiCAD API allows third party developers to create Add-Ons, which could implement new functions for ArchiCAD users.

For introduction, AC API is presented. I’m highlighting the structure and behavior of Add-Ons. My main goal was to collect the possibilities and tools of developing Add-Ons via API, and describe the steps of getting started with API development. Summarizing my 2 years experience in AC API development I wrote a developer’s guide which can provide useful assistance for novice AC API developers in their work.

My task was to establish the possibility of saving and reading models for 3D printers. For this purpose I developed an Add-On. As a practical example I present the implementation of this concrete Add-On through the thesis. At first the standard input file format of 3D printers, STL is introduced and analyzed. After formulating the requirements, I designed and implemented saving STL files from ArchiCAD models, and reading STL models back to ArchiCAD.

Before it was released, the prepared Add-On has been subjected to rigorous testing processes by Graphisoft Quailty Assurance Team. I’m presenting the strict circumstances of testing and the bugs which have been found by tests or based on customer feedbacks.

As a member of API developer team I took part in developing new API functions requested by third party developers. In my thesis, I describe how I managed to implement new API functions for handling renovation filters and element merge.

At the end of the thesis, main experiences are summarized. The future plans are formulated which are beyond the limits of the thesis.


Please sign in to download the files of this thesis.