Смекни!
smekni.com

Разработка библиотеки для КОМПАС График Расчет и построение теплообменников (стр. 9 из 17)

- запрос контекстного меню данного библиотечного элемента-теплообменника.

В интерфейсе "Пользовательский параметр", в виде которого надо оформить ссылку на динамический массив, происходит получение очередной записи из динамического набора, с которым связана запись resRecord. Значения полей очередной записи возвращаются в массив, ссылка на который передается в параметре iParm.

Формирование условия для динамического набора на выборку происходит в записи для заданного диаметра (для этого при описании resRecord первому полю было присвоено имя d).

Модуль uDialog – осуществляет вывод на экран диалоговой формы теплообменника.

Здесь происходит формирование строки со значением диаметра d (целое или вещественное число с одним знаком после запятой). Запоминание вида детали, выбранного с помощью кнопок зависимой фиксации.

В конструкторе выполняется заполнение выпадающего списка значений диаметров теплообненника значениями из базы данных. Задание параметров теплообменника из объекта dataBuf выполняется синхронизация состояния элементов управления окна с новыми значениями параметров теплообменника.

Существует вспомогательный метод для изменения вида детали на чертеже. Для этого запоминается выбранный вид gp и выполняется перерисовка слайда. Для вида с разрезом разрешается редактирование параметров штриховки.

Чтобы получить выбранное значение диаметра из выпадающего списка следует выполнить преобразование в вещественное число, для чего глобальная библиотечная символьная переменная-десятичный разделитель задается равной '.'

Для извлечения параметров теплообменника с диаметром d из базы данных и запоминанием их в объекте parms, следует учитывать свойства, указанные пользователем ранее с помощью элементов управления, например, мелкий/крупный шаг (эти свойства были запомнены в виде флагов в поле parms.flags).

Нажатием кнопки "Помощь" открывается файл справки или выдается сообщение об ошибке, если этот файл отсутствует.

Модуль uConst.pas – осуществляет определение кодов констант прикладной библиотеки (для включения в модули проекта).

В данном модуле содержатся идентификаторы библиотеки:

- Идентификаторы слайдов;

- Идентификаторы команд для командного окна, выводимого в процессе размещения теплообменника на чертеже;

- Идентификаторы меню, команды которых выводятся в командном окне в процессе размещения теплообменника на чертеже;

- Идентификаторы курсоров для работы с характерными точками.

Модуль Obmen.RC – файл ресурсов прикладной библиотеки. Является модулем обрисовки теплообменника в программе КОМПАС.

Модуль Obmen.dpr – главный модуль проекта RTW – библиотеки для рисования детали теплообменник.(см. Приложение А)

В функции каркаса RTW-библиотеки происходит возврат идентификатора библиотеки и осуществляется процедура точки входа в RTW-библиотеку.

В качестве главного окна приложения на время выполнения команд библиотеки, задается главное окно КОМПАС, это обеспечивает принадлежность диалоговых окон прикладной библиотеки.

Вывод диалогового окна, в данном случае, для настройки параметров оси и в случае успешного задания параметров рисование чертежа теплообменника осуществляется в текущем графическом документе.

Процедура каркаса RTW-библиотеки: возврат интерфейса типа idType, при idType =1 функция должна вернуть указатель на объект, реализующий интерфейс характерных точек ILibHPObject применительно к элементу чертежа, который был построен посредством команды библиотеки. Обычно этот запрос происходит при выделении элемента на чертеже щелчком мыши.

Хотя объект "Теплообменник с поддержкой характерных точек" объявлен внутри процедуры LibObjInterfaceEntry, благодаря увеличению счетчика ссылок пользователей этого объекта он продолжает существовать и после выхода из процедуры LibObjInterfaceEntry.

5.4 Руководство программиста

Для того чтобы установить библиотеку необходимо в корневом каталоге жёсткого диска компьютера создать папку \Teploobmennik, с которой вы будете работать в процессе предлагаемых работ.

Теперь запустите Delphi, и командой Project → Options вызовите окно параметров проекта и выполните следующие изменения:

- задайте в качестве расширения имени библиотеки RTW, а не DLL. На закладке Application в строке Target file extension введите rtw.

- укажите местоположение заголовочных модулей. На закладке Directories/Conditionals в строку Search path добавьте (не удаляя предыдущее содержимое этой строки) путь к папке Teploobmennik → RTWExamples → AppTools.

- задайте местоположение промежуточных и окончательных результатов компиляции. На закладке Directories/Conditionals в строках Outputdirectory и Unitoutputdirectory введите путь к созданной ранее папке Teploobmennik → RTWExamples → Proekt → DCU. Путь обязательно должен быть абсолютным, иначе в Delphi отладка DLL будет недоступна.

- отключите выравнивание полей записи. На закладке Compiler в блоке Codegeneration отключите флажок Alignedrecordfields.

Теперь запустите КОМПАС 3DLTV8, выберете в нем команду Сервис→ Подключить библиотеку. В появившемся окне вы открываете папку Teploobmennik → RTWExamples → Proekt → DCU. В строке меню выберете Библиотеки и открываете библиотеку «Теплообменники».

При доработке и усовершенствовании библиотеки необходимо:

- написать требуемый модуль;

- подключить его к главному модулю программы;

- дополнить главное меню требуемым пунктом и назначить на этот пункт событие в виде вызова новой процедуры.

