Национальные разработки в области информационных технологий при создании 3D-ядра и справочников для САПР с учетом стандартов серии ISO 13584/15926

При каждом создании нового объекта среда CLR выделяет память для объекта из управляемой динамически распределяемой памяти (кучи). Пока в управляемой куче имеется доступное адресное пространство, среда выполнения продолжает выделять пространство для новых объектов. Но память имеет пределы. В конечном счете, чтобы освободить некоторое количество памяти, сборщик мусора должен выполнить процедуру очистки. Механизм оптимизации сборщика мусора определяет наилучшее время для выполнения сбора, основываясь на произведенных выделениях памяти. В ходе выполнения очистки сборщик мусора отыскивает в управляемой куче объекты, которые более не используются приложением, и освобождает выделенную для них память [1].

Приведем простой пример, когда данный автоматический механизм не сможет освободить ресурсы, которые вам необходимы. Если попробовать обратиться два раза к одному и тому же файлу, скорей всего вы получите ошибку The process cannot access the file «filename.txt» because it is being used by another process. Так как объекты не удаляются сразу же после того, как в них отпадает необходимость, то и освобождение ресурсов происходит с задержкой, что является не рациональным с точки зрения использования

памяти и нагрузки системы. В C# для решения этой проблемы существует несколько способов:

- интерфейс IDisposable. Он призван формализовать освобождение ресурсов в CLR. Реализуется многими классами .NET Framework, в том числе и для уведомления клиентов об уничтожении объекта;

- стандартный способ try/finally;

- уникальное для C# ключевое слово using, которого больше нет ни в одном другом языке, поддерживающем CLR.

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

Библиографическая ссылка

1. Microsoft. Сборщик мусора. Интернет-издание. Библиотека TechNet [Электронный ресурс]. URL: http://technet.microsoft.com/ru-

ru/subscriptions/0xy59wtx.aspx. (дата обращения: 18.09.2012).

V. A. Okhotnikov

Siberian State Aerospace University named after academician M. F. Reshetnev, Russia, Krasnoyarsk

RESOURCE MANAGEMENT ON NET PLATFORM

The methods of resource management are considered. It is also necessary to increase productivity and optimize programs developed on the platform NET. The results of their implementation are described.

© Охотников В. А., 2012

УДК 004.94

А. С. Петров, А. В. Молодцова ЗАО «АСКОН», Россия, Санкт-Петербург

НАЦИОНАЛЬНЫЕ РАЗРАБОТКИ В ОБЛАСТИ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ПРИ СОЗДАНИИ 3D-ЯДРА И СПРАВОЧНИКОВ ДЛЯ САПР С УЧЕТОМ СТАНДАРТОВ СЕРИИ ISO 13584/15926

АСКОН представляет отечественное геометрическое ядро C3D с основными модулями. Ядро как компонент может быть задействовано для разработки приложений для 3D-моделирования в области как традиционных CAD/CAM/CAE-решений, так и специализированных программных продуктов и уникальных решений. Использование ядра C3D позволило создать универсальный справочник 3D/2D стандартных изделий в соответствии стандартов ISO 13584/15926.

Геометрическое ядро представляет собой программную реализацию математических методов построения численных моделей геометрии реальных и воображаемых объектов, а также математических методов управления этими моделями. Численные модели используются в системах, выполняющих проектирование CAD (Computer Aided Design), расчеты

CAE (Computer Aided Engineering) и производство CAM (Computer Aided Manufacturing) моделируемых объектов. Численные модели геометрии реальных и воображаемых объектов называют геометрическими моделями. Геометрическая модель содержит описание формы моделируемого объекта и описание связей элементов модели. Существует несколько подходов

Информационные системы и технологии

к описанию геометрической формы. Отечественное геометрическое ядро C3D для описания геометрической формы использует набор поверхностей, проходящих по границе, отделяющей внутреннее пространство моделируемого объекта от остальной части пространства. Такой подход называют граничным представлением (Boundary Representation, или B-Rep). С помощью триангуляции граничное представление позволяет построить упрощенное представление модели, которое используется для визуализации и геометрических расчетов. Триангуляция в геометрическом ядре C3D выполняется по принципу Делоне в плоскости параметров поверхностей.

