In the subfolder named Examples you can find several example projects. They demonstrate the different services of the API thematically. Please study the example projects for better understanding of the logic of the whole API.
Structure
For each example the example’s main directory contains a project file for Xcode / Microsoft Visual Studio C++. After opening the project, you’ll be able to build any of the examples. These project files also serve as template files for creating your own projects, although the DevKit also contains real template projects for each compiler/platform.
The example folders are organized to hold:
- source files (in the Src folder)
- resource files (localizable in the RINT and non-localizable in the RFIX directory, and the platform-dependent part in the RFIX.win/ RFIX.mac folder)
- project files for each platform
Compilation issues
Please remove the DEBUVERS
directive from your projects, because causes conflicts between the release and debug versions of the InputOutput module. To be more specific, the Location class (see Location.hpp) contains a data member which is in #if defined(DEBUVERS)
. If your add-on is a debug version, and Archicad is release version, then the size of the Location class will be different, and that may cause crashes whenever a location is transferred between Archicad and your add-on (e.g. you add a library to the list of loaded libraries).
The examples give you hints, tips & tricks, and useful code snippets which demonstrate the correct use of different API managers and functions.
Areas:
- 3D Manager (3D_Test)
- Attribute Manager (Attribute_Test)
- Communication Manager (Communication_Client, Communication_Manager)
- Element Manager (Element_Test)
- LibraryPart Manager (LibPart_Test)
- Listing Manager (Listing_Manager)
- Navigator Item Manager (Navigator_Test)
- ModulData Manager (ModulData_Manager)
- Notification Manager (Notification_Manager)
- Selection Manager (Selection_Manager)
- Teamwork Control (Teamwork_Control)
- AddOnObject Manager (AddOnObject_Manager)
- Visual Override (Override_Test)
- Properties (Property_Test)
- Classifications (Classification_Test)
- Classification and Property Visibility (Property_Visibility_Test)
- Structural Analytical Model (Structural_Analytical_Model_Test)
- ACAPI_Automate (Automate_Functions)
- ACAPI_Database (Database_Control)
- ACAPI_Environment (Environment_Control)
- ACAPI_Goodies (Goodie_Functions)
- ACAPI_Interface (Interface_Functions)
- Dialog Manager (DG_Test)
- Graphisoft Root Package (GSRoot_Test)
- Geometry (Geometry_Test)
- ModelAccess Package (ModelAccess_Test)
- CommunicationCommon and CommunicationClient (CommunicationClient_Test)
- API Output Framework ? a C++ wrapper which iterates trough the Archicad databases (APIOutputFramework_Test)
- Custom Panels (Panel_Test)
- Real life example (Plan_Dump)
- Protection (Protection_Test)