Переместить или скопировать элементы, собранные в заданном списке на заданное расстояние, с учетом группировки, с поворотом на угол с масштабированием и записать вновь созданные элементы в заданный список.

ac_request("do_move_rot_and_scale_elemlist", int iElemList, double coordtoX, double coordtoY, double coordRotCenterX, double coordRotCenterY, double angle, double scale, bool bDoRotate, bool bWithDelete, int bpt, int mmode, int iElemList2);


Здесь:

iElemList - номер списка элементов, которые копировать или перемещать;

coordtoX, coordtoY - координаты куда переместить;

coordRotCenterX, сoordRotCenterY - координаты центра поворота;

angle - угол в радианах;

scale - масштаб (доли 1);

bDoRotate - поворачивать или нет;

bWithDelete - удалять оригиналы или нет;

bpt - что взять за базовую точку

0 - TopLeft,

1 - TopMiddle,

2 - TopRight,

3 - MiddleLeft,

4 - MiddleMiddle,

5 - MiddleRight,

6 - BottomLeft,

7 - BottomMiddle,

8 - BottomRight,

9 - Default,

10 - ByParentCoordCenter.

mmode - режим учета групп

каждый элемент по отдельности BySingle=0,

по последней группировке ByGroupsBelow=1,

по первой группировке ByGroupsTop=2

все как единое целое ByAll=3

iElemList2 - номер списка элементов, куда поместить вновь созданные элементы.



Пример

Скопировать элемент кровли на расстояние 1 м вправо, находящийся в списке 2 и записано созданный элемент в список 4,

и задать номер многослойной конструкции 111.

int iElemList = 2;

int iElemList2 = 4;

double coordtoX = 1;

double coordtoY = 0; 

double coordRotCenterX = 0;

double coordRotCenterY = 0;

double angle = 0;

double scale = 1;

bool bDoRotate = false;

bool bWithDelete = false;

int bpt = 0;

int mmode = 0;


coordtoX = coordtoX + offset;

ac_request("do_move_rot_and_scale_elemlist", iElemList, coordtoX, coordtoY, coordRotCenterX, coordRotCenterY, angle, scale, bDoRotate, bWithDelete, bpt, mmode, iElemList2);

ac_request("set_current_element_from_list", 4, 0);

int compositindex = 111;

ac_request_special("set_element_value", "EP","composite", compositindex);