![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Сплайн – это составной объект, определяемый набором опорных точек. Сплайны используются в чертежах, например, при построении профиля зубчатых колес. Рассмотрим пример построения сплайна:
var par: ksNurbsPointParam;
Begin
par:= ksNurbsPointParam(kompas.GetParamStruct(ko_NurbsPointParam));
with par do
Begin
Init;
// 3 – порядок сплайна
// FALSE – незамкнутый (TRUE – замкнутый)
// 1 – стиль линии
iDocument2D.ksNurbs(3,False,1);
x:= 0;
y:= 0;
weight:= 1;
// добавили точку с координатами x,y и "весом" weight
iDocument2D.ksNurbsPoint(par);
x:= 20;
y:= 20;
weight:= 1;
iDocument2D.ksNurbsPoint(par);
x:= 50;
y:= 10;
weight:= 1;
iDocument2D.ksNurbsPoint(par);
x:= 70;
y:= 20;
weight:= 1;
iDocument2D.ksNurbsPoint(par);
x:= 100;
y:= 0;
weight:= 1;
iDocument2D.ksNurbsPoint(par);
x:= 50;
y:= -50;
weight:= 1;
iDocument2D.ksNurbsPoint(par);
// завершили создание объекта
iDocument2D.ksEndObj
End
end;
Здесь сплайн 3-го порядка задан шестью точками.
Текст
Текст отрисовывается методом ksParagraph. Это также составной объект. Для каждого элемента текста можно указывать большое количество параметров, приведенных в Приложении 6.2. Рассмотрим код, выводящий текст, показанный на
рис. 6.1.
Var
par: ksParagraphParam; // абзац
itemParam: ksTextItemParam; // текст
itemFont: ksTextItemFont; // шрифт
Begin
par:= ksParagraphParam(
kompas.GetParamStruct(ko_ParagraphParam));
par.Init;
// параметры абзаца
with par do
begin
x:= 30; // левая верхняя точка
y:= 30;
height:= 25; // высота
width:= 20; // ширина
end;
// создаем абзац
iDocument2d.ksParagraph(par);
// параметры текста
itemParam:= ksTextItemParam(
kompas.GetParamStruct(ko_TextItemParam));
itemParam.Init;
// параметры шрифта
itemFont:= ksTextItemFont(itemParam.GetItemFont);
itemFont.Init;
with itemFont do
Begin
// c новой строчки
SetBitVectorValue(NEW_LINE, true);
// наименование шрифта
FontName:='Arial';
// высота текста в мм
Height:=5;
end;
// собственно текст
ItemParam.s:= 'Первая строка';
// выводим текст
iDocument2d.ksTextLine(itemParam);
// следующая строка
itemFont.Init;
with itemFont DO
Begin
SetBitVectorValue(NEW_LINE, true);
SetBitVectorValue(BOLD_ON, true);
Height:=10;
End;
ItemParam.s:= 'Вторая строка (жирный)';
iDocument2d.ksTextLine(itemParam);
iDocument2d.ksEndObj
end;
Метод SetBitVectorValue управляет оформлением текста и его разбивкой на строки (обратите внимание на константу NEW_LINE). Текст в основной надписи чертежа редактируется другими методами.
Рис. 6.1 Результат отрисовки текста.
Дата публикования: 2014-11-04; Прочитано: 421 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!