Просматривая содержимое папки библиотек, можно заменить вложенные папки LOAD и файлы*.LOA. это текстовые файлы, в которых прикладные библиотеки хранят таблицы параметров стандартных деталей. Это позволяет при необходимости расширить или исправить список параметров деталей, не изменяя самой прикладной библиотеки.


6. Техническое обеспечение

6.1 Общие требования

- При разработке технического обеспечения подсистемы: «Библиотека для Компас – 3DV9 «Расчет и построение теплообменников»» следует учитывать тот факт, что она должна являться частью системы КОМПАС-3DV9. Исходя из этого, техническое обеспечение подсистемы должно подчиняться требованиям самой системы КОМПАС-3DV9. Таким образом, обеспечение подсистемы комплексом технических средств должно выполняться автоматически, при обеспечении таковых у всей системы в целом. Поэтому при описании комплекса технических средств (КТС) за основу будет взят КТС необходимый для обеспечения работоспособности системы КОМПАС - 3DV9.

6.2 Материнская плата

На основании нижеприведенных результатов тестирования, осуществим выбор материнской платы.

Характеристики тестового стенда:

- операционная система Windows XP Professional SP2,

- процессор Intel Pentium 4 Extreme Edition 3,46 ГГц, Socket 775,

- память 2x512 МБ DDR2-533 DDR2 SDRAM DIMM Corsair (CM2X512A-4300C3PRO), 3-3-3-8,

- видеокарта [PCIEx16] ATI Radeon X800 XT 256 Мб,

- жесткий диск Seagate Barracuda 7200.7 (SATA), 7200 об/мин.

Технические характеристики протестированных материнских плат представлены в таблице 7.1.


Таблица 6.1 – Технические характеристики материнских плат [7]

Параметр ECSPF5 Extreme Foxconn 945P7AA-8KS2 ASUS P5AD2-E Premium
1 2 3 4
Чипсет Intel 945P/ICH7R Intel 945P/ICH7 Intel 925XE/ICH6R
Поддержка процессоров Socket 775, Intel Pentium 4/Pentium 4 EE/Pentium D/ Celeron D
Разъемы памяти 4 DDR2
Слоты расширения PCIEx16, 2 PCIEx1, 3 PCI
Форм-фактор, размеры, см. ATX, 30,5×24,5
USB 4 USB 2.0 + 2 разъема по 2 USB 2.0
Порты ввода/вывода 1 FDD, 1 LPT на планке, 1 COM, 2 PS/2, разъем IrDA 1 FDD, 1 LPT, 1 COM + разъем COM, 2 PS/2, разъем IrDA 1 FDD, 1 LPT, 1 COM (на планке), 2 PS/2
Интегрированный в чипсет ATA-контроллер на 2 устройства ATA100 + 4 SATA300 RAID (0, 1, 10, 5, Matrix RAID) на 2 устройства ATA100 + 4 SATA300 1 FireWire + 2 разъема на 2 порта GigaWire на планке (TI TSB82AA2 + TSB81BA3)
Внешний ATA-контроллер Silicon Image SiI3132CNU (интерфейс PCIEx1, 2 SATA300 RAID 0, 1) ITE IT8212F (4 ATA133 RAID 0, 1 и 0+1) 2 ATA100 + 4 SATA RAID (0, 1, Matrix RAID)
Звук HDA-кодек Realtek ALC880, Toslink S/PDIF-In/Out HDA-кодек Realtek ALC880, Coaxial S/PDIF-Out HDA-кодек C-Media CMI9880, Coaxial и Toslink S/PDIF-Out, разъемдля S/PDIF-In
Сетевой контроллер Marvell 88E8053-NNC (PCIEx1 Gigabit Ethernet) + Realtek RTL8100С (Fast Ethernet) Broadcom Broadcom BCM5789KFB (PCIEx1 Gigabit Ethernet) 2xMarvell 88E8053-NNC (PCIEx1 Gigabit Ethernet) + Marvell 88W8310-BAN (WiFi-b/g)
I/O-контроллер Winbond W83627THF ITE IT8712F-A Winbond W83627EHF-A
BIOS AMI BIOS v2.58 Phoenix AwardBIOS v6.00PG AMI BIOS v2.51

Результаты тестирования материнских плат представлены в таблице 7.2.

Таблица 6.2 – Результаты тестирования материнских плат [7]

Параметр ECSPF5 Extreme Foxconn 945P7AA-8KS2 ASUS P5AD2-E Premium
Скорость чтения/записи памяти, Мб/с 3454/1598 3907/1992 3147/1397
Архивирование: WinRAR, мин:сек 2:38 2:24 2:58
Кодирование DVD-звука в XviD 1.0.2, мин:сек 5:21 5:14 5:43
Обработка изображений: AdobePhotoshop 8.0, мин:сек 33:02 32:18 35:18
Игра FarCry (1024x768), fps 81 85 80
Игра Unreal Nournament 2004 (1024x768), fps 63,4 65,7 60,6

По результатам тестирования выбираем материнскую плату Foxconn 945P7AA-8KS2.

6.3 Подбор процессора

По результатам тестирования, приведенным ниже, осуществим выбор процессора.

Характеристики тестового стенда:

- Материнская плата: ASUSP5WD2 Premium (LGA775, Intel 955XExpress).

- Память: 2048MB DDR400 SDRAM (Corsair CMX1024-3500LLPRO, 2 x 1024 MB, 2-3-2-10);

- Графическая карта: NVIDIA GeForce 7800 GT 256MB (PCI-E x16).