Главная » Delphi, OLE, САПР » Радиальный размер с изломом – КОМПАС в DELPHI

0

 

Параметры отрисовки радиального размера с изломом (ksRBreakDrawingParam)

Для задания  параметров отрисовки радиального размера с изломом используется интерфейс ksRBreakDrawingParam. Рассмотрим его свойства.

ang – угол наклона размерной линии к горизонтали. pb – длина излома.

pt – тип стрелки1.

Метод у данного интерфйеса всего один – Init(). Он обнуляет все свойства данного интерфйеса и, в случае успеха, возвращает значение true.

Параметры радиального размера с изломом (ksRBreakDimParam)

Параметры радиального размера с изломом описываются с помощью интерфейса ksRBreakDimParam. Получить его можно с помощью метода GetParamStruct интерфейса KompasObject. Для этого в качестве единственного параметра данному методу нужно передать константу ko_RBreakDimParam. Свойств у интерфейса ksRBreakDimParam нет, поэтому переходим сразу к его методам.

GetDPar() – возвращает интерфейс параметров отрисовки радиального размера с изломом ksRBreakDrawingParam (рассмотрен в предыдущем разделе данной главы).

GetSPar() – возвращает интерфейс параметров привязки диаметрального и радиального размеров ksRDimSourceParam (рассматривался в главе 26).

GetTPar() – возвращает интерфейс параметров размерной надписи ksDimTextParam (рассматривался в главе 22).

SetDPar - устанавливает новый интерфейс ksRBreakDrawingParam, передаваемый ему в качестве  единственного параметра. В случае успеха возвращает значение true.

SetSPar - устанавливает новый интерфейс ksRDimSourceParam, передаваемый ему в качестве  единственного параметра. В случае успеха возвращает значение true.

SetTPar - устанавливает новый интерфейс ksDimTextParam, передаваемый ему в качестве  единственного параметра. В случае успеха возвращает значение true.

1 Смотри описание интерфейса ksDimDrawingParam в главе 22


Построение радиального размера с изломом

Для построения радиального размера с изломом используется метод ksRadBreakDimension интерфейса ksDocument2D. В качестве единственного параметра данный метод принимает интерфейс ksRBreakDimParam, рассмотренный в предыдущем разделе данной главы.

В случае успеха метод ksRadBreakDimension возвращает числовой идентификатор построенного радиального размера с изломом, а в случае ошибки – нуль.

Пример

Ниже приводится исходный код программы, демонстрирующей простановку радиального размера с изломом.

var

kompas: KompasObject; Document2D: ksDocument2D;

RBreakDimParam: ksRBreakDimParam; RBreakDrawingParam: ksRBreakDrawingParam; RDimSourceParam: ksRDimSourceParam;

DimTextParam: ksDimTextParam; DynamicArray: ksDynamicArray;

……………………………

Begin

……………………………

//Строим дугу окружности, радиус которой будем измерять

Document2D.ksArcByAngle(100, 100, 50, 10, 70, 1, 1);

//Получаем интерфейс ksRBreakDimParam

RBreakDimParam:=ksRBreakDimParam(kompas.GetParamStruct(ko_RBreakDimParam));

//Получаем интерфейс ksRDimDrawingParam

RBreakDrawingParam:=ksRBreakDrawingParam(RBreakDimParam.GetDPar()); RBreakDrawingParam.ang:=30; //Угол наклона размерной линии RBreakDrawingParam.pb:=10; //Длина излома RBreakDrawingParam.pt:=1;  //Стрелка изнутри

//Получаем интерфейс ksRDimSourceParam

RDimSourceParam := ksRDimSourceParam(RBreakDimParam.GetSPar());

//Координаты центра измеряемой окружности RDimSourceParam.xc:=100; RDimSourceParam.yc:=100;

//Радиус измеряемой дуги окружности

RDimSourceParam.rad:=50;

//Получаем интерфейс ksDimTextParam DimTextParam:=ksDimTextParam(RBreakDimParam.GetTPar()); DimTextParam.bitFlag:=1;//Автоматическая простановка размера DimTextParam.sign:=3;//Значок радиуса

DimTextParam.stringFlag:=false; DimTextParam.style:=3;//Текст размерной надписи

//Получаем интерфейс ksDynamicArray DynamicArray:=ksDynamicArray(DimTextParam.GetTextArr()); DynamicArray.ksClearArray(); //Очищаем массив

//Строим диаметральный размер Document2d.ksRadBreakDimension(RBreakDimParam); kompas.Visible:=true;

end;

В  результате  работы  этой  программы  вы  увидите  приблизительно следующую картину:

Источник: Норсеев Сергей, «РАЗРАБОТКА ПРИЛОЖЕНИЙ ПОД КОМПАС В DELPHI»

По теме:

  • Комментарии