Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Отрезок



Метод «Отрезок» ksLineSeg(x1,y1,x2,y2,type) проводит отрезок стилем линии type из точки (x1,y1) в точку (x2,y2).

Прямая

Метод «Прямая» ksLine(x,y,angle) проводит бесконечную прямую через точку x,y под углом angle в градусах к положительному направлению оси ОХ.

Дуга

Метод «Дуга1» ksArcBy3Points (x1, y1, x2,y2, x3, y3, type) строит дугу по трем точкам стилем линии type.

Метод «Дуга2» ksArcByAngle (xc, yc, rad, f1, f2, direction, type) строит дугу: xc, yc - координаты центра дуги, rad - радиус дуги, f1, f2 - начальный и конечный угол дуги в градусах, direction – направление отрисовки дуги:1 - против часовой стрелки, (-1) - по часовой стрелке, type - стиль линии.

Метод «Дуга3» ksArcByPoint (xc, yc, rad, x1, y1, x2, y2, direction, type) строит дугу: xc, yc - координаты центра дуги, rad - радиус дуги, x1, y1 – координаты начальной точки дуги, x2, y2 - координаты конечной точки дуги, direction -направление отрисовки дуги:1 - против часовой стрелки,(-1) - по часовой стрелке, type - стиль линии.

Окружность

Метод «Окружность» ksCircle(xc, yc, rad, type) строит окружность с центром в точке xc,yc, радиусом rad и стилем линии type.

Вид

Чертеж в КОМПАСе делится на виды. По умолчанию все отрисовываемые объекты оказываются на системном виде, что в общем-то неудобно. Элементы чертежа надо группировать по видам. Кроме того, каждый вид имеет свою систему координат и свой масштаб, что позволит пользователю библиотеки легко перемещать и масштабировать построенное программой изображение. Поэтому все построения будут делаться на новом виде. Процедуру создания вида необходимо запустить до начала рисования графических изображений. Начало координат вида (точка привязки) устанавливается в точке x0 и y0. В строку параметров также передаётся масштаб, угол поворота, цвет, статус и имя вида. Приведем пример процедуры создания вида.

procedure MakeView(x0,y0:DOUBLE; nm:STRING);

var par:ksViewParam; n:INTEGER;

Begin

par:= ksViewParam(kompas.GetParamStruct(ko_ViewParam));

with par do

Begin

Init;

// точка привязки вида

x:= x0;

y:= y0;

scale_:= 1;

Angle:= 0;

//цвет вида, когда он активен

Color:= clRed;

state:= stACTIVE;

name:= nm

end;

n:=0;

iDocument2D.ksCreateSheetView(par, n)

end;

5.5. Пример разработки 2D-библиотеки «Отрезок1»

Поставим задачу создания простейшей 2D библиотеки, которая выполняла бы следующие действия: создавала бы в чертеже вид с началом координат в точке x0, y0, выводила бы на экран форму для ввода координат (x0,y0,x1,y1,x2,y2) и в текущем чертеже проводила бы отрезок из точки x1,y1 в точку x2,y2. В Delphi создаем новый проект типа "DLL library" (вспоминаем курс "Информатика"). В файле.dpr такого проекта содержится заголовок библиотеки со списком экспортируемых процедур. Для того, чтобы КОМПАС подключил нашу библиотеку, она должна экспортировать следующие процедуры и функции:

LibraryName - функция, возвращающая текстовое название библиотеки;

LibraryId – функция, возвращающая целый идентификатор библиотеки;

LibraryEntry – точка входа в библиотеку, или, проще говоря, процедура,выполняемая при запуске библиотеки.

Чтобы создаваемая библиотека автоматически получила расширение rtw, а не dll, надо использовать директиву компилятора {$E rtw}. Тогда dpr-файл нашего проекта будет иметь вид:

library OTREZOK1;

{$E rtw}

uses SysUtils, Classes, KsTLB,main1 in ‘main1.pas’,former1 in ‘former1.pas;





Дата публикования: 2014-11-04; Прочитано: 246 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...