Математическое и программное обеспечение моделирования кинематики оборудования и процесса формирования изделий методом намотки и выкладки в автоматизированной системе технологической подготовки производства тема диссертации и автореферата по ВАК РФ 05.13.06, кандидат наук Савин, Александр Геннадьевич
- Специальность ВАК РФ05.13.06
- Количество страниц 234
Оглавление диссертации кандидат наук Савин, Александр Геннадьевич
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
ГЛАВА 1. СИСТЕМНЫЙ АНАЛИЗ ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА ИЗГОТОВЛЕНИЯ ИЗДЕЛИЙ ИЗ КОМПОЗИЦИОННЫХ МАТЕРИАЛОВ МЕТОДОМ НАМОТКИ И ВЫКЛАДКИ НА МНОГОКООРДИНАТНЫХ СТАНКАХ С ЧПУ
1.1 Описание общего подхода к созданию управляющих программ для станков с ЧПУ при помощи автоматизированных систем технологической подготовки производства
1.2 Требования, предъявляемые к современным автоматизированным системам технологической подготовки производства изделий из композиционных материалов и их компонентам
1.3 Выводы
ГЛАВА 2. МОДЕЛИРОВАНИЕ КИНЕМАТИКИ МНОГОКООРДИНАТНЫХ НАМОТОЧНЫХ И ВЫКЛАДОЧНЫХ СТАНКОВ
2.1 Формализованный метод синтеза виртуальных моделей технологического оборудования в системе автоматизированного программирования многокоординатных станков
2.2 Моделирование намоточных станков токарного типа с пятью управляемыми координатами
2.3 Моделирование выкладочных станков портального типа
2.3.1 Моделирование пятикоординатного выкладочного станка с подвижной головкой и неподвижным столом
2.3.2 Моделирование шестикоординатаного выкладочного станка с подвижным столом
2.4 Выводы
ГЛАВА 3. МОДЕЛИРОВАНИЕ ПРОЦЕССА ФОРМИРОВАНИЯ ИЗДЕЛИЙ МЕТОДОМ НАМОТКИ
3.1 Описание решения прямой задачи кинематики для многокоординатных станков
3.2 Математическое моделирование процесса укладки нити при заданной траектории движения точки схода нити
3.2.1 Вводные замечания
3.2.2 Математическая модель процесса укладки нити на поверхности произвольной формы при заданной траектории движения точки схода нити
3.2.3 Исследования устойчивости решения системы уравнений модели процесса укладки нити на поверхности оправки при заданной траектории движения точки схода нити
3.2.4 Исследования результатов применения модели процесса укладки нити при заданной траектории точки схода нити
3.3 Выводы
ГЛАВА 4. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПОДСИСТЕМЫ МОДЕЛИРОВАНИЯ КИНЕМАТИКИ МНОГОКООРДИНАТНОГО ТЕХНОЛОГИЧЕСКОГО ОБОРУДОВАНИЯ И ПРОЦЕССА ФОРМИРОВАНИЯ ИЗДЕЛИЙ МЕТОДОМ НАМОТКИ И ВЫКЛАДКИ НА МНОГОКООРДИНАТНЫХ СТАНКАХ С ЧПУ
4.1 Структура разработанного программного обеспечения
4.2 Алгоритм формирования геометрических моделей станков в
системе подготовки управляющих программ
4.3 Программный модуль построения виртуальных моделей многокоординатных станков
4.4 Выводы
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ 1. ЛИСТИНГ ПРОГРАММЫ
ПРИЛОЖЕНИЕ 2. Копии свидетельств о регистрации программы для
ЭВМ
ПРИЛОЖЕНИЕ 3. Копии документов об использовании результатов диссертации
Рекомендованный список диссертаций по специальности «Автоматизация и управление технологическими процессами и производствами (по отраслям)», 05.13.06 шифр ВАК
Геометрическое моделирование технологических процессов намотки и выкладки конструкций из волокнистых композиционных материалов2010 год, доктор технических наук Битюков, Юрий Иванович
Математические модели и алгоритмы программирования процессов формообразования изделий методом намотки2002 год, кандидат технических наук Князев, Дмитрий Николаевич
Методы трехмерного моделирования и контроля процессов изготовления деталей из композиционных материалов способом намотки2006 год, доктор технических наук Аюшеев, Тумэн Владимирович
Автоматизация проектирования процесса намотки авиационных конструкций на основе применения локально-аппроксимационных сплайнов2014 год, кандидат наук Мирошниченко, Павел Владимирович
Исследование геометрических вопросов повышения эффективности процесса намотки с использованием технического зрения2012 год, кандидат технических наук Тармаев, Олег Алексеевич
Введение диссертации (часть автореферата) на тему «Математическое и программное обеспечение моделирования кинематики оборудования и процесса формирования изделий методом намотки и выкладки в автоматизированной системе технологической подготовки производства»
ВВЕДЕНИЕ
Актуальность темы исследования. Широкое применение во всех сферах человеческой деятельности благодаря своим свойствам нашли полимерные композиционные материалы. Области применения данных материалов многочисленны: авиационная, космическая, ракетная, автомобильная, судостроение и другие специальные отрасли техники [30, 31, 49].
Одним из самых производительных технологических способов получения изделий из полимерных композиционных материалов является метод непрерывной намотки посредством подачи и укладки пропитанных волокон материала под натяжением на поверхность технологической оснастки (оправки) [84].
Наряду с методом намотки, часть изделий, в частности имеющих сложную геометрическую форму поверхности, целесообразно изготавливать с применением автоматизированной выкладки [84]. Выкладка материала осуществляется послойно на оправку изделия. Операции выкладки: автоматическая подача и обрезка материала выполняются выкладочной головкой.
Намотка и выкладка производятся на многокоординатных станках с числовым программным управлением (ЧПУ). Управление рабочими органами станков осуществляется по заранее составленным управляющим программам. Для подготовки управляющих программ разработаны и широко используются системы автоматизированного программирования многокоординатных станков, которые являются подсистемами автоматизированных систем технологической подготовки производства (АСТПП) и позволяют создавать управляющие программы на высоком уровне автоматизации с применением современной вычислительной техники [14, 35, 39].
Системы автоматизированного программирования многокоординатных станков успешно решают задачу планирования траекторий движения рабочих органов станков на основе теоретических математических моделей поверхностей.
Вместе с тем, реальные траектории, воспроизводимые рабочими органами станка при отработке управляющих программ могут не совпадать с планируемыми из-за погрешностей систем позиционирования. Профиль поверхности оправки также может отличаться от модели, заложенной при подготовке управляющей программы. Такое отличие может появиться вследствие искажения формы поверхности оправки при изготовлении, наличия дополнительных функциональных элементов, укладываемых на оправку и вносящих локальные искажения в ее профиль, а так же в результате того, что для обеспечения расчетов линии укладки материала при подготовке управляющей программы исходная информация о сложных поверхностях упрощается.
Совокупность этих факторов (отличие траекторий движения рабочих органов и профиля оправки от расчетных) приводит к отклонению фактических линий укладки армирующего материала в готовом изделии от оптимальных, которые обеспечивают наивысшие прочностные характеристики полимерных композиционных материалов. Для восстановления оптимальной линии укладки в рамках существующего аппарата программирования требуется пошаговая корректировка траекторий рабочих органов с последующей проверкой результатов путем выполнения намотки в натурных условиях. Все это приводит к усложнению отработки управляющих программ, увеличению длительности их подготовки и нерациональному расходованию дорогостоящих материалов.
Потребность методов и средств, позволяющих оценить и в случае необходимости оптимизировать управляющую программу конкретного изделия на выбранном виртуальном станке без выхода на реальное технологическое оборудование, обусловливает актуальность задачи разработки нового математического, алгоритмического и программного обеспечения методов намотки и выкладки в автоматизированной системе технологической подготовки производства. Постоянное расширение парка технологического оборудования вызывает необходимость автоматизации процесса синтеза новых виртуальных моделей станков в системе автоматизированного программирования
многокоординатных станков. Виртуальные модели станков интегрируют в себе математические и геометрические модели, которые необходимы для подготовки управляющих программ на этапах расчёта зоны безопасности, траектории движения точки схода нити, траекторий и законов движения рабочих органов станков, для моделировании кинематики технологического оборудования и процесса формирования изделий для контроля и отладки рассчитанных управляющих программ.
Актуальность работы подтверждается соответствием ее приоритетным направлениям развития науки, технологий и техники РФ и перечню критических технологий (утвержденных указом Президента РФ от 07.07.2011 г. № 899). Работа выполнялась в рамках научного направления ЮРГПУ(НПИ) «Теория и методы построения устройств и систем управления, контроля и диагностики» (утверждено решением ученого совета университета от 28.09.2011 г.); Государственных контрактов по теме «Разработка технологий программируемого синтеза новых функциональных материалов с заданными физико-химическими свойствами» программы «У.М.Н.И.К.» Государственного Фонда содействия инновациям (проекты № 6124р/8691-2 и № 5222р/7637-Б).
Степень разработанности темы исследований. Проблемам создания математического и программного обеспечения методов намотки и выкладки на станках с ЧПУ посвящено большое число работ отечественных ученых [16, 21, 23, 25, 29, 38, 46, 48, 51, 78, 88, 89, 91, 92, 114, 122, 125], таких как В.В Алек-сейчик, Т.В. Аюшеев, Ю.И. Битюков, Г.Р. Борох, С.С. Гаврюшин, Ю.И. Дени-скин, А.Г. Душенко, А.Н. Иванченко, В.А. Калинин, Д.Н. Князев, В.И. Мари-нин, А.Н. Моргун, Я.Я. Чикильдин, А.Б. Шварц, В.Е. Шукшунов, а также зарубежных [2, 6, 10 ,11] - A. Л^1аш, O. Bergsma, A. Beukers, S. Koussios, F. Nucci, J. Scholliers, Л. Spagnolo.
В рамках задачи моделировании кинематики многокоординатных станков существуют различные способы решения [6, 10, 11, 16, 23, 24, 26, 32, 41, 48, 59, 63, 64, 65, 66, 78, 89, 93, 97, 100, 101, 102, 105, 108, 125]. Предлагаемые
подходы рассматривают выходное звено укладчика в виде некоторой материальной точки или линии. При подобном представлении выходного звена на практике возникают систематические погрешности расчётов траекторий движения рабочих органов станка [89]. Другие подходы рассматривают оправку только как поверхность вращения, что существенно сужает номенклатуру изготавливаемых на многокоординатных станках изделий.
Известные математические модели процесса укладки нити [28, 122] не позволяют получить устойчивое решение уравнений входящих в модель используемую в задаче расчета траектории укладки нити при заданной траектории движения точки схода нити.
Анализ предлагаемых на рынке отечественных [8] и зарубежных систем автоматизированного программирования многокоординатных станков [1, 3, 4, 5, 7, 9, 12, 13] выявил необходимость наличия в составе автоматизированных систем подготовки станочных управляющих программ средств автоматизации создания виртуальных моделей станков. Для контроля, улучшения качества управления технологическими процессами и повышения прогнозируе-мости механико-технических характеристик изделий возможно использование элементов виртуальной инженерии при моделировании кинематики технологического оборудования и процесса формирования изделий на многокоординатных станках с числовым программным управлением.
Объектом исследования диссертационной работы являются автоматизированные технологические процессы изготовления изделий из полимерных композиционных материалов методом намотки и выкладки на многокоординатных станках с ЧПУ.
Предметом исследования являются математические модели, алгоритмы и программные комплексы моделирования кинематики технологического оборудования и процесса формирования изделий из полимерных композиционных материалов методом намотки и выкладки на многокоординатных станках с ЧПУ в АСТПП.
Целью диссертационной работы является повышение эффективности и качества управляющих программ в процессе технологической подготовки производства изделий из композиционных материалов путем разработки новых математических моделей, а также алгоритмов и программных комплексов моделирования кинематики технологического оборудования и процесса формирования изделий намоткой и выкладкой на станках с ЧПУ в АСТ ПП, что позволит обеспечить повторяемость изделий при их изготовлении на различном технологическом оборудовании, уменьшить число операций при подготовке управляющих программ, исключить простои дорогостоящего оборудования, уменьшить число опытных образцов и натурных испытаний.
Задачи диссертационной работы:
1. Для автоматизации подготовки управляющих программ в системе автоматизированного программирования многокоординатных станков разработать и реализовать формализованный метод синтеза виртуальных моделей намоточных и выкладочных станков.
2. В рамках апробации предлагаемого метода синтеза разработать и интегрировать в систему автоматизированного программирования многокоординатных станков новые математические и геометрические модели станков различных типов.
3. Для моделирования процесса формирования изделий методом намотки создать новую математическую модель процесса укладки нити на поверхности произвольной формы при заданной траектории движения точки схода нити, описываемую системой дифференциальных уравнений, имеющих устойчивое решение. Реализовать предлагаемую модель в виде завершённого программного модуля.
4. Предложить и программно реализовать алгоритм формирования геометрических моделей станков, использующий современные средства машинной графики и позволяющий автоматизировать подготовку новых геометрических моделей для системы автоматизированного программирования многокоординатных станков.
5. Разработать программное обеспечение подсистемы моделирования кинематики многокоординатного технологического оборудования и процесса формирования изделий методом намотки и выкладки для различных станков с ЧПУ.
Научная новизна полученных результатов состоит в следующем:
- разработан и программно реализован формализованный метод синтеза виртуальных моделей намоточных и выкладочных станков, отличающийся от известных методов описания кинематических моделей манипуляторов тем, что в математические модели станков включены уравнения, описывающие положение материала на поверхности оправки и на выходном звене укладчика станка, что позволяет автоматизировать процесс подготовки управляющих программ для нового технологического оборудования в системе автоматизированного программирования многокоординатных станков;
- разработаны и интегрированы в систему автоматизированного программирования многокоординатных станков новые виртуальные модели: модель пятикоординатного намоточного станка токарного типа, учитывающая радиус ролика выходного звена укладчика, свободная от систематической погрешности известных моделей, и модель выкладочного станка портального типа с неподвижным и поворотно-наклонным столами, позволяющие рассчитать траектории движения рабочих органов станков при формировании изделий различных геометрических форм, в том числе и сложных;
- предложена и программно реализована новая математическая модель процесса укладки нити на поверхности произвольной формы, в отличие от существующих моделей, описываемая системой дифференциальных уравнений, устойчивость решения которых доказана прямым методом Ляпунова, и позволяющая определить геометрические характеристики формируемых изделий при отработке на виртуальных моделях станков управляющей программы подготовленной в АСТПП.
Теоретическая значимость работы заключается в том, что предложен, научно обоснован и практически реализован оригинальный комплекс мате-
матических моделей, а также алгоритмов и программных модулей для моделирования кинематики технологического оборудования и процесса формирования изделий из полимерных композиционных материалов методом намотки и выкладки на многокоординатных станках с ЧПУ в АСТПП. Исследованы вопросы сходимости и погрешности решения системы дифференциальных уравнений описывающих модель процесса укладки нити на поверхности произвольной формы при заданной траектории движения точки схода нити. Получен закон изменения ошибки решения в зависимости от параметра интегрирования. Приведены уравнения, позволяющие управлять скоростью сходимости решения. Рассмотрен пример использования разработанной модели процесса укладки нити на поверхности произвольной формы при заданной траектории движения точки схода нити.
Практическая значимость работы состоит в том, что на основе разработанных моделей и алгоритмов создано программное обеспечение подсистемы моделирования кинематики многокоординатного технологического оборудования и процесса формирования изделий методом намотки и выкладки, применяемой для автоматизации подготовки управляющих программ станков с ЧПУ в качестве средства отладки на виртуальных моделях станков управляющих программ подготовленных в АСТПП, а также в качестве конструктора моделей виртуального технологического оборудования.
Реализация результатов работы. По тематике исследований диссертационной работы выполнены Государственные контракты по теме «Разработка технологий программируемого синтеза новых функциональных материалов с заданными физико-химическими свойствами» программы «У.М.Н.И.К.» Государственного Фонда содействия инновациям (проекты № 6124р/8691-2 и № 5222р/7637-Б). Отдельные результаты работы используются в учебном процессе ЮРГПУ (НПИ).
Разработанное программное и математическое обеспечение включено и успешно используется в составе системы автоматизированного программирования многокоординатных станков WindCAM Composite ООО «МИП
«КОМПОЗИТСПЕЦМАШ», внедренной на отечественных ведущих предприятиях-производителях изделий из композиционных материалов: ПАО «РКК «Энергия»; АО «ЦНИИСМ»; ФГУП «НПО «Техномаш»; ОАО «НПП «Звезда».
Методы исследования. Поставленные теоретические задачи решены методами аналитической и дифференциальной геометрии, математического анализа, геометрического моделирования. При разработке программного обеспечения применены методы теорий вычислений, решения обыкновенных дифференциальных уравнений, линейной алгебры, теории матриц, средства современной машинной графики и объектно-ориентированного программирования.
Основные положения, выносимые на защиту:
1) Формализованный метод синтеза виртуальных моделей намоточных и выкладочных станков, отличающийся от известных методов описания кинематических моделей манипуляторов тем, что в математические модели станков включены уравнения описывающие положение материала на поверхности оправки и на выходном звене укладчика станка.
2) Математические модели станков: модель пятикоординатного намоточного станка токарного типа, учитывающая радиус ролика выходного звена укладчика, свободная от систематической погрешности известных моделей, и модель выкладочного станка портального типа с неподвижным и поворотно-наклонным столами, применимые при формировании изделий различных геометрических форм, в том числе и сложных.
3) Математическая модель процесса укладки нити на поверхности произвольной формы, в отличие от существующих моделей, описываемая системой дифференциальных уравнений, устойчивость решения которых доказана прямым методом Ляпунова.
4) Алгоритм формирования трёхмерных моделей технологического оборудования, позволяющий получать новые геометрические модели станков в системе автоматизированного программирования многокоординатных станков.
5) Подсистема моделирования кинематики технологического оборудования и процесса формирования изделий методом намотки и выкладки на многокоординатных станках с ЧПУ.
Степень достоверности полученных результатов подтверждается корректностью поставленных задач, обоснованностью принятых допущений, современными методами исследований поставленных задач, устойчивой работой разработанного программного обеспечения и повторяемостью результатов численных экспериментов. Кроме того, достоверность подтверждена апробацией результатов исследований на практике, обсуждением основных положений работы на научных конференциях, выставках и семинарах, их публикацией в журналах, а также наличием актов внедрения.
Апробация полученных результатов. Основные положения и результаты диссертационной работы представлены на различных международных, всероссийских и региональных выставках, семинарах и научных конференциях: III и XIV Международных научно-практических конференциях «Моделирование. Теория, методы и средства» (г. Новочеркасск, 2003 и 2014 г.); 52, 55, 56-ой научно-технических конференциях студентов и аспирантов ЮРГТУ (НПИ) «Студенческая научная весна» (г. Новочеркасск, 2003, 2006, 2007г.); Всероссийской выставке-ярмарке научно-исследовательских работ, инновационных разработок и проектов студентов, аспирантов и молодых ученых вузов страны «ИННОВ - 2003» (г. Новочеркасск, 2003 г.); Всероссийском инновационном форуме «ИНН0В-2005» (г. Новочеркасск, 2005 г.); Всероссийском смотре-конкурсе научно-технического творчества студентов вузов "Эврика-2005" (г. Новочеркасск, 2005 г.); 26 Международной конференции «Композиционные материалы в промышленности» (г. Ялта, 2006 г.); Международной научно-практической конференции «Металлургия. Машиностроение. Станкоинструмент - 2006» (г. Ростов-на-Дону, 2006 г.); III Всероссийской выставке-ярмарке научно-исследовательских работ и инновационной деятельности «Иннов-2007» (г. Новочеркасск, 2007 г.); 5-ой Московской Международной конференции «Теория и практика технологий производства из-
делий из композиционных материалов и новых металлических сплавов (ТПКММ). Идентификация и моделирование свойств материалов и технологических процессов» (г. Москва., 2007 г.); Школе-семинаре «Подготовка, управление инновационными научно-техническими проектами и способы коммерциализации научно-технической продукции» (г. Шахты, 2007 г.); 6-ой Московской Международной научно-технической конференции «Теория и практика технологий производства изделий из композиционных материалов и новых металлических сплавов (ТПКММ). Комплексная компьютеризация производства композитных материалов и их переработки в изделия в наукоемких отраслях промышленности» (г. Москва, 2009 г.); ХП-ой Всероссийской школе-конференции молодых ученых « Управление большими системами УБС'2015» (г. Волгоград, 2015 г.); Международной конференции «Проектирование и производство перспективных конструкций из композиционных материалов с применением технологий автоматизированной выкладки» (Инновационный центр «Сколково», г. Москва, 2014 г.); У1-ой Всероссийской научно-практической конференции «ИНТЕГРАЦИЯ НАУКИ И ПРАКТИКИ как механизм развития отечественных наукоемких технологий производства» (г. Каменск-Шахтинский, 2017 г.); Межкафедральном семинаре по прикладной и теоретической механике и численным методам моделирования под руководством профессоров Зарубина В.С., Зимина В.Н., Гаврюшина С.С. (МГТУ имени Н.Э. Баумана, г. Москва, 2017 г.).
ГЛАВА 1. СИСТЕМНЫЙ АНАЛИЗ ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА ИЗГОТОВЛЕНИЯ ИЗДЕЛИЙ ИЗ КОМПОЗИЦИОННЫХ МАТЕРИАЛОВ МЕТОДОМ НАМОТКИ И ВЫКЛАДКИ НА МНОГОКООРДИНАТНЫХ СТАНКАХ С ЧПУ
1.1 Описание общего подхода к созданию управляющих программ для станков с ЧПУ при помощи автоматизированных систем технологической подготовки производства
Управляющая программа для станков с числовым программным управлением (ЧПУ) представляет собой последовательность кодов, в результате трансляции которых станок формирует траектории движения рабочих органов, задаёт параметры работы (подача, скорость и направление вращения шпинделя, и прочее) и выполняет различные вспомогательные функции (например, подачу или обрезку материала) [83, 107, 121].
Для подготовки управляющих программ разработаны и широко используются системы автоматизированного программирования многокоординатных станков, которые являются частью автоматизированных систем технологической подготовки производства (АСТПП) и позволяют создавать управляющие программы на высоком уровне автоматизации с применением современной вычислительной техники (рис. 1.1) [35, 39, 84].
Работы по созданию математического и программного обеспечения для автоматизации подготовки управляющих программ ведутся уже более 50 лет [2, 6, 10, 11, 16, 21, 23, 25, 29, 31, 37, 38, 41, 42, 46, 48, 51, 87, 89, 101, 114, 125].
Традиционная последовательность действий, необходимых для создания программы формообразования детали для станка ЧПУ в системах автоматизированного проектирования или САМ - системах, выглядит следующим образом (рис. 1.2) [35, 39, 84]:
1. Выбор способа формирования изделия (намотка или выкладка) и кинематической модели станка.
2. Определение управляющей геометрии (создание поверхности технологической оправки изделия).
Вопросы разработки математических моделей поверхностей описаны во множестве источников [6, 10, 11, 21, 23, 42, 46, 51, 62, 87, 91] и в данной работе не рассматриваются.
Рисунок 1.1 - Укрупненная структурная схема автоматизированной системы технологической подготовки производства
Рисунок 1.2 - Иллюстрация этапов традиционного подхода подготовки
станочных управляющих программ в различных автоматизированных системах подготовки станочных управляющих программ многокоординатных станков
3. Выбор тактики и параметров обработки (расчет траектории намотки на поверхности технологической оправки, выбор расчётных параметров заходности и ширины ленты, расчёт схемы армирования).
Методы расчета ЛУ основываются на теоретических исследованиях процесса наматывания, а также по механике нити, выполненных Ефремовым Е.Д., Минаковым А.П., Щедровым В.С. [85, 86, 126].
Методами расчета ЛУ занимались многие ученые Новочеркасского политехнического института Алексейчик В.В, Душенко А.Г., Иванченко А.Н., Князев Д.Н., Маринин В.И., Моргун А.Н., Чикильдин Я.Я., Шварц А.Б., Шукшунов В.Е. и др. [10, 11, 19, 21, 23, 31, 46, 47, 48, 71, 80, 81, 88, 101, 113, 120, 122, 124].
4. Планирование траекторий рабочих органов: расчёт пространственной траектории точки схода нити, траекторий и законов движения исполнительных органов намоточного станка.
Построения траектории движения точки схода материала, рассмотрено в [17, 51, 78]. Определение законов движения исполнительных органов намоточного станка освещено в [18, 37, 51, 59, 60, 63, 78]. В данной работе эти вопросы не рассматриваются.
Решению задачи моделирования кинематики для намоточных станков посвящено большое количество работ [2, 6, 10, 16, 41, 63, 64, 65, 66, 102, 125].
Траекторий движения рабочих органов вычисляются после расчета траектории точки схода материала К = К(2), где 2 - натуральный параметр,
монотонно изменяющийся вдоль траектории движения точки схода, в котором учитываются только геометрические ограничения, а также в процессе расчета оптимальных программ управления, в процедуре динамического программирования при переходе из одного узла сетки в другой [51, 78].
В результате расчета координатных перемещений рабочих органов станка, для каждой точки траектории К = К(2) формируется вектора обоб-
[12 т
х ,х ,■■■,х ] , где т - число последовательно идущих звеньев станка. Звено с номером т представляет собой выходное звено (выходная гребенка, кольцо или раскладывающий ролик станка).
Существуют различные универсальные методы решения обратной задачи кинематики [32, 45, 53, 54, 55, 93, 97, 100, 105, 108, 118], к которым относятся методы обратных преобразований, винтовой алгебры, двойственных матриц, двойственных кватернионов, итераций и геометрический подход. Недостатками предлагаемых подходов является отсутствие единственности решение поставленной задачи и сходимости алгоритмов. Кроме того, они не позволяют учитывать одну из основных особенностей намоточных станков, а именно наличие участка свободной нити между выходным звеном раскладчика станка и поверхностью технологической оправки.
Как правило, для расчета текущих положений рабочих по координатам намоточного станка предлагается численно решать некоторую систему нелинейных алгебраических уравнений [16, 41, 51, 72, 78, 89, 122], которая зависят от особенностей кинематической модели рассматриваемого станка.
В работе [89] описана формализованная процедура проецирования полученной на этапе решения прямой задачи кинематики пространственной траектории точки схода нити на координаты рабочих органов станка, учитывающая радиус выходного звена укладчика, решающая задачу только для оправок являющихся тела вращения при различных допущениях. Предлагаемая в данной работе для решения система уравнений также как и универсальные методы обладает излишней избыточностью.
В других работах решение обратной задачи кинематики приводится с допущением, что выходное устройство укладчика станка представляет собой либо материальную точку, либо линию [16, 64, 65, 66]. Данное допущение не учитывает радиус выходного устройства укладчика, и в результате служит
источником систематической погрешности расчетов траекторий движения рабочих органов станков.
5. Визуальный контроль траекторий и их симуляция (моделирование процесса формообразования изделия с целью выявления недопустимых погрешностей вызванных различными внешними факторами, а также для определения наличия коллизий формируемого изделия и рабочих органов намоточного станка, провисаний материала и т.п.).
Похожие диссертационные работы по специальности «Автоматизация и управление технологическими процессами и производствами (по отраслям)», 05.13.06 шифр ВАК
Разработка и реализация методов повышения точности и производительности намотки композиционных материалов на основе управления приводами станков с ЧПУ2011 год, кандидат технических наук Бугров, Юрий Николаевич
Термовязкоупругое поведение крупногабаритного намоточного изделия в процессе изготовления2024 год, кандидат наук Сахабутдинова Ляйсан Рамилевна
Электропривод намоточного станка с адаптивной системой управления2022 год, кандидат наук Баранов Денис Сергеевич
Повышение точности изготовления деталей на обрабатывающих центрах путем коррекции пространственных перемещений2013 год, кандидат наук Кузьминский, Дмитрий Леонидович
Разработка научных методов создания технологии высокоэффективной многокоординатной автоматизированной обработки с синергетическим управлением формообразующими движениями2008 год, доктор технических наук Флек, Михаил Бенсионович
Список литературы диссертационного исследования кандидат наук Савин, Александр Геннадьевич, 2017 год
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. ACES® MAG Cincinnati Lamb. - URL: http://metal-cutting-composites.fivesgroup.com/products/composites/controls-software/controls-software.html
2. Anglani A, Nucci F, Spagnolo A. Filament winding: simulation for robotic cell design. - URL: http://dl.acm.org/citation.cfm?id=740180
3. Cadfil® - Filament Winding Software & Technology. - URL: http: //www.cadfil .com/software. html
4. CADWIND Process simulation software for filament winding technology. - URL: https://www.material.be/cadwind/index.html
5. Composicad ® Software of Seifert and Skinner & Associates. - URL: http: //www.compo sicad.com/Ccd/index.html
6. Koussios S, Bergsma OK, Beukers A. Filament Winding Part 2: Generic Kinematic Model and its Solutions. Composites Part A: Applied Science and Manufacturing 2004: 35: 197-212.
7. MikroPlace® | Mikrosam. - URL: http://mikrosam.com/new/article/en/mikroplace-offline-programming-for-automated-fiber-placement-and-tape-laying-afpatl/
8. Namotka.com Генерация управляющих программ - Композитная намотка. - URL: http://xn--80aa3ahdi2a.com/sapr.html
9. NCSIMUL MACHINE Composites add-in. - URL: http: //www.ncsimul .com/contenu. php?ID=644
10. Scholliers J. Robotic filament winding of asymmetric composite parts. PhD. Thesis. Faculty of applied sciences. Department of Mechanical Engineering. Leuven University. Leuven, December, 1992.
11. Sotiris Koussios Filament Winding: a Unified Approach // DUP Science, 2004. - 400 с.
12. VERICUT® CGTech - CNC verification, simulation and optimization software. - URL: http://www.cgtech.com
13. Winding Expert® | Mikrosam. - URL: http://mikrosam.com/new/article/en/winding-expert/
14. Аверченков В.И. Автоматизация подготовки управляющих программ для станков с ЧПУ: учеб. пособие для вузов / В.И. Аверченков, А.А. Жолобо, Ж.А. Мрочек, А.В. Аверченков, М.В. Терехов, Л.Б. Левкина. - 2-е изд., стереотип. - М.: ФЛИНТА, 2011. - Ч. 2. - 212 с.
15. Алексейчик В.В и др. Влияние возмущений программной траектории на точность намотки. // Системы управления технологическими процессами: Сб.ст. Новочеркасск: Изд. НПИ, 1975, Вып.2.
16. Алексейчик В.В. Разработка, исследование математической модели процесса наматывания нити и планирование программных движений координат намоточных станков. - Дис. канд. техн. наук. Новочеркасск, 1981. - 184 С.
17. Алексейчик В.В., Ершов В.К., Иванченко А.Н. Автоматизированная система подготовки управляющих программ для многокоординатных станков. - В кн.: Тез. Докл. IV отраслевой конф. «Автоматизированные системы управления», 5-6 мая 1979 г. М.: 1979, т. 267.
18. Алексейчик В.В., Ершов В.К., Иванченко А.Н., Чикильдин Я.Я. Задача оптимизации законов движения исполнительных органов многокоординатных станков с программным управлением / В.В. Алексейчик, В.К. Ершов, А.Н. Иванченко, Я.Я. Чикильдин. - В кн.: Системы управления технологическими процессами. Новочеркасск, 1976, с. 51-54.
19. Алексейчик В.В., Ершов В.К., Чикильдин Я.Я. Оптимальное армирование и выбор рациональных форм конструкций из композиционных материалов. - В кн.: Системы управления технологическими процессами. Новочеркасск, 1979. - С. 44-50.
20. Архангельский А.Я. Программирование в Delphi 6. - М.: ЗАО «Издательство БИНОМ», 2001. - 1120 С.
21. Аюшеев Т.В. Методы трехмерного моделирования и контроля процессов изготовления деталей из композиционных материалов способом намотки // Дис. докт. техн. наук., 2006, Улан-Удэ, - С. 319.
22. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. - М.: Лаборатория Базовых Знаний, 2000. - 624 С.
23. Битюков Ю.И. Геометрическое моделирование технологических процессов намотки и выкладки конструкций из волокнистых композиционных материалов // Дис. канд. техн. наук., 2010, Москва, - С. 333.
24. Битюков Ю.И., Денискин Ю.И. Геометрическое моделирование технологических процессов намотки и выкладки УУ Труды МАИ. М.: Издательство МАИ, 2007. - 87 с. : ил. ; 20 см. - (Научная библиотека). - Библиогр.: с. 80-86.
25. Битюков Ю.И., Денискин Ю.И., Калинин В.А. Разработка CAD/CAMУCAE-системы для изготовления конструкций из волокнистых композиционных материалов методом намотки // Вестник компьютерных и информационных технологий : ежемесячный научно-технический и производственный журнал. - 2013. - N 10. - С.43-50.
26. Битюков Ю.И., Калинин В. А., Денискин Ю. И., Мирошниченко П. В. Нахождение оптимальной траектории движения нитераскладчика в процессе намотки конструкций из волокнистых композиционных материалов УУ Омский научный вестник. Серия Приборы, машины и технологии / ОмГТУ и др. - Омск : Изд-во ОмГТУ, 2012. - 2 (110). - С. 13-18.
27. Большаков В.П., Бочков А.Л., Лячек Ю.Т. Проблемы обмена графическими данными между CAD-системами // Компьютерные инструменты в образовании, 2'2013.
28. Борох Г.Р.. Медлин Э.М. Обратная задача намотки и точность реализации процесса// Материалы 7-ой науч.-техн. конф. молодых ученых и специалистов HИAT. Часть IV: Опытно-конструкторские работы.- М.: Изд-во HИAT. 1976. - С. 10-13.
29. Борох Г Р.. Киселев В.М.. Соколов В.Ф. Автоматизированное проектирование изготовления изделий из композиционных материалов// Технология авиационного производства: Сборник трудов. - М.: Изд-во HИAT. 1981. - С. 81- 87.
30. Буланов И.М., Воробей В.В. Технология ракетных и аэрокосмических конструкций из композиционных материалов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 1998. - 516 С.
31. Васильев В.В., Миткевич А.Б., Протасов В.Д. Оптимальное проектирование баллонов давления в форме оболочек вращения, образованных из композиционных материалов методом намотки. - М. Механика полимеров, 1981.
32. Воробьёв В.И. Механика промышленных роботов: Учебное пособие для вузов: В 3 кн. Кн. 1: Кинематика и динамика. - М.: Высш. шк., 1988. -304 С.
33. Ву Мейсон, Нейдер Джеки, Девис Том, Шрайнер Дейв OpenGL. Официальное руководство программиста: пер. с англ./ Мейсон Ву, Джеки Нейдер, Том Девис, Дейв Шрайнер. - СПб: ООО "ДиаСофтЮП", 2002. - 592 С.
34. Гальперин М.В. Автоматическое управление: Учебник. - М. ФОРУМ: ИНФРА-М, 2004. - 224 с.: ил. - (Серия «Профессиональное образование»).
35. Гжиров Р.И. Серебреницкий П.П. Программирование обработки на станках с ЧПУ: Справочник. - Л.: Машиностроение. Ленингр. отд-ние, 1990. - 588 с.: ил.
36. Голдовский П. Проектирование и моделирование промышленных роботов в системе CATIA // САПР и графика, 2005, № 2.
37. Городецкий Г.Б., Маринин В.И. Расчет оптимальных траекторий движения. - В кн.: Системы управления технологическими процессами. Новочеркасск, 1981, с. 83-89.
38. Данг Хоанг Минь Автоматизация и управление проектированием и производством композиционных баллонов, изготовленных методом намотки // Дис. канд. техн. наук., 2013, Москва, - С. 206.
39. Дерябин А.Л. Программирование технологических процессов на станках с ЧПУ / АЛ. Дерябин. М.: Машиностроение, 1984. 224 с.
40. Дональд Херн, М.Паулинг Бейкер. Компьютерная графика и стандарт OpenGL, 3-е издание.: Пер. с англ. - М.: Издательский дом «Вильяме», 2005. - 1168 С.
41. Душенко А.Г., Моргун А.Н., Боляев В.И. Расчет технологических координат траектории движения укладчика. - В кн.: Системы управления. Новочеркасск, 1975, вып. 2.
42. Евстратов С.В. Разработка технологических процессов изготовления сверхлегких комбинированных металлокомпозитных баллонов давления // Дис. канд. техн. наук., 2015, Москва, - С. 151.
43. Елманова Н., Трепалин С., Тенцер А. Delphi и технология COM -СПб.: Питер, 2002. - 464 С.
44. Завьялов Ю.С. и др. Сплайны в инженерной геометрии. М.: Машиностроение, 1985. - 224 С.
45. Зенкевич С.Л., Ющенко А.С. Основы управления манипуляцион-ными роботами: Учебник для вузов. - 2-е изд., исправ. и доп. М.: Изд-во МГТУ им. Н. Э. Баумана, 2004. - 480 с.: ил. (Робототехника / Под. ред. С.Л. Зенкевича, А.С. Ющенко).
46. Иванченко А.Н. Алгоритмизация обработки геометрической и управляющей информации в системе автоматизированного программирования намоточных станков на основе методов сплайн-функций. - Дис. ... канд. техн. наук. Новочеркасск, 1982. - С. 216
47. Иванченко А.Н. Задача конструирования кривой на поверхности // Изв. вузов. Сев. Кавк. регион. Техн. Науки. № 4. Новочеркасск. 2000.
48. Калинин В.А. Теоретические основы геометрического моделирования процессов намотки и выкладки конструкций из волокнистых композиционных материалов // Дис. докт. техн. наук., 1997, Москва, - С. 463.
49. Калинчев В.А., Макаров М.С. Намотанные стеклопластики. - М.: Химия, 1986. - 272 с.
50. Каханер Д., Моулер К., Нэш С. Численные методы и программное обеспечение. - М.: Мир, 2001. - 575 С.
51. Князев Д.Н. Математические модели и алгоритмы программирования процессов формообразования изделий методом намотки. - Дис. ... канд. техн. наук. Новочеркасск, 2002. - С. 170
52. Князев Д.Н., Шварц А.Б. Моделирование процесса формирования изделий методом намотки при заданных траекториях движения рабочих органов намоточного станка. // Материалы 4-й межд. научно-техн. конф. «Новые технологии управления движением технических объектов». Том 3, Новочеркасск, 2001.
53. Кобринский А.А., Кобринский А.Е. Манипуляционные системы роботов: основы устройства, элементы теории. - М.: Наука, 1985. -344 С.
54. Коловский М.З., Слоущ А.В. Основы динамики промышленных роботов. - М.: Наука, 1988. - 240 С.
55. Корн Г., Корн Т. Справочник по математике (для научных работников и инженеров) // Главная редакция физико-математической литературы изд-ва «Наука», 1978, М., - С. 832.
56. Ли К. Основы САПР (CAD/CAM/CAE). - СПб: Издательство «Питер», 2004. - 560 С.: ил.
57. Ли Ким 3D MAX для дизайнера. Искусство трёхмерной анимации. Третье издание переработанное и дополненное: Пер. с англ./Ким Ли и др. - К.: ООО "ТИД"ДС", 2005. - 896 С.
58. Максимей И.В. Математическое моделирование больших систем. - Мн.: Выш. шк., 1985.
59. Маринин В.И. Оптимизация движения исполнительных органов агрегатов с программным управлением // Системы управления технологическими процессами: Сб. ст. Новочеркасск: Изд. НПИ, 1974, Вып.1.
60. Маринин В.И., Городецкий Г.Б. Задача расчета оптимальных по быстродействию траекторий и законов движения исполнительных органов намоточных станков с программным управлением // Системы управления технологическими процессами: Сб. ст. Новочеркасск, Изд. НПИ, 1976, Вып. 3.
61. Маринин В.И., Князев Д.Н. Интерполяция с использованием сплайнов пятого порядка. // Изв. вузов. Сев. -Кавк. регион. Техн. науки. Спецвыпуск, 2002.
62. Маринин В.И., Князев Д.Н. Использование сплайнов пятого порядка при построении образующих поверхностей вращения // Материалы Междунар. науч.-практ. конф. «Методы и алгоритмы прикладной математики в технике, медицине и экономике». Ч. 4. Новочеркасск, 2001.
63. Маринин В.И., Князев Д.Н. Оптимизация траекторий и законов движения рабочих органов намоточных станков с ЧПУ. // Материалы 4-й межд. научно-техн. конф. «Новые технологии управления движением технических объектов». Том 3, Новочеркасск,- 2002.
64. Маринин В.И., Князев Д.Н. Расчет координатных перемещений рабочих органов намоточных станков с ЧПУ. // Труды 15-й межд. научной конф. «Математические методы в технике и технологиях». Том 8, Тамбов,- 2002.
65. Маринин В.И., Князев Д.Н. Расчет координатных перемещений рабочих органов трехкоординатного намоточного станка. // Изв. вузов. Сев. -Кавк. регион. Техн. науки. Спецвыпуск,- 2002.
66. Маринин В.И., Князев Д.Н. Решение обратной задачи кинематики для пятикоординатного намоточного станка. // Материалы Междунар. науч. -практ. конф. «Методы и алгоритмы прикладной математики в технике, медицине и экономике». Ч. 1. Новочеркасск, 2001.
67. Маринин В.И., Князев Д.Н., Савин А.Г. Виртуальное моделирование процесса намотки // Научно-техническое творчество студентов вузов : материалы Всерос. смотра-конкурса науч.-техн. творчества студентов вузов "Эврика-2005", г. Новочеркасск, 5-6 дек. 2005 г. / Юж.-Рос. гос. техн. ун-т (НПИ). - Новочеркасск : ЮРГТУ, 2005. - Ч. 1. - С. 187-191.
68. Маринин В.И., Князев Д.Н., Савин А.Г. Кинематический расчет пятикоординатного намоточного станка с выходным укладывающим роликом нитетракта // Композиционные материалы в промышленности : материалы 26 междунар. конф., г. Ялта, 29 мая - 2 июня 2006 г. / Нац. космич. агент-
ство Украины ; Рос. космич. агентство. - Киев : Наука. Техника. Технология, 2006. - С. 138-141.
69. Маринин В.И., Князев Д.Н., Савин А.Г. Математическая модель пятикоординатного намоточного станка для изготовления изделий из композиционных материалов // Изв. вузов. Сев.-Кавк. регион. Техн. науки. - 2007. -Спецвып. - С. 55-58
70. Маринин В.И., Князев Д.Н., Савин А.Г. Моделирование технологического процесса намотки изделий на многокоординатных намоточных станках // Управление большими системами (УБС'2015) [Электронный ресурс]: материалы XII Всерос. школы-конф. молодых ученых, 7-11 сент. 2015 г., г. Волгоград / под общ. ред. Д.А. Новикова, А.А. Воронина; Ин-т проблем упр. им. В.А. Трапезникова; Волгоград. гос. ун-т. - М.: ИПУ РАН, 2015. - С. 738-748.
71. Маринин В.И., Князев Д.Н., Савин А.Г. Построение линии укладки нити на поверхности коробчатой формы // Теория и практика технологий производства изделий из композиционных материалов и новых металлических сплавов (ТПКММ). Комплексная компьютеризация производства композитных материалов и их переработки в изделия в наукоемких отраслях промышленности : тр. 6-й Московской Междунар. конф. , г. Москва, 21-24 апр. 2009 г. / под ред. акад. О.С. Сироткина, Б.В. Гусева, В.С. Боголюбова. -М. : МАСКА, 2012. - Т. 1. - С. 134-138.
72. Маринин В.И., Князев Д.Н., Савин А.Г. Расчет траекторий движения исполнительных органов многокординатного станка для намотки препре-гом // Теория и практика технологий производства изделий из композиционных материалов и новых металлических сплавов (ТПКММ). Комплексная компьютеризация производства композитных материалов и их переработки в изделия в наукоемких отраслях промышленности : тр. 6-й Московской Меж-дунар. конф., г. Москва, 21-24 апр. 2009 г. / под ред. акад. О.С. Сироткина, Б.В. Гусева, В.С. Боголюбова. - М. : МАСКА, 2012. - Т. 2. - С. 146-149.
73. Маринин В.И., Князев Д.Н., Савин А.Г. Расчет траекторий движения исполнительных органов пятикоординатного станка для автоматизированной выкладки // Теория и практика технологий производства изделий из композиционных материалов и новых металлических сплавов (ТПКММ). Комплексная компьютеризация производства композитных материалов и их переработки в изделия в наукоемких отраслях промышленности : тр. 6-й Московской Междунар. конф., г. Москва, 21-24 апр. 2009 г. / под ред. акад. О.С. Сироткина, Б.В. Гусева, В.С. Боголюбова. - М. : МАСКА, 2012. - Т. 2. - С. 141-145.
74. Маринин В.И., Князев Д.Н., Савин А.Г. Цифровая имитация процесса намотки изделий из композиционных материалов // Металлургия, Машиностроение. Станкоинструмент - 2006 : в рамках промышленного конгресса Юга России : сб. тр. [Междунар. науч.-практ. конф. "Современные тенденции развития металлургической, машиностроительной и станкоинструмен-тальной промышленности", г. Ростов-на-Дону, 6-8 сент. 2006 г.] / Выстав. центр "ВертоЭкспо". - Ростов н/Д, 2006. - С. 5:7-5:9
75. Маринин В.И., Князев Д.Н., Савин А.Г., Журихин С.М. Система автоматизированного программирования намоточных станков // Студенческая научная весна - 2006 : сб. науч. тр. аспирантов и студентов ЮРГТУ (НПИ) / Юж.-Рос. гос. техн. ун-т (НПИ). - Новочеркасск : ЮРГТУ, 2006. - С. 235-236.
76. Маринин В.И., Князев Д.Н., Савин А.Г., Журихин С.М. Система автоматизированной технологической подготовки производства оболочек вращения из композиционных материалов методом намотки // Металлургия, Машиностроение. Станкоинструмент - 2006 : в рамках промышленного конгресса Юга России : сб. тр. [Междунар. науч.-практ. конф. "Современные тенденции развития металлургической, машиностроительной и станкоинст-рументальной промышленности", г. Ростов-на-Дону, 6-8 сент. 2006 г.] / Выстав. центр "ВертоЭкспо". - Ростов н/Д, 2006. - С. 2:27-2:29.
77. Маринин В.И., Князев Д.Н., Савин А.Г., Киреев Д.М. Моделирование метода намотки при использовании трехкоординатного намоточного станка // Теория и практика технологий производства изделий из композици-
онных материалов и новых металлических сплавов (ТПКММ). Идентификация и моделирование свойств материалов и технологических процессов : тр. 5-й Моск. Междунар. конф., Москва, 24-27 апр. 2007 г. / Междунар. о-во прогрессивных материалов и технологий SAMPE ; МГУ им. М.В. Ломоносова ; Нац. ин-т авиац. технологий. - М. : Знание, 2008. - С. 517-521.
78. Маринин В.И., Князев Д.Н., Шварц А.Б. Математическое и программное обеспечение намоточных станков с ЧПУ. // Юбилейный сб. науч. тр. факультета информационных технологий и управления «Информационные технологии и управление». Новочеркасск: Изв. вузов. Электромеханика,- 2001.
79. Маринин В.И., Савин А.Г. Система графического моделирования процессов намотки на намоточных станках с ЧПУ // Моделирование. Теория, методы и средства: Материалы III Междунар. науч.-практ. конф., г. Новочеркасск, 11 апреля 2003 г.. - Новочеркасск : ЮРГТУ, 2003. - Ч. 1. - С. 13-16.
80. Маринин В.И., Шварц А.Б. Построение траектории намотки нити на поверхности произвольной формы// Юж.-Рос. гос. техн. ун-т. Новочеркасск: «Изв. вузов. Северо-Кавказкий регион. Технические науки», 2001. № 3 - С. 34-38.
81. Маринин В.И., Шварц А.Б. Расчет витка на поверхности вращения по линии постоянного отклонения // Материалы Междунар. науч.-практ. конф. «Методы и алгоритмы прикладной математики в технике, медицине и экономике». Ч. 1. Новочеркасск, 2001.
82. Маров М.Н. Энциклопедия 3 ds Max 2008. - СПб.: Питер, 2009. -1392 С.: ил.
83. Матвеев А. Автоматизация подготовки управляющих программ для станков с ЧПУ // САПР и графика, 2009, № 3,с. 94 - 95.
84. Машиностроение. Энциклопедия / Ред. совет: Фролов К.В. (пред.) и др. - М.: Машиностроение. Технология производства изделий из композиционных материалов, пластмасс, стекла и керамики. Т. III-6 // Боголюбов В.С., Сироткин О.С., Головкин Г.С. И ДР.; Под общ. ред. Боголюбов В.С., 2006. - С. 576.
85. Меркин Д.Р. Введение в механику гибкой нити. - М.: Наука, 1980. - 240 с.
86. Минаков А.П. Основы теории наматывания и сматывания нити. -Текстильная промышленность, 1944. № 10-12
87. Мирошниченко П.В. Автоматизация проектирования процесса намотки авиационных конструкций на основе применения локально-аппроксимационных сплайнов // Дис. канд. техн. наук., 2014, Москва, - С. 119.
88. Миткевич А.Б., Протасов В.Д. Равновесные стеклопластиковые баллоны давления минимальной массы при негеодезической намотке. - Механика полимеров, 1975, № 6, с. 983-987.
89. Моргун А.Н. Разработка, исследование алгоритмов и создание системы реального времени для автоматизированной подготовки программ намотки. Дис. ... канд. техн. наук. Новочеркасск, 1983. 276 С.
90. Никулин Е.А. Компьютерная геометрия и алгоритмы машинной графики. - СПб.: БХВ-Петербург, 2005. - 576 С.: ил.
91. Образцов И.Ф. Оптимальное армирование оболочек из композиционных материалов / И.Ф. Образцов, В.В. Васильев, В.А. Бунаков. - М.: Машиностроение, 1977. - 144 с.
92. Основы автоматизации технологических процессов и производств : учебное пособие : в 2 т. // [Г. Б. Евгенев, С.С. Гаврюшин и др]; под ред. Г. Б. Евгенева. Т. 2 : Методы проектирования и управления. - Москва : Издательство МГТУ им. Н. Э. Баумана, 2015. - 479, [1] с. : ил.
93. Парнес М.Г. Расчет и конструирование намоточных станков. М.: Машиностроение, 1975. 296 с.
94. Пискунов Н.С. Дифференциальное и интегральное исчисления. Т.1. - М.: Наука, 1978. - 456 С.
95. Пискунов Н.С. Дифференциальное и интегральное исчисления. Т.2. - М.: Наука, 1985. - 560 С.
96. Погорелов А.В. Дифференциальная геометрия. - М.: Наука, 1974.
97. Пол Р. Моделирование, планирование траекторий и управление движением робота-манипулятора. - М.: Наука, 1976. -104 с.
98. Понтрягин Л.С. и др. Математическая теория оптимальных процессов. - М.: Наука, 1983.
99. Понтрягин Л.С. Обыкновенные дифференциальные уравнения. -М.: Наука, 1982. - 332 с.
100. Попов Е.П., Верещагин А.Ф., Зенкевич С.Л. Манипуляционные роботы: динамика и алгоритмы // Главная редакция физико-математической литературы изд-ва «Наука», 1978, М., - С. 400.
101. Разработка программно-математического обеспечения многокоординатных намоточных станков // В.В. Алексейчик, Ф.Г. Душенко, В.К. Ершов, А.Н. Моргун, Я.Я. Чикильдин Системы управления технологическими процессами: Сб. ст. Новочеркасск: Изд. НПИ, 1976, Вып.3.
102. Рассудов Л.Н. и др. Алгоритмизация управления рабочими органами намоточных станков для производства стеклопластиковых оболочек. -Механика полимеров, 1977, № 1, с. 30-34.
103. Рашевский П.К. Курс дифференциальной геометрии. Изд. 4-е, исправленное // Едиториал УРСС - 2003. - С. 432.
104. Рихтер Дж. Windows для профессионалов: создание эффективных Win32-приложений с учетом специфики 64-разрядной версии Windows. - СПб: Питер; М.: «Русская редакция», 2001. - 752 с.
105. Робототехника и гибкие автоматизированные производства. В -ти кн. Кн. 5. Моделирование робототехнических систем и гибких автоматизированных производств: Учеб. Пособие для втузов / С.В. Пантюшин, В.М. Назаретов, О.А. Тягунов и др.; Под. ред. И.М. Макарова. - М.: Высш. шк., 1986. - 175 с.: ил.
106. Савин А.Г., Князев Д.Н., Андреев Д.С. Математическое моделирование пятикоординатного двухшпиндельного намоточного станка // Инженерный вестник Дона : [электрон. журн.]. - 2016. - № 3. - Режим доступа: http://www.ivdon.ru/uploads/article/pdf/IVD_54_Savin.pdf_22dcaf2d67.pdf
107. Сергеев О.С., Гисметулин А.Р., Маданов А.В. Автоматизация подготовки управляющих программ для станков с чиповым программным управлением // Известия Самарского научного центра Российской академии наук, т. 14, № 4(2), 2012.
108. Смольников Б.А. Проблемы механики и оптимизации роботов. -М.: Наука, 1991. - 232 с.
109. Советов Б.Я., Яковлев С.А. Моделирование систем: Учеб. Для вузов - 3-е изд., перераб. и доп. -М.: Высш. шк., 2001. - 343 с.: ил.
110. Современные численные методы решения обыкновенных дифференциальных уравнений. - М.: Мир, 1979. - 312 с.
111. Сосонкин В.Л. Программирование систем числового программного управления: учеб. Пособие / В.Л. Сосонкин, Г.М. Мартинов. - М.: Логос; Университетская книга; 2008. - 344 с.
112. Сосонкин В.Л., Мартинов Г.М. Системы числового программного управления: Учеб. Пособие. - М.: Логос, 2005. - 296 с.
113. Структура модели процесса намотки в системе автоматизированного проектирования управляющих программ для станков с ЧПУ // В.В. Алек-сейчик, В.К. Ершов, А.Н. Иванченко, В.А. Пальцев Системы управления технологическими процессами: Сб. ст. Новочеркасск: Изд. НПИ, 1980, Вып. 7.
114. Тармалаев О.А. Исследование геометрических вопросов повышения эффективности процесса намотки с использованием технического зрения // Дис. докт. техн. наук., 2012, Улан-Удэ, - С. 134.
115. Технологии разработки программного обеспечения: Учебник / С. ОРЛОВ. - СПб.: Питер, 2002. - 464 С.:ил.
116. Тидвелл ДЖ. Разработка пользовательских интерфейсов. СПб.: Питер, 2008. - 416 С.: ил.
117. Турчак Л.И., Плотников П.В. Основы численных методов: Учеб. Пособие. - 2-е изд., перераб. и доп. - М.: ФИЗМАТЛИТ. 2005. - 304 С.
118. Фу К.. Гонсалес Р., Ли К. робототехника: пер. с англ. - М.: Мир, 1989. - 624 С., ил.
119. Хилл Ф. OpenGL. Программирование компьютерной графики. Для проффесионалов. - СПб.: Питер, 2002. - 1088 С.:ил.
120. Чикильдин Я.Я., Алпатов Ю.Н., Шукшунов В.Е. Алгоритмы оптимальной укладки стеклоленты при намотке изделий на агрегатах с программным управлением. - Труды / Новочерк. Политехн. Ин-т, 1968, т. 182. Измерительная техника, с. 59-63.
121. Шамов С.А Автоматизация подготовки управляющих программ для станков с ЧПУ в условиях информационно-технологической среды // Дис. канд. техн. наук., 2011, Москва, - С. 114.
122. Шварц А.Б. Математическое и программное обеспечение геометрического моделирования процессов намотки изделий из композиционных материалов // Дис. канд. техн. наук., 2002, Новочеркасск, - С. 184.
123. Шикин А.В., Боресков А.В. Компьютерная графика. Динамика, реалистические изображения. - М.: Диалог-МИФИ, 1996. - 288 с.
124. Шукшунов В.Е. и др. Этапы становления и развития теории и практики автоматизации процессов проектирования, производства и испытаний изделий, изготавливаемых методом наматывания. - В кн.: Системы управления технологическими процессами. Новочеркасск, 1983, с. 3-14.
125. Шукшунов В.Е., Чикильдин Я.Я., Алпатов Ю.Н. Алгоритмы управления исполнительными органами для намотки изделий из стеклопластика // Измерительная техника: Сб.ст. Новочеркасск: Изд. НПИ, 1974.
126. Щедров В.С. Основы механики гибкой нити. - М.: Машгиз, 1961. - 172 С.
127. Якобсон А.. Буч Г., Рамбо ДЖ. Унифицированный процесс разработки программного обеспечения. - Спб.: Питер, 2002. - 496 С.: ил.
ПРИЛОЖЕНИЕ 1. ЛИСТИНГ ПРОГРАММЫ
unit ULayerBackwardTask; interface
{$REGION ' uses '}
uses // В АЛФАВИТНОМ ПОРЯДКЕ! {$I '..Y.YACommon Files\GeneralUses.pas'}, Classes, ULayer,
UWindPointCollection; {$ENDREGION}
type
TLayerBackwardTask = class(TLayer, ILayerBackwardTask, IMenuItem) {$REGION ' Class methods '} public
class function ClassTitle: string; override; {$ENDREGION ' Class methods '} strict private
FTrajectory: ITrajectory;
FTangentCalculator: ITangentCalculator;
FdSdZCalculator: IdSdZCalculator;
FIntergrator: ISolutionMethodOfSODE;
FWP0: TWindPoint;
dU0: Extended;
FDeltaZ: Extended;
FPercentage: Extended;
{$REGION ' A^eccopti '}
function GetTrajectory: ITrajectory;
procedure SetTrajectory(const Value: ITrajectory);
function GetIntegrator: ISolutionMethodOfSODE;
procedure SetIntegrator(const Value: ISolutionMethodOfSODE);
function GetWP0: TWindPoint;
procedure SetWP0(const Value: TWindPoint);
function GetDeltaZ: Extended;
procedure SetDeltaZ(const Value: Extended);
function GetPercentage: Extended;
procedure SetPercentage(const Value: Extended);
{$ENDREGION ' A^eccopti '}
procedure InitTrajectory;
procedure InitIntegrator; strict protected function ImportInner: Boolean; override; function IsBase(const Instance: TObject): Boolean; override; function InnerCalculate: Boolean; override; public
constructor Create(AOwner: TComponent); override; destructor Destroy; override;
function CalculateRightParts(const x: TSoEVector; const t: Extended; var dx_dt: TSoEVector): Boolean; published
property Trajectory: ITrajectory read GetTrajectory write SetTrajectory; property Integrator: ISolutionMethodOfSODE read GetIntegrator write SetIntegrator;
property WP0: TWindPoint read GetWP0 write SetWP0; property DeltaZ: Extended read GetDeltaZ write SetDeltaZ; property Percentage: Extended read GetPercentage write SetPercentage; end;
implementation
{$REGION ' uses '}
uses // В АЛФАВИТНОМ ПОРЯДКЕ! SysUtils,
UdSdZCalculator, ULayerBackwardTaskTF, USolutionMethodsOfSoE, UTangentCalculator; {$ENDREGION ' uses '}
{$REGION ' resourcestring '} resourcestring rsLayerBackwardTask = 'Восстанавливаемый'; {$ENDREGION ' resourcestring '} { TLayerBackwardTask }
function TLayerBackwardTask.CalculateRightParts(const x: TSoEVector; const t: Extended; var dx_dt: TSoEVector): Boolean; { Фазовых перменных всего 3 штуки ("u", "v" и "s") } var
ds_dz: Extended; wp: RWindPoint;
begin
Result := False;
try
wp.u := x[1]; wp.v := x[2];
if not FTangentCalculator.Calculate(t, FSurface, FTrajectory.R(t), wp) then with wp do
ds_dz := FdSdZCalculator.Calculate(t, FDeltaZ, FPercentage, Surface, FTrajectory.R(t), FTrajectory.R1(t), wp); dx_dt[1] := wp.du * ds_dz; dx_dt[2] := wp.dv * ds_dz; dx_dt[3] := ds_dz; except end;
Result := True; end;
class function TLayerBackwardTask.ClassTitle: string; begin
Result := rsLayerBackwardTask; end;
constructor TLayerBackwardTask.Create(AOwner: TComponent); begin inherited;
FTuneFormClass := TLayerBackwardTaskTF; FDeltaZ := 150; FPercentage := 50;
FIntergrator := TEulerSM.Create(Self); InitIntegrator;
FTangentCalculator := TTangentCalculatorI.Create(nil); FdSdZCalculator := TdSdZCalculatorII.Create(nil); FWP0 := TWindPoint.Create(nil); end;
destructor TLayerBackwardTask.Destroy; begin
FWP0.Free;
DestroyUnsubscribe(FTrajectory, OnBaseDestroy); inherited; end;
function TLayerBackwardTask.GetDeltaZ: Extended; begin
Result := FDeltaZ; end;
function TLayerBackwardTask.GetIntegrator: ISolutionMethodOfSODE; begin Result := FIntergrator; end;
function TLayerBackwardTask.GetPercentage: Extended; begin
Result := FPercentage; end;
function TLayerBackwardTask.GetTrajectory: ITrajectory; begin Result := FTrajectory; end;
function TLayerBackwardTask.GetWP0: TWindPoint; begin Result := FWP0; end;
function TLayerBackwardTask.ImportInner: Boolean; var
srcl: ILayer; begin Result := inherited; if not Result then Exit; srcl := SelectLayer(ILayer, Self); Result := srcl <> nil; if not Result then Exit; FTrajectory := SelectToG(ITrajectory, Self); Result := FTrajectory <> nil; if Result then begin InitTrajectory;
srcl.WindPoints.FirstItem.CloneTo(FWP0); end;
Calculate; end;
procedure TLayerBackwardTask.InitIntegrator; begin
if FIntergrator <> nil then begin
FIntergrator.DerivativesFunc := CalculateRightParts;
FIntergrator.EquationCount := 3; end; end;
procedure TLayerBackwardTask.InitTrajectory; begin
DestroySubscribe(FTrajectory, OnBaseDestroy); end;
function TLayerBackwardTask.InnerCalculate: Boolean;
// Восстановление линии укладки по заданной траектории схода
var z: Extended; i: Integer;
x0,x1, dx_dt: TSoEVector; wp: RWindPoint; begin Result := False; try
// 1. Очистка массива точек ClearWindPoints;
// 3. Подготовка метода интегрирования
FIntergrator.IntegrationStep := FTrajectory.Smax / (FPointCount - 1);
// 4. Начальная точка витка известна.
// Формируем начальные условия для интегрирования
x0 := NullSoEV;
x1 := NullSoEV;
dx_dt := NullSoEV;
wp := FWP0;
wp.U := wp.U + fdU0;
wp.V := wp.V + fdV0;
FTangentCalculator.Calculate(0, FSurface, FTrajectory.R(0), wp);
F WindPoints .Add(wp);
x0[1] := wp.U;
x0p] := wp.V;
x0[3] := wp.S;
// 5. В цикле восстанавливаем точки линии укладки
for i := 1 to FPointCount - 1 do
begin
z := FIntergrator.IntegrationStep * i;
// Вычисление очередной точки "x1" на основе предыдущей "x0" x1 := FIntergrator.Solve(x0, z);
wp.U := x1[1]; wp.V := x1[2]; wp.S := x1[3];
FTangentCalculator.Calculate(z, FSurface, FTrajectory.R(z), wp); FWindPoints.Add(wp); x0 := x1; end;
Result := True; except end; end;
function TLayerBackwardTask.IsBase(const Instance: TObject): Boolean; begin
Result := inherited or (Instance = FTrajectory.AsObject); end;
procedure TLayerBackwardTask.SetDeltaZ(const Value: Extended); begin
FDeltaZ := Value; end;
procedure TLayerBackwardTask.SetIntegrator(const Value:
ISolutionMethodOfSODE); begin
ReplaceInterface(Value, @FIntergrator); InitIntegrator; end;
procedure TLayerBackwardTask.SetPercentage(const Value: Extended); begin
FPercentage := Value; end;
procedure TLayerBackwardTask.SetTrajectory(const Value: ITrajectory); begin
ReplaceInterface(Value, @FTrajectory); end;
procedure TLayerBackwardTask.SetWP0(const Value: TWindPoint); begin
Value.CloneTo(FWP0); end;
initialization
RegisterClass(TLayerBackwardTask); end.
unit UTangentCalculator; interface
{$REGION ' uses '}
uses // В АЛФАВИТНОМ ПОРЯДКЕ! {$I '..Y.YACommon Files\GeneralUses.pas'}, Classes,
UWindPointCollection; {$ENDREGION ' uses '}
type
TTangentCalculator = class(TTunable, ITangentCalculator) public
function Calculate(const Z: Extended; const Surface: IRegularSurface; const ToGR: RVector3; var WP: RWindPoint): Boolean; virtual; abstract; end;
TTangentCalculatorI = class(TTangentCalculator) public
function Calculate(const Z: Extended; const Surface: IRegularSurface; const ToGR: RVector3; var WP: RWindPoint): Boolean; override; end;
implementation
{ TTangentCalculatorI }
function TTangentCalculatorI.Calculate(const Z: Extended; const Surface: IRegularSurface;
const ToGR: RVector3; var WP: RWindPoint): Boolean; var
wu, wv, tau: RVector3; denomerator: Extended; begin
Result := False; try
with WP do begin
tau := (ToGR - Surface.R(U, V)).Normalize; wu := Surface.Ru(U, V); wv := Surface.Rv(U, V); end;
denomerator := wu.Sqr * wv.Sqr - Sqr(wu * wv); wp.dU := (wv.Sqr * (wu * tau) - (wu * wv) * (wv * tau)) / denomerator; wp.dV := (wu.Sqr * (wv * tau) - (wu * wv) * (wu * tau)) / denomerator; Result := True; except end; end;
initialization
RegisterClass(TTangentCalculatorI); end.
unit Converter3DS; interface
{$REGION ' uses '} uses // в алфавитном порядке Classes, File3DS, Geometry, dglOpenGL, Types3DS, UArrays, UCommonOGL; {$ENDREGION ' uses '}
const
MAX_QUANT = 30; type
PFaceGroup = ATFaceGroup; TFaceGroup = record TextureIndex: Integer; // index into material list IndexCount: Cardinal; Indices: PIntegerArray; end;
PMaterial = ATMaterial; TMaterial = record Ambient,
Diffuse, Specular,
Emission: TGLColor; Shininess: Integer;
PolygonMode: TGLenum; // GL_LINE for wire frame, GL_FILL for all other types
ShadeModel: TGLenum; // GL_FLAT for wire frame and flat shading type, GL_SMOOTH for all other types TwoSided: Boolean;
Texture: String; // name of a BMP, GIF, PCX, JPG, BW or TGA file
to be used as texture
TextureObject: Cardinal; // the OpenGL texture object name WrapS, WrapT, // texture wrapping (GL_CLAMP, GL_REPEAT)
MinFilter, // minification filter (GL_NEAREST, GL_LINEAR,
GL_NEAREST_MIPMAP_NEAREST etc.)
MagFilter, // magnification filter (GL_NEAREST, GL_LINEAR)
Mode: Cardinal; // texture mode (GL_DECAL, GL_MODULATE
etc.)
end;
PLightSource = ATLightSource; TLightSource = record Enabled, IsSpot: Boolean; Position: TVector; Ambient, Diffuse,
Specular: TGLColor; SpotDirection: TAffineVector; SpotExponent, SpotCutOff: Single; end;
PTexPoint = ATTexPoint; TTexPoint = record S, T: TGLFLoat; end;
PTexPointArray = ATTexPointArray; TTexPointArray = array[0..0] of TTexPoint;
PMeshObject = ATMeshObject; TMeshObject = record MeshName: String;
Visible: Boolean;
Count: Cardinal; // vertex count, only needed for auto center
calculation
Vertices: PVectorArray; // comprises all vertices of the object in no particular order
Normals: PVectorArray; TexCoords: PTexPointArray;
FaceGroups: TList; // a list of face groups, each comprising a material description and
// a list of indices into the VerticesArray array
end; type
(SREGION ' Документация '} /// <summary>
/// Класс, конвертирующий *.3ds файлы в дисплейные списки OpenGL
/// </summary>
(SENDREGION}
TConverter3DS = class(TObject)
private
// mesh values FList : TList; FReader: TFile3DS; // materials
FMaterials: TStringList; // light sources FLights: TStringList; FLightSourcesChanged: Boolean; FBackgroundTexture: Cardinal; // camera values FFocalLength: Cardinal; FDepthOfView, FNearPlane: Single; FCameraChanged: Boolean; FSceneMatrix: TMatrix; FCenter: TAffineVector; // for auto centering procedure Use3DSData(var AIndex, ACount: Cardinal); procedure ConvertMaterials(const Materials3DS: TMaterialList); function ConvertMeshData(const Version: TReleaseLevel; const Mesh3DS: PMesh3DS; ShowWarnings: Boolean): PMeshObject;
procedure ConvertLightSources(const Objects: TObjectList); procedure CheckOpenGLError; public
constructor Create(AOwner: TComponent);
destructor Destroy; override;
procedure Load(const FileName: string; var First, Count: Cardinal); procedure Clear; overload; function IsEmpty(const Index: Integer): Boolean; end;
(SREGION ' Документация '} /// <summary>
/// Возвращает объект - конвертер *.3ds файлов в дисплейные списки OpenGL
/// </summary> (SENDREGION}
function Converter: TConverter3DS;
implementation
(SREGION ' uses '}
uses // В АЛФАВИТНОМ ПОРЯДКЕ! Dialogs, Graphics, SysUtils, Windows;
(SENDREGION ' uses '}
type EOpenGLError = class(Exception);
var
Converter_: TConverter3DS;
function Converter: TConverter3DS; begin Result := Converter_; end;
( TConverter3DS }
procedure TConverter3DS.CheckOpenGLError;
var GLError: TGLEnum; Count: Word;
begin
GLError := glGetError;
if GLError <> GL_NO_ERROR then begin Count := 0;
while (glGetError <> GL_NO_ERROR) and (Count < 6) do Inc(Count); raise EOpenGLError.Create(gluErrorString(GLError)); end; end;
procedure TConverter3DS.Clear;
// free locally allocated data and reset structures, variables etc. var I, J: Integer; begin
for I := 0 to FList.Count - 1 do with PMeshObject(FList[I])A do begin
if Assigned(Vertices) then FreeMem(Vertices);
if Assigned(Normals) then FreeMem(Normals);
if Assigned(TexCoords) then FreeMem(TexCoords);
// free material assignment data
for J := 0 to FaceGroups.Count - 1 do
begin
FreeMem(PFaceGroup(FaceGroups[J]).Indices); FreeMem(FaceGroups[J]); end;
FaceGroups.Free; FreeMem(FList[I]); end; FList.Clear;
for I := 0 to FLights.Count - 1 do begin
glDisable(GL_LIGHT0 + I); FreeMem(Pointer(FLights.Objects[I])); end;
FLights.Clear;
//— if FBackgroundTexture <> 0 then glDeleteTextures(1, @FBackgroundTexture);
FBackgroundTexture := 0; FFocalLength := 70; //— FLLabel.Caption := Format('focal length: %d mm', [FFocalLength]); FDepthOfView := 10000;
FCameraChanged := True; FSceneMatrix := IdentityMatrix; end;
procedure TConverter3DS.ConvertLightSources(const Objects: TObjectList); // Builds an internal list with values which can directly sent to OpenGL. var
Light: PLightSource; I: Integer;
begin
FLightSourcesChanged := True;
with Objects do
begin
for I := 0 to OmniLightCount - 1 do begin
Light := AllocMem(SizeOf(TLightSource)); FLights.AddObject(OmniLight[I].Name, Pointer(Light)); with LightA, OmniLight[I]A do begin
Enabled := not DLOff; IsSpot := False;
Position := MakeVector([Pos.X, Pos.Y, Pos.Z, 1]); // we have only one color (don't know exactly how to distribute) Ambient := MakeVector([Color.R / 5, Color.G / 5, Color.B / 5, 1]); Diffuse := MakeVector([Color.R, Color.G, Color.B, 1]); Specular := MakeVector([Color.R, Color.G, Color.B, 1]); // needed to reset spot characteristic if it is was enabled before SpotCutOff := 180; end; end;
for I := 0 to SpotLightCount - 1 do begin
Light := AllocMem(SizeOf(TLightSource)); FLights.AddObject(SpotLight[I].Name, Pointer(Light)); with LightA, SpotLight[I]A do begin
Enabled := not DLOff; IsSpot := True;
Position := MakeVector([Pos.X, Pos.Y, Pos.Z, 1]);
// we have only one color (don't know exactly how to distribute)
Ambient := MakeVector([Color.R / 5, Color.G / 5, Color.B / 5, 1]); Diffuse := MakeVector([Color.R, Color.G, Color.B, 1]); Specular := MakeVector([Color.R, Color.G, Color.B, 1]);
with SpotA do begin
SpotDirection := MakeAffineVector([Target.X - Pos.X, Target.Y -Pos.Y, Target.Z - Pos.Z]);
SpotExponent := 0; // can the HotSpot angle be used here? SpotCutOff := FallOff; end; end; end; end; end;
procedure TConverter3DS.ConvertMaterials( const Materials3DS: TMaterialList);
// Builds an internal list with values which can directly sent to OpenGL. If no materials are defined then
// a default material is used.
const DefaultMaterial: TMaterial = (Ambient: (0.1, 0.1, 0.1, 1); Diffuse: (0.5, 0.5, 0.5, 1); Specular: (1, 1, 1, 1); Emission: (0, 0, 0, 1); Shininess: 128; PolygonMode: GL_FILL; ShadeModel: GL_SMOOTH; TwoSided: False; );
var I: Integer; Material: PMaterial;
begin
if Materials3DS.Count = 0 then begin
// Instead of directly adding the constant record to the list I use a dynamic variable here,
// else I would have to undertake effort to determine whether to free the data or not in the
// ClearLists method.
Material := AllocMem(SizeOf(TMaterial)); MaterialA := DefaultMaterial; FMaterials.AddObject('Default', Pointer(Material)); end else
for I := 0 to Materials3DS.Count - 1 do begin
Material := AllocMem(SizeOf(TMaterial)); with Materials3DS[I]A do begin
Material.Ambient := MakeVector([Ambient.R, Abs(Transparency)]);
Material.Diffuse := MakeVector([Diffuse.R, Abs(Transparency)]);
Material.Specular := MakeVector([Specular.R, Abs(Transparency)]);
Material.Shininess := Round(Shininess * 128); { don't know how to apply the percentage emission value to be a emission
color
if SelFillum then begin
Material.Emission := Material.Diffuse; VectorScale(Material.Emission, SelfIllumPct); end;}
// shading must be expressed in several OpenGL flags Material.PolygonMode := GL_LINE; Material.ShadeModel := GL_FLAT;
if Shading > stWire then Material.PolygonMode := GL_FILL; // Gouraud, Phong and Metal shading are all expressed as Gouraud shading since this is
// the only smoothing type OpenGL can render
if Shading > stFlat then Material.ShadeModel := GL_SMOOTH;
Material.TwoSided := TwoSided;
// currently default values for texturing Material.WrapS := GL_REPEAT; Material.WrapT := GL_REPEAT; Material.MinFilter := GL_NEAREST; Material.MagFilter := GL_NEAREST;
if (Shininess = 0) {or (VectorLength(Material.Diffuse) = 0)} then Material.Mode := GL DECAL
Ambient.G, Ambient.B, Diffuse.G, Diffuse.B, Specular.G, Specular.B,
Material.Mode := GL_MODULATE; Material.Texture := Texture.Map.Name;
FMaterials.AddObject(Name, Pointer(Material)); end; end; end;
{$ifopt R+} (Sdefine RangeCheck} {$R-} {$endif}
function TConverter3DS.ConvertMeshData(const Version: TReleaseLevel; const Mesh3DS: PMesh3DS; ShowWarnings: Boolean): PMeshObject;
type
TSmoothIndexEntry = array[0..31] of Cardinal;
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.