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

Interface. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,LDefin2D



Uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,LDefin2D, ksConstTLB, ksAuto, ksTLB;

Type

TMainForm = class (TForm)

Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel;

Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit;

Button2: TButton; Button3: TButton;

procedure Button3Click(Sender: TObject);

Private

{ Private declarations }

Public

{ Public declarations }

end;

Var

MainForm: TMainForm;

Implementation

uses main1;

{$R *.dfm}

//----------------------------------------------------------------------------

procedure DrawOtrezok1(x0,y0,x1,y1,x2,y2:double; nm:string);

//создание вида в текущем чертеже

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;

//выполняем процедуру DrawOtrezok

Begin

// cоздаём вид

MakeView(x0,y0,nm);

// отрезок

iDocument2D.ksLineSeg(x1,y1,x2,y2,1);

end;

//начало работы библиотеки

procedure TMainForm.Button3Click(Sender: TObject);

var X0,Y0,X1,Y1,X2,Y2:double;

Begin

Try

X1:=StrToFloat(Edit1.Text);

Y1:=StrToFloat(Edit2.Text);

X2:=StrToFloat(Edit3.Text);

Y2:=StrToFloat(Edit4.Text);

X0:=StrToFloat(Edit5.Text);

Y0:=StrToFloat(Edit6.Text)

Except

Kompas.ksMessage(‘Неверные данные');

abort

end;

DrawOtrezok1(X0,Y0,X1,Y1,X2,Y2,'otrezok')

end;

end.

Поместим на форму четыре компонента типа TEdit для ввода координат точек отрезка и два компонента типа TEdit для ввода начала координат вида, компоненты типа TLabel для размещеня надписей, кнопку "Отрезок" и кнопку "Готово"(Рис. 5.1). Как и в любой другой библиотеке, форма не создается автоматически – ее надо вручную создать и отобразить.

Рис.5.1. Форма библиотеки Отрезок

На время работы с формой надо отключить доступ к элементам интерфейса КОМПАС, иначе неизбежны попытки одновременного рисования в документе пользователем и библиотекой. Процедура Run в модуле main1 все это выполняет. Форма будет выводиться в модальном режиме. Это означает, что она заблокирует все остальные формы и, пока мы ее не закроем, доступ к КОМПАСу будет запрещен, что и требовалось. Чтобы модальную форму корректно закрыть, не обязательно выполнять метод Close. Достаточно в свойствах кнопки "Закрыть" установить ModalResult в значение mrOK. Это равносильно закрытию формы при нажатии на данную кнопку.

Для рисования отрезка используем имеющиеся в API команды построения изображений. Все они являются методами объекта iDocument2D. Построим отрезок в procedure TMainForm.Button3Click (Sender: TObject) при помощи метода ksLineSeg. На рисунке 5.2. показан чертёж с результатами работы библиотеки Отрезок1.

Рис.5.2. Пример применения библиотеки Отрезок1

5.6.Содержание отчёта

1.Титульный лист.

2. Задание.

3. Краткая теоретическая часть.

4. Содержательное описание прикладной библиотеки.

5. Файлы библиотеки с программным кодом.

6. Пример работы с библиотекой.

7. - подготовить отчёт по проделанной работе в текстовом формате KDW с переходом через формат JPG в формат PDF.

Контрольные вопросы

1.Что такое прикладная библиотека?

2. Как подключить к Компасу прикладную библиотеку?

3. Каков порядок создания нового проекта библиотеки в Delphi?

4. Каково назначение файла проекта?

5. Каково назначение файла формы?

6. Каково назначение файла программного модуля?

7. Какие функции должна экспортировать прикладная библиотека для её подключения к Компасу?

8. Какие основные методы создания графических примитивов имеются в API Компас?

9.Как производится отладка библиотеки?

10. Какой порядок работы с библиотекой при создании чертежа?

Библиография

1. Богуславский А.А. Си++ и компьютерная графика. М.,Компьютер Пресс,2003,352стр.

2.Карпов Б. Delphi:специальный справочник. СПб, Питер, 2001, 688стр.

3.Троицкий Д.И. Разработка 2D-библиотек для Компас. Тула, ТГУ, 2007, 26стр.





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



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