Масштабирование эскиза

Автор Armant, 03.05.17, 00:45:52

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

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

Armant

Здравствуйте! Нужно сделать масштабирование эскиза. Каким методом это сделать? На входе имеются координаты точки относительно которой будет масштабироваться и коэффициент масштабирования.

TransformObj - Преобразовать объект по установленной матрице.

Armant

А почему когда я задаю в матрице преобразования координат одинаковый масштаб по осям OX и OY у меня все отрабатывает нормально, а когда значения разные то масштаб не меняется? Там есть какие-то ограничения?

А, где, Вы там, два коэффициента нашли?

Armant

ksMtr (double x, double y,double angle,double scaleX,double scaleY);

в SDK прописаны входные параметры:
x, y - координаты начала локальной системы координат,
angle - угол наклона системы координат в градусах,
scaleX - масштаб локальной системы координат по оси Х,
scaleY - масштаб локальной системы координат по оси Y.

или я не понимаю чего то?

Тогда и используйте аналог функции TransformObj, функцию ksTransformObj.
+ Благодарностей: 1

Armant

я в ней и делаю:

Document2D.ksMtr(x,y,0,scalex,scaley);
Document2D.ksTransformObj(fr);
Document2D.ksDeleteMtr;

при scalex=scaley работает, а когда scalex<>scaley не работает

Armant

Все. Разобрался. Масштаб не хотел меняться из-за параметризации :%:. Параметризацию сделал после масштабирования и работает как надо :)