June 12, 2018
by Tibor Lorántfy
modified at March 6, 2023

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…


December 6, 2016
by Ákos Somorjai
modified at January 20, 2017

API documentation and DG_​Test sample code update

Changes in documentation: Old webpage links redirected to this site Mail address updated New APIAny_EnableVisualOverrideID documentation Minor visual changes   We have also uploaded new DG_Test example code (macOS, Windows), it shows you how to use: Split buttons Set tab item color in lists   Enjoy!


October 10, 2016
by Tibor Lorántfy
modified at January 20, 2017

Getting started with API Development Kit

ARCHICAD API allows third party developers to create Add-Ons, which implement new functions for ARCHICAD users. To start developing ARCHICAD Add-Ons, you just have to complete a quick developer registration, and you will be able to download the API Development Kit. The API Development Kit is available for both Windows…