Связи элементов модели формулируют в виде уравнений и неравенств. Связи элементов модели называют геометрическими ограничениями (Geometric Constraints). Для поиска решения, удовлетворяющего уравнениям и неравенствам геометрических ограничений, геометрическое ядро C3D использует вариационный подход, который гарантирует равноправие всех связей. Геометрические ограничения обеспечивают взаимосвязь между элементами модели, позволяют создавать подобные модели и управлять геометрической моделью.

Геометрическое ядро включает в себя три основных модуля:

- модуль геометрического моделирования «Modeler» - «Геометрический моделировщик». Предоставляет достаточный набор возможностей для твердотельного и гибридного моделирования;

- модуль параметризации «Solver» - «Решатель» параметрических ограничений. Позволяет добавлять и решать параметрические ограничения как для 2D-, так и для 3D-геометрии;

- модуль конвертеры «Converter» - «Модуль конвертеров». Обеспечивает чтение/запись геометрической модели в основные обменные форматы.

Применяемые в отечественном геометрическом ядре C3D математические объекты, методы и алгоритмы подробнее изложены в учебнике Голованова Н. Н. Геометрическое моделирование. М. : Академия, 2011.

В настоящий момент на предприятиях промышленности используются CAD (Computer Aided Design) различных производителей. Часто возникают ситуации, когда даже на одном предприятии работают как тяжелые CAD (для больших сборок), так и CAD среднего класса. Однако для тех и других важно наличие единых справочников нормативно-справочной информации (НСИ) по стандартным изделиям и по материалам. Такое единообразие необходимо для унификации изделий, выпуска отчетов и последующей передачи информации в другие информационные системы (MRP, ERP).

Системы НСИ в основном оперируют абстрактными понятиями, так называемыми семействами изделий (например, Болт М8*точность*материал *ГОСТ*) и описаниями изделий, но не каждым конкретным экземпляром изделия. При этом задача описания таких изделий глубоко типизирована, один болт по сравнению с другим болтом имеет много общего и

лишь незначительные отличия. Таким образом, работа системы НСИ идет с управлением огромным объемом типовой информации. У одного болта по ГОСТ может быть несколько десятков и сотен исполнений с учетом материалов, покрытий и т. д. Для описания такого рода информации предназначен объектно-ориентированный подход (парадигма), основанный на аналитическом подходе, т. е. рассмотрении информации от «общего к частному». При этом ввод в справочник новой информации о новом стандартном изделии заключается в том, что соответствующий пользователь описывает данное стандартное изделие в терминах отношений «из чего состоит» и «каким бывает». С точки зрения программирования последнее аналогично установлению между объектами ассоциаций агрегации и наследования, а вообще вся процедура описания нового стандартного изделия может интерпретироваться как построение его объектной модели.

Архитектура справочника стандартных изделий построена на международных стандартах ISO 10303 и 13584 «Parts Library» - «Библиотека деталей» (классы общей модели, классы функциональной модели, объектно-ориентированный подход), устанавливающих механизм представления каталожной информации на продукцию изготовителей и поставщиков. Реализация справочника стандартных изделий на основе ISO 13584 приемлема и обеспечивает альтернативное предоставление информации для модели данных, установленной ISO 15926 (Oil&gas) (согласно ГОСТ Р ИСО 15926-1-2008).

Благодаря математическому ядру «C3D» справочник позволяет генерировать 3D-элементы «на лету» с необходимыми атрибутами и в формате STEP или IGES вставлять в любые CAD системы. При этом не требуется поддержки и хранения рядов параметризованных стандартных изделий для различных CAD. Достаточно описать и создать один раз элемент, и он будет доступен в различных системах. При количестве более 0,6 млн шт. 2D/3D-элементов в справочнике не требуется наличия СУБД. Справочник занимает не более 40 Мб.

Применение справочника обеспечивает эффективное решение следующих задач:

- централизованное управление информацией о стандартных, типовых и прочих изделиях и конструктивных элементах в пределах всего предприятия;

- возможность использования (вставки) 2D/3D-моделей справочника в SolidWorks, KOMnAC-3D, КОМПАС-График, Autodesk Inventor, AutoCAD, SolidEdge, Pro|ENGINEER/Creo, CATIA, NX (в CAD появляется пункт меню справочника);

- быстрый поиск по заданным параметрам и выбор необходимого изделия с помощью навигации по иерархии стандартных изделий и заданным условиям классификации;

