Переместить все объекты в один вид

Автор mkrz, 12.08.09, 11:27:41

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

mkrz

Небольшое дополнение.
При переносе объектов в один вид возможно смещение объектов относительно других из других видов. Это происходит потому, что точка вставки вида может не совпадать с началом координат системного вида. Чтобы объекты сохранили визуальное положение нужно после переноса сдвинуть группу на величину смещения начала координат текущего вида относительно начала координат системного вида. Код будет таким:
              doc.ksWriteGroupToClip(gr,false);//сохранили группу в буфер
              doc.ksViewToSheet(0,0,move_point_view_x, move_point_view_y);//в переменную move_point_view сохранили смещение начала координат текущего вида относительно системного
              doc_t.ksOpenView(0); //перешли в документ doc_t и сделали текущим системный вид
              gr1:=doc_t.ksReadGroupFromClip;//считали данные из буфера во временную группу
              doc_t.ksMoveObj(gr1,move_point_view_x,move_point_view_y);//сдвинули положение группы на величину move_point_view
              doc_t.ksStoreTmpGroup(gr1);//записали временную группу в чертеж
              doc.ksClearGroup(gr, true);//очистили группу
              doc.ksClearGroup(gr1, true);//очистили группу