Archicad generates an Analytical Model for the cores of all load-bearing elements. The generation depends on the 3D model of the cores and the Analytical Model generation rules. The 3D models of the cores of the physical elements are checked to see if they are connected.
The 3D connection is governed by the renovation filter and the layer connection class IDs, where it can be customized which layers should interact with each other. The special layer connection class ID of 0 means that the elements shouldn’t interact with any other element.
The Analytical Model Generation Rules can be customized to fit the plan’s needs. These rules are part of the plan database, so it can be saved with the plan and it is common for all users joined in the same Teamwork project. The rules can also be saved as part of a template.
An Analytical Model variation (API_AnalyticalModelVariation) is defined by these settings. This makes the Analytical Model view-dependent. E.g. a view that shows the existing building with the elements to be destroyed during the renovation will have a different Analytical Model than the one showing the remaining elements toghether with the new ones. Some analytical members might even be adjusted differently even if they exist in both variations, giving it different eccentricity in each model.
After defining the needed variation you can query the corresponding Analytical Model using the ACAPI_AnalyticalModel_GetAnalyticalModel function. The ACAPI_AnalyticalModel_GetCurrentAnalyticalModel function can be used to get the one corresponding to the current view.
In Archicad the Analytical Model generation is done only when it is needed (e.g. when it is visible in the active view). To ensure that the latest data is available from an Analytical Model it can be updated using the ACAPI_AnalyticalModel_UpdateAnalyticalModel function.
As the Analytical Model is generated, there is no way on the API to directly create analytical members, since even in Archicad the members are calculated and can’t exist on their own. A physical element can be created based on a specified analytical member. The element will be created without any generation rules or connection to another element, the analytical member generated from this element should be identical to the specified one. However this can’t be guaranteed because it might be affected by the connections or the rules.
The API provides methods to create elements based on curve or surface members. The actual physical element’s type will be decided by Archicad based on the limitations of the tools and tries to match with the most likely uses.
The following functions can be used to create elements based on analytical members:
- ACAPI_AnalyticalModel_CreateElementFromCurveMember: create a model element based on a curve member.
- ACAPI_AnalyticalModel_CreateElementFromSurfaceMember: create a model element based on a surface member.
- ACAPI_AnalyticalModel_CreateElementFromSegmentedSurfaceMember: create a model element based on segmented surface member (multiple members assumed to be parts of one arced member).
The analytical members may connect to each other. This is visualized in Archicad by having green nodes where the two members connect. By default such connections are set to be fully rigid. The behaviour of an element’s member when connected to another member can be customized via the release properties of the element. The structure API_AnalyticalReleaseType can be used to describe the release properties.
An element’s release properties are valid even if no other member is connected to it. There is even a special generation setting that can automatically reset release properties to rigid where there is no connection to another member.
An Analytical Release is always defined for a specific part of an element that is described by the API_AnalyticalMemberPartRef structure.
When two members are not connected after applying the generation rules, but they should be connected in the Structural Analytical Model it is possible to use a tool called Analytical Link to connect them in Archicad.
An Analytical Link can be one-dimensional or a surface. A specific case of the one-dimensional link is the so-called “zero-length” link, this means the two members it connects have an intersection and the link is connected to this point on both members.
Either end of the link can be connected to a vertex of a curve or surface member, a curve member, the edge of a surface member, the face of a surface member or a specific non-predefined point of any member.
The links being connected to the members means that if the geometry or position of the members changes then so will that of the link(s) connecting them.
The API can directly create an Analytical Link from the API_AnalyticalLinkType using ACAPI_Element_Create.
The Analytical Support represents the connection of the Structural Analytical Model to the outside world. A support can be placed on a vertex of a curve or surface member, on the edge of a surface member, along the line of a curve member or on the face of a surface member.
The API can directly create an Analytical Support from the API_AnalyticalSupportType using ACAPI_Element_Create.