Читаем КОМПАС-3D V10 на 100 % полностью

Добавьте на форму по четыре текстовых метки (TLabel) и поля ввода (TEdit), а также две кнопки (TButton). Присвойте им заголовки Построение и Отмена.

Разместите указанные элементы управления приблизительно так, как показано на рис. 6.24.

Рис. 6.24. Форма будущего диалогового окна библиотеки

После создания формы необходимо обеспечить ее вывод в окне КОМПАС. Задача, на первый взгляд, сложная, но решается просто. Для вывода диалогового окна библиотеки нужно сделать следующее.

1. Получить дескриптор главного окна КОМПАС.

2. Запретить доступ пользователю к главному окну программы.

3. Создать объект диалогового окна и вывести его на экран в модальном режиме.

4. После закрытия пользователем окна библиотеки уничтожить окно и вернуть управление главным окном КОМПАС пользователю.

5. Обнулить дескриптор приложения.

Реализовать эту последовательность действий лучше всего в процедуре точки входа в библиотеку (листинг 6.10).

Листинг 6.10. Вывод диалогового окна библиотеки

procedure LibraryEntry(command: WORD); pascal;

var GearsForm : TGearsForm;

begin

kompas := KompasObject(CreateKompasObject);

if (kompas = nil) then exit;

// получаем дескриптор главного окна КОМПАС

Application.Handle := kompas.ksGetHWindow;

// запрещаем доступ к главному окну

kompas.ksEnableTaskAccess(0);

// создаем объект диалогового окна

GearsForm := TGearsForm.Create(Application);

GearsForm.ks := kompas;

// выводим диалог на экран

GearsForm.ShowModal;

// удаляем объект

GearsForm.Free;

// возвращаем доступ к окну

kompas.ksEnableTaskAccess(1);

Application.Handle := 0;

kompas := nil;

end;

В приведенном фрагменте кода есть одна, на первый взгляд, непонятная строка – GearsForm.ks := kompas;. В действительности, здесь все просто. Поскольку обработка построения зубчатого колеса будет выполнена внутри класса формы TGearsForm, то для того, чтобы в нем не получать заново указатель на интерфейс KompasObject, этот указатель передается внешней переменной ks класса TGearsForm. Разумеется, эту переменную (типа KompasObject) необходимо предварительно добавить в раздел public описания класса формы. Перед этим подключите в разделе uses модуля BuildUnit следующие файлы (модули): ksTLB, ksAuto, ksConstTLB, LDefin3D, LDefin2D и math (последний не относится к КОМПАС API, это стандартный модуль математических функций Delphi).

Скомпилируйте проект и подключите полученную библиотеку Gears3D.rtw к КОМПАС. Запустите ее и убедитесь, что после выполнения ее единственной команды в центре главного окна появляется созданное нами диалоговое окно.

Перейдем к реализации обработчиков щелчка на кнопках. Начнем со второй (Отмена), поскольку ее обработчик чрезвычайно прост. Щелкните дважды в редакторе форм на кнопке Отмена и в обработчике, автоматически созданном в редакторе кода, введите всего одну строку, закрывающую форму (листинг 6.11).

Листинг 6.11. Обработчик щелчка на кнопке Отмена

procedure TGearsForm.Button2Click(Sender: TObject);

begin

if CloseQuery then Close;

end;

Процедура обработки нажатия кнопки Построение намного сложнее. Условно ее можно разделить на три части.

1. Расчет геометрических параметров зубчатого колеса по введенным исходным данным.

2. Создание пустого документа КОМПАС-Деталь.

3. Собственно построение модели зубчатого колеса.

Программное построение модели колеса реализуем такой последовательностью трехмерных операций.

1. Сначала программно в плоскости XOY создается эскиз, содержащий контур половины сечения колеса (такой же, какой мы выполняли при моделировании вручную в гл. 3). На основании этого эскиза выполняется операция вращения, формирующая заготовку зубчатого колеса.

2. Далее в плоскости YOZ строится второй эскиз с четырьмя окружностями, над которыми выполняется операция вырезания в два направления. Таким образом, мы получим отверстия в диске.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих
1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих

Книга предоставляет полное описание приемов и методов работы с программой "1С:Управление небольшой фирмой 8.2". Показано, как автоматизировать управленческий учет всех основных операций, а также автоматизировать процессы организационного характера (маркетинг, построение кадровой политики и др.). Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, формировать разнообразные отчеты, выводить данные на печать. Материал подан в виде тематических уроков, в которых рассмотрены все основные аспекты деятельности современного предприятия. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов. Все приведенные в книге примеры и рекомендации основаны на реальных фактах и имеют практическое подтверждение.

Алексей Анатольевич Гладкий

Экономика / Программное обеспечение / Прочая компьютерная литература / Прочая справочная литература / Книги по IT / Словари и Энциклопедии
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT