• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

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

Автор 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);
         
        }