КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Лабораторная работа №6Библиография Контрольные вопросы Except Try Begin Begin Begin Begin Implementation Var Public Private Type Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,LDefin2D, ksConstTLB, ksAuto, ksTLB; 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 declarations } { Public declarations } end;
MainForm: TMainForm; 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; par:= ksViewParam(kompas.GetParamStruct(ko_ViewParam)); with par do Init; // точка привязки вида x:= x0; y:= y0; scale_:= 1; Angle:= 0; //цвет вида, когда он активен Color:= clRed; state:= stACTIVE; name:= nm end; n:=0; iDocument2D.ksCreateSheetView(par, n) end; //выполняем процедуру DrawOtrezok // 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; X1:=StrToFloat(Edit1.Text); Y1:=StrToFloat(Edit2.Text); X2:=StrToFloat(Edit3.Text); Y2:=StrToFloat(Edit4.Text); X0:=StrToFloat(Edit5.Text); Y0:=StrToFloat(Edit6.Text) 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стр.
Приложение 5.1. Стили точек 0 - точка 1 - крестик 2 - х-точка 3 - квадрат 4 - треугольник 5 - окружность 6 - звезда 7 - перечеркнутый квадрат 8 - утолщенный плюс
Приложение 5.2. Коды стилей линий 1 - основная линия 2 - тонкая линия 3 - осевая линия 4 - штриховая линия 5 - для линии обрыва 6 - вспомогательная линия 7 - утолщенная 8 - штрихпунктирная линия с двумя точками 9 - штриховая толстая линия 10 - осевая толстая линия 11 - тонкая линия, включаемая в штриховку 12 - ISO штриховая линия 13 - ISO штриховая линия (дл. пробел) 14 - ISO штрихпунктирная линия (дл. штрих) 15 - ISO штрихпунктирная линия (дл. штрих 2 пунктира) 16 - ISO штрихпунктирная линия (дл. штрих 3 пунктира) 17 - ISO пунктирная линия 18 - ISO штрихпунктирная линия (дл. и кор. штрихи) 19 - ISO штрихпунктирная линия (дл. и 2 кор. штриха) 20 - ISO штрихпунктирная линия 21 - ISO штрихпунктирная линия (2 штриха) 22 - ISO штрихпунктирная линия (2 пунктира) 23 - ISO штрихпунктирная линия (3пунктира) 24 - ISO штрихпунктирная линия (2 штриха 2 пунктира) 25 - ISO штрихпунктирная линия (2 штриха 3 пунктира)
«Разработка прикладной библиотеки чертежей» 6.1. Цель работы Целью работы является приобретение навыков создания 2D-прикладных библиотек и подключения их к САПР «Компас». 6.2. Задание Разработать прикладную библиотеку для построения следующих деталей: Варианты заданий Таблица 6.1
6.3. Порядок выполнения работы 1. - Получить задание у преподавателя, 2. - изучить теоретическую часть, 3. - ответить на контрольные вопросы, 4. - проделать пример выполнения работы, 5. - разработать прикладную библиотеку, 6. - подключить библиотеку к САПР «Компас», 7. - сделать чертеж при помощи разработанной библиотеки, 8. - подготовить отчёт по проделанной работе в текстовом формате KDW с переходом через формат JPG в формат PDF. 6.4. Теоретическая часть Сложные построения графических элементов чертежа(эллипс, текст, размеры) требуют так много параметров, что передавать их через заголовок метода просто неудобно. Поэтому используется следующий прием: создается переменная (аналог типа RECORD), ее поля заполняются требуемыми значениями и эта переменная подается на вход соответствующему методу. Разумеется, при частом использовании таких объектов в программе разумно вынести код их построения в отдельные процедуры с соответствующими параметрами. Эллипс. Эллипс строится следующим кодом: var par:ksEllipseParam;
Дата добавления: 2014-11-29; Просмотров: 508; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |