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

New API features in Archicad 29

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

System requirements changes

  • None

Technical changes

  • On Windows, we updated the required toolchain version to V143.
  • C++20 is required for the compilation.

New functionality

  • Shortcut mechanism for Expand/Collapse operation of the TreeView control has been enhanced.

Modified/new structures

  • API_OpeningType and related structures have been removed. You should use ACAPI::Element::Opening and ACAPI::Element::OpeningDefault instead.
  • New data member isAutoOnStoryVisibility has been added to API_SlabType.
  • New enum values were introduced to APIMenuCodeID: MenuCode_RoofExtras, MenuCode_Design.
  • API_ArrowData structure has been changed to contain only the data of one arrow. The begArrow and endArrow boolean values have been replaced by an arrowVisibility boolean.
  • Structures that can have two arrowheads (API_LineType, API_PolyLineType, API_ArcType and API_SplineType) now contain two API_ArrowData attributes (one for each end of the line).
  • Structures that can have two arrowheads (API_LineType, API_PolyLineType, API_ArcType and API_SplineType) contain a new boolean linkedArrowAttributes variable. Setting this to true links the size and pen attributes of the two arrowheads. When set to true, the size and pen of the endArrowData must be equal to the size and pen of startArrowData, otherwise APIERR_BADPARS will be thrown.
  • New enum value was introduced to API_ApplicationTypeID: APIAppl_MEPDesignerID.

Modified/new functions

  • IFCAPI::PropertyBuilder::CreateDefaultValue can create a default IFCAPI::Value based on a sole IFCAPI::IFCType. With this you can also query the corresponding data type to use in an IFCAPI::AnyValue for that IFCType.
  • ACAPI::LicenseInfo::ProductVersionInfo changes:
    • New function named GetProductName
    • New function named GetGSProductType
    • GetVersionString renamed to GetAppVersionString
    • GetVersionNum1 renamed to GetMainVersionString
    • GetVersionNum2 renamed to GetUpdateVersionString
    • GetVersionNum3 renamed to GetHotfixVersionString
  • ACAPI_View_ModelToScreen for 3D to 2D coordinate conversion.
  • Two different arrowheads can be set for line types (API_LineType, API_PolyLineType, API_ArcType and API_SplineType) with t- Two different arrowheads can be set for line types (API_LineType, API_PolyLineType, API_ArcType and API_SplineType) with the help of their API_ArrowData structure attributes (startArrowData and endArrowData).
  • ACAPI_Element_ChangeMorphEdgeType can be used to change the edge type of all edges of a morph element.
  • Favorite based element creation for MEP Elements
  • Possibility to check for available domains (ACAPI::IsDomainAvailable) in the running product. Available means that it is fully supported and usable. For ex. Archicad with a Studio license does not support MEP.
  • New markup-related function: ACAPI_Markup_ImportFromPDF, and the possible options: ACAPI_Markup_PDFImportOptions
  • Hierarchical editing function has been split it into individual checks, and added generic ACAPI_HierarchicalEditing_IsInEditMode
  • Changed all edit mode functions to use references: CurtainWall, Stair, Beam, Column editing now use bool& instead of bool*
  • Added ACAPI_Command_ExecuteJSONRequest for JSON-based command execution
  • ACAPI::MEP::RoutingElement and ACAPI::MEP::RoutingElementDefault changes:
    • New function name GetFloorPlanDisplayOption
    • New function name GetCutPlanePosition
    • New function name GetShowProjection
    • New function name GetOnStoryVisibility
  • ACAPI::MEP::RoutingElement::Modifier and ACAPI::MEP::RoutingElementDefault::Modifier changes:
    • New function name SetFloorPlanDisplayOption
    • New function name SetCutPlanePosition
    • New function name SetShowProjection
    • New function name SetOnStoryVisibility

Deprecated functions and structures

These functions and structures are currently available, but they are intended to be removed in the future. They will not receive bug fixes and support.

  • None

Deleted functions and structures

  • Removed the MeasurementSystem from the RegisteredColumn used in the GraphCalculationInterface in the MEPAPI. The AddOns should use the ACAPI_ProjectSetting_GetPreferences with API_WorkingUnitPrefs instead.
  • Legacy IFC API functions and structures. You should use the IFCAPI namespace and functions instead to query and manipulate IFC data.
    For more information see IFC Data Access.
    • ACAPI_Element_GetIFCIdentifier, ACAPI_Element_GetElemListByIFCIdentifier
    • ACAPI_Element_GetIFCProperties, ACAPI_Element_SetIFCProperty, ACAPI_Element_RemoveIFCProperty
    • ACAPI_Element_GetIFCAttributes, ACAPI_Element_SetIFCAttribute
    • ACAPI_Element_GetIFCClassificationReferences, ACAPI_Element_SetIFCClassificationReference, ACAPI_Element_RemoveIFCClassificationReference
    • API_IFCPropertyHead, API_IFCPropertyType, API_IFCPropertyValuePrimitiveType, API_IFCPropertyAnyValue, API_IFCPropertyAnyValue, API_IFCPropertyValue
    • API_IFCPropertySingleValue, API_IFCPropertyBoundedValue, API_IFCPropertyListValue, API_IFCPropertyEnumeratedValue, API_IFCPropertyTableValue, API_IFCProperty
    • API_IFCAttribute, API_IFCClassification, API_IFCClassificationReference