Пример модуля для расчета по помеченным элементам
#include "tep_items_config.h"
string sProjInfoParameter = "LABPP ТЭП Площадь жилого здания, м2"; // имя параметра в информации о проекте
string sEdIzm = "м"+ iif(iHighLevelNumbersInEdIzm==1;smallnums("2");"2");
double dCalcResult;
string sCalcResult;
string sListGUID;
string sVersion = "1.01";
string sTepMarkGenesis;// UTS/UP/EP
string sTepMarkVarName; // "LABPP_ТЭП_ID"/"LABPP_ТЭП_ID"/"ID"
//<--
int main()
{
cout << sProjInfoParameter << " " << sVersion << "\n";
var_extern_get("sTepMarkGenesis", sTepMarkGenesis);
var_extern_get("sTepMarkVarName", sTepMarkVarName);
int iarg1; double darg2; string sarg3;
run_cpp("get_args", iarg1, darg2, sarg3);
if (sarg3 == "Get sProjInfoParameter, sEdIzm and Help")
{
var_extern_set("sProjInfoParameter", sProjInfoParameter);
var_extern_set("sEdIzm", sEdIzm);
var_extern_set("bCanHandEvaluate", false);
var_extern_set("bElemMarkNeeded", true);
string sHelp = "Суммируем площади элементов (штриховок, плит и крыш) " + make_var_text(sTepMarkGenesis, sTepMarkVarName, "=", sProjInfoParameter);
var_extern_set("sHelp", sHelp);
return 0;
}
if (sarg3 == "Get sCalcResult")
{
ac_request_special("load_elements_list", 1, "HatchType", 2, "", sTepMarkGenesis, sTepMarkVarName, "=", sProjInfoParameter, "", "");
ac_request_special("add_elements_list", 1, "SlabType" , 2, "", sTepMarkGenesis, sTepMarkVarName, "=", sProjInfoParameter, "", "");
ac_request_special("add_elements_list", 1, "RoofType" , 2, "", sTepMarkGenesis, sTepMarkVarName, "=", sProjInfoParameter, "", "");
int i, icount;
ac_request("get_loaded_elements_list_count", 1);
icount = ac_getnumvalue();
double dvalue = 0;
string sGUID;
for (i = 0; i < icount; i++)
{
ac_request("set_current_element_from_list", 1, i);
//Площадь штриховки (Area of the fill)
ac_request_special("get_element_value", "Q", "Surface");
dvalue = ac_getnumvalue();
dvalue = dvalue;
dCalcResult += dvalue;
ac_request_special("get_element_value", "EP", "GuidAsText");
sGUID = ac_getstrvalue();
sListGUID += sGUID + "\n";
}
sCalcResult = number_to_string_TEP(tsround(dCalcResult,1));
var_extern_set("dCalcResult", dCalcResult);
var_extern_set("sCalcResult", sCalcResult);
var_extern_set("sListGuid", sListGUID);
return 0;
}
return 0;
}
Created with the Personal Edition of HelpNDoc: Converting Word Documents to eBooks: A Step-by-Step Guide with HelpNDoc