- быстрое и удобное позиционирование изделий, предварительный просмотр 3D-модели или плоского изображения модели перед выбором, использование крепежных соединений («болт-шайба-гайка» и пр.);

- экспорт графического представления изделий в форматы STEP, VRML, ACIS, Parasolid, IGES, STL, DXF, BMP, JPG, A3D, M3D, FRW;

- выбор параметров применения (представления) указанного стандартного изделия, например, детальность отрисовки в чертеже (с гранями или нет, разогнутая шпилька или согнутая и т. д.).

Практическая реализация справочника стандартных изделий в соответствии со стандартом ISO 13584 выполнена во Франции (PSA Peugeot Citroen), Японии (Toshiba) и России (АСКОН). Справочник, разработанный АСКОН, активно используется с 2003 года на более чем 2 700 промышленных предприятиях в РФ и за рубежом.

A. S. Petrov, A. V. Molodtsova ZAO ASCON, Sankt Petersburg, Russia

NATIONAL SCIENTIFIC DEVELOPMENTS IN THE AREA OF INFORMATION TECHNOLOGY TO CREATE 3D KERNEL AND CATALOGUES FOR CAD WITH ISO 13584/15926 STANDARDS SUPPORT

The kernel as a component can be used for 3D-modeling applications development in traditional CAD/CAM/CAE solutions, as well as in specialized software products for unique solutions. Using C3D geometrical kernel allows to create universal 3D/2D standard products catalogue according to ISO 13584/15926 standards.

© Петров А. С., Молодцова А. В., 2012

УДК 004.9

И. О. Петрухин

Самарский государственный аэрокосмический университет имени академика С. П. Королева (Национальный исследовательский университет), Россия, Самара

ДИНАМИЧЕСКОЕ МОДЕЛИРОВАНИЕ ПЕРСОНАЖЕЙ И УПРАВЛЕНИЕ ИМИ В ВИРТУАЛЬНОЙ ОБУЧАЮЩЕЙ СИСТЕМЕ 3DUCATЮN

Представлены модели различных игровых и неигровых персонажей и алгоритмы управления ими, которые используются в виртуальной обучающей системе «3Ducation» для персонализации обучаемых и управления ими в ходе обучения. Кроме того, автором разработана и интегрирована в систему сцена выбора персонажа, позволяющая подбирать аватара и настраивать его параметры в соответствии с желаниями обучаемого.

Век новых информационных технологий - XXI век -предоставляет человеку огромные возможности, в том числе возможность получать образование, не выходя из дома. Дистанционное обучение - одно из наиболее быстро развивающихся направлений системы образования, которое использует передовые средства коммуникаций (телевидение, видео- и аудио- средства обучения, компьютерные глобальные и локальные сети). Процесс передачи знаний в системах дистанционного обучения гибкий и удобный для обучаемого, кроме того, он более эффективный, так как форма представления учебного материала чаще всего не текстовая, а графическая. Учеными доказано, что через зрение человеку поступает более 90 % всей информации об окружаемом мире, а зрение работает тем эффективнее, чем более образный мир оно видит. Поэтому трехмерное пространство, или так называемый виртуальный мир, использующий яркие трехмерные образы, максимально приближенные к реальности, дает возможность для увеличения потенциала образовательного процесса.

Виртуальная обучающая система (ВОС) ЗБисайоп, разрабатываемая коллективом авторов на кафедре программных систем Самарского государственного

аэрокосмического университета (СГАУ), предназначена для обучения учащихся школы информатики СГАУ. Она позволяет в игровой форме преподнести школьникам всю необходимую информацию. ВОС представляет собой клиент-серверное веб-приложение и решает следующие задачи:

1) поддерживает разработку обучающих курсов -дает возможность разработчику (преподавателю) создавать тематические курсы, задания, тесты и т. п. В базе данных хранится вся информация об учебных курсах;

2) создает виртуальное пространство обучения на основе информации о курсах, хранящейся в базе данных;

3) предоставляет удаленный доступ к виртуальному пространству.

Виртуальный мир строится с применением игрового «движка» Unity - на сегодняшний день одного из самых мощных, удобных и бурно развивающихся средств работы с трехмерной графикой, поэтому на компьютере пользователя обязательно наличие веб-браузера с установленным плагином Unity Web Player.

Выбор игрового персонажа - первый и очень важный шаг в процессе обучения, так как пользователь