Сдвинуть макроэлемент

Автор Romiroz, 24.04.19, 23:09:40

« предыдущая - следующая »

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

Romiroz

Здравствуйте!

Нашёл нужный мне макроэлемент по имени (API7). Хочу поставить его на место другого макроэлемента. Но для какого бы макроэлемента я координаты не получал (GetPlacement), получаю 0,0. Видимо в локальной системе координат? Но в 3D есть SetOrigin, а в 2D?
SetPlacement двигает элемент, но относительно исходного места. Как получать и передавать абсолютные координаты ?


В догонку второй вопрос - можно копировать объекты из одного файла в другой, программно естественно?

DesignЯR

ЦитироватьКак получать и передавать абсолютные координаты ?

Абсолютные относительно чего???
Если Вы создаете вручную макроэлемент, то за ноль он берет  систему координат вида.
Для библиотечных макроэлементов (у них ноль - это базовая точка) GetPlacement выдает абсолютные координаты базовой точки относительно СК вида. Тоже происходит и при перемещении вручную созданного макроэлемента - его НОЛЬ смещается относительно Ноля вида.
Sprinter500  обещал выложить код по работе с макроэлементами. Вот уже вторую неделю наводит порядок в коде... :%:

ЦитироватьВ догонку второй вопрос - можно копировать объекты из одного файла в другой, программно естественно?

Можно.  Ищите в справке около  ksWriteFragment , ksReadFragmentToGroupEx, если мы говорим о 2D графике.

Sprinter500

Цитата: DesignЯR от 25.04.19, 22:29:32
Абсолютные относительно чего???
Если Вы создаете вручную макроэлемент, то за ноль он берет  систему координат вида.
Для библиотечных макроэлементов (у них ноль - это базовая точка) GetPlacement выдает абсолютные координаты базовой точки относительно СК вида. Тоже происходит и при перемещении вручную созданного макроэлемента - его НОЛЬ смещается относительно Ноля вида.
Sprinter500  обещал выложить код по работе с макроэлементами. Вот уже вторую неделю наводит порядок в коде... :%:

Можно.  Ищите в справке около  ksWriteFragment , ksReadFragmentToGroupEx, если мы говорим о 2D графике.



Выложу. Времени просто не было - на работе софта для программирования нет, а дома семья. Наверно после майских праздников. Но код пока в Delphi "по инерции" будет, на с# после дельфийского буду делать.

Romiroz

Спасибо!  Раз всё так проясняется, то как у макроэлемента поменять родительский вид?  В 2д естественно