March 29, 2019
by Gyuri Nyitrai

API for BIMx mobile apps

I’m happy to announce that from now not only ARCHICAD offers API but certain functions of BIMx on mobile also accessible for development partners. BIMx API provides a bi-directional live connection between any web-enabled data management system and BIMx mobile apps both on iOS and Android platforms. We developed the…


July 5, 2018
by Tibor Lorántfy
modified at March 29, 2019

Hello, world! Part 2: Dialog with text, SVG icon and button

Ákos Somorjai has already written a post about “Hello, world!”. It helps to create a simple text element with “Hello, API world!” content. Now, in this post, I will show you how to create a simple dialog with a “Hello World” text label on it. And this will be also…


January 16, 2019
by Tibor Lorántfy
modified at January 21, 2019

How to Create Multi-Language Add-On

Content Windows platform macOS platform Name of Add-Ons folder in different Language versions of ARCHICAD Windows platform Introduction Before ARCHICAD 22 an ARCHICAD Add-On was a single “.apx” executable file which contained both executable code and resources. That prevented to create multi-language Add-Ons, the Add-On developers have to build separate…


June 12, 2018
by Tibor Lorántfy
modified at June 25, 2018

HDPI support using DG module

macOS HDPI Environment So called “Retina” display gives users ultra-sharp text and graphics without making the interface too small to see. To achive this the system renders the user interface with four times as many pixels (twice the vertical and twice the horizontal resolutions). ARCHICAD supports perfect high resolution diplay on…


June 12, 2018
by Tibor Lorántfy

Tools for debugging (updated)

The API depends on other modules (which are also part of the Development Kit) which support platform independent development. Many API structures and functions use the GS::UniString class from GSRoot module for Unicode strings, or the IO::Location class from the InputOutput module which represents file system independent file locations. GRAPHISOFT publishes…


June 6, 2018
by Ákos Somorjai

Working in Visual Studio 2017

ARCHICAD 21 and 22 both use the Visual Studio 2015 compiler for building add-on projects. With the appearance of Visual Studio 2017 you’ll need to do a few extra hops to be able to build your add-ons. Start the Visual Studio Installer Under Desktop Development with C++ install the VC++…


March 8, 2017
by Tamás Móréh
modified at November 27, 2017

How to use Context Menus on DG dialogs

Sometimes we need context menus on our add-on’s panels. Since the DG::PanelObserver class has the PanelContextMenuRequested event handler, it is pretty easy. In the localised grc you have a strings resource: ‘STR#’ RESID “Context Menu strings” { /* [ 1] */ “Say hello!” /* [ 2] */ “Close” } In…


February 3, 2017
by Ákos Somorjai
modified at May 19, 2017

Hello, world!

Here comes every programmer’s favourite example: “Hello, world!” – API style! GSErrCode Do_CreateHelloWord (void) { const char hwText[] = { “Hello, API world!” }; const size_t hwLen = strlen (hwText) + 1; return ACAPI_CallUndoableCommand (hwText, [&] () -> GSErrCode { API_Element element; API_ElementMemo memo; GSErrCode err = NoError; BNClear (element);…


January 12, 2017
by Tibor Lorántfy
modified at January 17, 2017

ARCHICAD GUI Icon Style Guide

ARCHICAD Icon Style Guide is a handbook for both GRAPHISOFT’s Product Designers and ARCHICAD Add-On manufacturers to help maintain a consistent visual appearance for the icons in our products that we want to reserve in the future. The purpose of this document is to list and detail all the rules…


December 21, 2016
by Tibor Lorántfy
modified at June 12, 2017

Life of ARCHICAD Add-Ons

An Add-On is a DLL or shared library which is not loaded into the memory by default. ARCHICAD loads a normal Add-On into the memory only when the user invokes one of it’s commands. When the Add-On has finished its operation ARCHICAD unloads the Add-On again (unless certain conditions are…