Archicad 27 C++ API
Loading...
Searching...
No Matches
New API features in Archicad 27

New API features in Archicad 27

This outline summarizes the major new features and changes in the API available with Archicad 27.

System requirements changes

Technical changes

There were several major changes in the API in Archicad 27.

  1. The name of many functions were changed to better match the logical groups and places of the functions, ensuring a more intuitive API structure and consistent naming conventions.
  2. The grouped functions like ACAPI_Database, ACAPI_Navigator, and ACAPI_Automate were split to separate functions. This change made it possible to use typed parameters with logical names instead of void pointers.
  3. The new parts of the (see MEP Element Manager) API were created with a new concept. Instead of the old C-like functions and structures we pledged to develop a state-of-the-art C++ API that supports compile-time error detection for many errors that were previously detectible only during runtime. This new technology also offers more control for the developer than the old, sometimes overbearing functions. From now on, we will work on this new C++ API. The old API will still be available in future releases, but it will be in maintenance mode and no new features or serious changes will be implemented there. Note, that the new API works well with the old one, so you can use it in your AddOn alongside the old functions.
  4. In order to ease the version change for AddOn developers, we created a header (in the Support/Inc folder) which matches the old function names with the new names. Including this header in your files will enable you to compile and run your AddOn without changing the function names and parameter types on the calling side.
  5. With these changes as a first step we plan to reinvigorate our API, to extend the possibilities of AddOn developers and lower the entry-level of Archicad AddOn development.

New functionality

  • API_IMarqueeEventHandler ⇒ Notifications for marquee changes.
  • We introduced grouping and ordering to Graphical Override Rules. This also affects the name requirements, since now a Rule's name is only unique within its Group. The Graphical Override Rule Groups have unique names. There is also a built-in Rule Group that can't be modified or deleted and contains built-in Rules.
  • New MEP API for managing MEP elements (for details please see MEP Element Manager)

Modified/new structures

  • API_DimensionType ⇒ new textFillOrder attribute that describes the drawing order of the text's fill and contour relative to the dimension line.
  • API_DimTextFillOrderID ⇒ new structure that describes the drawing order of the text's fill and contour regards to the dimension.
  • API_AttributePickerParams ⇒ now provides support for fill and line types.
  • API_OverrideRuleGroup ⇒ new structure that describes the Groups for Graphic Override Rules.

Modified/new functions

Please note: writing elements in raw binary format (for example, storing raw structures in API_ModulData's dataHdl field) is not supported. Please use the dedicated serialization functionality of the API to do this.