Косяк компаса? Не могу получить правильный габаритный прямоугольник картинки...

Автор MasterMVC, 23.02.14, 11:53:50

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

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

MasterMVC

Пытаюсь найти габаритный прямоугольник картинки через функцию ksGetObjGabaritRect. Функция возвращает 1, что соответствует успешному завершению, но значения ksRectParamPicture в итоге получаются "не те". Код и скриншот картинки в компасе привожу ниже: 

  public static void GetPicture(Kompas6API5.KompasObject kompas, Kompas6API5.ksDocument2D doc,int pictureref)
        {
            double Height, Width;
            MathPointParam PointTop, PointBottom;
            ksRectParam ksRectParamPicture;

            ksRectParamPicture = (ksRectParam)kompas.GetParamStruct((short)StructType2DEnum.ko_RectParam);
            PointTop = (MathPointParam)kompas.GetParamStruct((short)StructType2DEnum.ko_MathPointParam);
            PointBottom = (MathPointParam)kompas.GetParamStruct((short)StructType2DEnum.ko_MathPointParam);
           
            PointTop.Init();
            PointBottom.Init();

            int exception=doc.ksGetObjGabaritRect(pictureref, ksRectParamPicture);

            PointTop = ksRectParamPicture.GetpTop();
            PointBottom = ksRectParamPicture.GetpBot();

            Height =Math.Abs(PointTop.y - PointBottom.y);
            Width = Math.Abs( PointTop.x - PointBottom.x);
         
        }