int ac_request() The main function for performing operations with ArchiCAD
string ac_getstrvalue(); Returns the text result of the last query for ArchiCAD
double ac_getnumvalue(); Returns the numeric result of the last query for ArchiCAD

int ac_request(string directive, ... );

Request to ARCHICAD. The Directive represents a code word in accordance with which the query is executed and determines the set of arguments.

get_curr_floor_name   to obtain the name of the current floor in the 2d window ARCHICAD
get_object_property_value   to obtain the value of the variable object
set_object_property_value   to change the value of the variable object
set_layer_visible   controls the visibility of the layer

ac_request("get_curr_floor_name");

Returns the name of the current floor in the 2d window ArchiCAD.

string froor_name;                           // declare a variable of type string
ac_request("get_curr_floor_name");  // to request the name of the current 2d floor window
floor_name = ac_getstrvalue();         // record the result in a variable floor_name

ac_request("get_object_property_value", string param_name);

To read the value of the param_name parameter from the current object

double h; // declare a variable for the value of h
int ires;    // the variable declaration for the result of the operation of receiving data
ires = ac_request("get_object_property_value","h");    // to read the value of parameter h of the current element
if(ires==0)     // 0 - if the read operation was successful and the parameter h from the current object has
{
h = ac_getnumvalue();                                              // to assign to the variable h the value read
}

ac_request("set_object_property_value", string param_name, double value);
ac_request("set_object_property_value", string param_name, string value);

To assign a value to the parameter param_name from the current object

int ires;    // the variable declaration for the result of the operation of receiving data
ires = ac_request("set_object_property_value","h",100);    // to set the h current value 100
if(ires==0)     // 0 if the write operation was successful and the parameter h from the current object has
{
cout << "the value of h at the current value was successfully modified";   // write in the message box LabPP_Automat
}

ac_request("load_elements_list",int listnum, string elem_type_name, string filterParamName1, string filterParVal1, ...);
ac_request("load_elements_list"int listnum, string elem_type_name, string filterParamName1, double filterParVal1, ...);
ac_request("load_elements_list"int listnum, string elem_type_name, string filterParamName1, int filterParVal1, ...);

Downloads internal a sample of items from ArchiCAD in accordance with the specified parameters.

In elem_type_name specifies the type of the elements of the sample. Possible options values:

"ZombieElemType",  "WallType", "ColumnType", "BeamType", "WindowType", "DoorType", "ObjectType", "LampType", "SlabType", "RoofType", "MeshType", "DimensionType", "DadialDimendionType", "LevelDimensionType", "AngleDimensionType", "TextType", "LabelType", "ZoneType", "HatchType", "LineType", "PolyLineType", "ArcType", "CircleType", "SplineType", "HotspotType", "CutPlaneType", "CameraType", "CamSetType", "GroupType",
"SectElemType", "DrawingType", "PictureType", "DetailType", "ElevationType", "InteriorElevationType", "WorksheetType", "HotlinkType", "CurtainWallType", "CurtainWallSegmentType", "CurtainWallFrameType",
"CurtainWallPanelType", "CurtainWallJunctionType", "CurtainWallAccessoryType", "ShellType", "SkyLightType", "MorphType", "ChangeMarkerType".

An example of a function.

ac_request("load_elements_list",0,"ObjectType","Layer", "Floor");  // select elements of type "Object" the layer "Floor" in the list 0 (первый).

ac_request("set_layer_visible", string layername, string on);

Controls the visibility of the layer layername. Variable on can be "ON", "OFF" or "SWITCH". Ie on, off or toggle, respectively.
Returns 0 if the switch was successful.
If layer layername is not in the project, the dialog appears and the user is prompted to automatically create a layer.

string ac_getstrvalue();

Returns the string result of the last operation ac_request().

double ac_getnumvalue();

Returns the numeric value of the last operation ac_request();

Page is in development