Курсовая Применение программных средств со свободным распространением в приборостроении. Применение программных средств со свободным распространением. Отчет по курсовой работе c аннотацией, постановкой задачи, описанием основных функций
Скачать 1.29 Mb.
|
ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное бюджетное образовательное учреждение высшего образования САНКТ-ПЕТЕРБУРГСКИЙ ГОРНЫЙ УНИВЕРСИТЕТ Кафедра метрологии, приборостроения и управления качеством КУРСОВАЯ РАБОТА По дисциплине Компьютерные технологии в приборостроении (наименование учебной дисциплины согласно учебному плану) Тема работы: Применение программных средств со свободным распространением в приборостроении Выполнил: студент гр. (шифр группы) (подпись) (Ф.И.О.) Оценка: Дата: Проверил руководитель работы: (должность) (подпись) (Ф.И.О.) Санкт-Петербург 2023 ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ МИНИСТЕРСТВО науки и высшего ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное бюджетное образовательное учреждение высшего образования САНКТ-ПЕТЕРБУРГСКИЙ ГОРНЫЙ УНИВЕРСИТЕТ Кафедра метрологии, приборостроения и управления качеством КУРСОВАЯ РАБОТА По дисциплине Компьютерные технологии в приборостроении (наименование учебной дисциплины согласно учебному плану) ЗАДАНИЕ студенту группы (шифр группы) (Ф.И.О.) Тема работы: Применение программных средств со свободным распространением в приборостроении Исходные данные к работе: программа FreeCAD Содержание работы:MS Word-документ - отчет по курсовой работе c аннотацией, постановкой задачи, описанием основных функций FreeCAD, заключением Содержание пояснительной записки: Титульный лист, аннотация, содержание работы, разделы 1-6, заключение Срок сдачи законченной работы 15 мая 2023 г. Задание выдал (руководитель работы) (подпись) (Ф.И.О.) Задание принял к исполнению студент (подпись) (Ф.И.О.) Дата получения задания 01 марта 2023 г. Аннотация В данной курсовой работе рассмотрена программа свободного распространения FreeCAD. Структура работы состоит из введения, первой главы, второй главы, третьей главы, заключения, списка используемых источников. В первой главе были рассмотрены необходимые признаки свободного ПО. Во второй главе изучены основные функции и особенности системы автоматизированного проектирования двумерных и трехмерных объектов FreeCAD. В третьей главе представлены результаты практической работы с использованием ПО свободного распространения. Annotation In this course work, the FreeCAD free distribution program is considered. The structure of the work consists of an introduction, the first chapter, the second chapter, the third chapter, a conclusion, a list of sources used. In the first chapter, the necessary features of free software were considered. In the second chapter, the main functions and features of the computer-aided design system for two-dimensional and three-dimensional FreeCAD objects are studied. The third chapter presents the results of practical work using free distribution software. ОглавлениеВведение 5 1.Об истории вопроса 6 1.1.Классификация и терминология ПО 6 2.О выбранном ПО 10 2.1.История создания 10 2.2.Сравнение с другими ПО 10 2.3.Основные функции FreeCAD: 11 3.Практическое содержание и описание верстаков 13 Созданные модели деталей: 15 Заключение 17 Список используемой литературы 18 ВведениеДанная курсовая работа посвящена использованию параметрической системы автоматизированного проектирования общего назначения с открытым исходным кодом FreeCAD. Для решения инженерных задач приборостроения используются различные системы автоматизированного проектирования. Каждая из них имеет свои преимущества и недостатки. Основная функция FreeCAD – удобное создание чертежей в 2D пространстве, установка всех соответствующих размеров, разметка, автоматический перенос чертежа в 3D модель, которую позже можно корректировать. Есть возможность повторения какого-либо изменения на всей поверхности детали, придания контура и понятных очертаний. Одна из главных особенностей FreeCAD – это возможность свободного изменения, дополнения ее открытого кода. Благодаря этому программе можно добавить новые «модули», открывающие дополнительный функционал для тех видов работ, которые нужны конкретному пользователю. Цель данной курсовой работы: с использованием знаний, полученных в течение курса дисциплины «Компьютерные технологии в приборостроении», освоить систему автоматизированного проектирования FreeCAD. Основными задачами являются: – рассмотрение терминологии свободного и открытого программного обеспечения, видов лицензий на ПО; – описание особенностей выбранного ПО; – практическое применение ПО. Об истории вопросаКлассификация и терминология ПОПрограммное обеспечение делится на две большие категории: проприетарное программное обеспечение и открытое программное обеспечение. Проприетарное программное обеспечение является частной собственностью правообладателей, которые сохраняют за собой право на его использование, копирование, модификацию с определенными ограничениями. Ограничения могут быть изменены для пользователей программного обеспечения при покупке ими лицензии на использование или произведения лицензионных отчислений с каждой проданной копии программного обеспечения. В отличие от проприетарного программного обеспечения, открытое программное обеспечение представляет собой программное обеспечение с открытым исходным кодом, который общедоступен для просмотра и изменения. Любой человек может использовать созданный код, распространяемый в составе открытого программного обеспечения, для собственных нужд. Условия разработки программ с открытым кодом, особенности их использования и реализации на практике, предоставляют каждому программисту возможность использовать и модифицировать код для создания новых программ и участвовать в разработке открытого программного обеспечения совместно с другими программистами по всему миру. Кроме того, программа с открытым исходным кодом позволяет пользователям принять участие в ее доработке и способствовать развитию функционала в будущих версиях путем исправления ошибок в коде и расширению возможностей и выполняемых функций. Политика открытого кода представляет собой принцип распределенной разработки программного обеспечения. Наиболее серьезный толчок в развитии политика открытого кода получила после того, как в 1992 году молодой финский программист Линус Торвальдс написал новое ядро операционной системы и выложил коды в сеть для доработки совместно с международным сообществом программистов и хакеров. Вне зависимости от лицензии, под которой распространяется программа, всем пользователям открытого программного обеспечения доступна возможность изучения использованных при разработке программы алгоритмов, структурных данных, массивов, технологий и методик программирования, а также механизмов взаимодействия с пользователями, т.е. интерфейсов программы. Это является существенным достоинством открытого программного обеспечения, так как исходный код существенно дополняет документацию программы, что позволяет более полно использовать ее функционал на практике. В случае же отсутствия сопроводительной документации «открытый» исходный код сам, по сути, является документацией. К концу 90-х годов прошлого века свободные программы, несмотря на свой очевидный потенциал, не привлекали должного внимания со стороны большинства компаний, занятых в сферах, связанных с использованием компьютерных технологий. Традиционная аргументация и самопозиционирование разработчиков свободного программного обеспечения при взаимодействии с бизнесом неэффективны, а для ведения успешного диалога с коммерческими организациями нужны другие, более прагматичные аргументы, нежели те, что использовались до этого. Одновременно с созданием в 1998 году организации "Инициатива открытых кодов" (Open Source Initiative, OSI) Эриком Реймондом и Брюсом Перенсом, ими был предложен и термин "открытое программное обеспечение" ("open source") вместо термина "свободное программное обеспечение" ("free software"). Определение "free software" было введено Ричардом Столлмэном, основателем проекта GNU, который также ввел и понятие свободной лицензии GPL (GNU Public License). Фонд Свободного Программного Обеспечения (Free Software Foundation) разделяет ПО на свободное (Free Software), полусвободное (Semi-free Software) и собственническое (Proprietary Software). Свободное ПО должно обладать всеми четырьмя свободами, приведенными ниже: – Свобода выполнять программу как вам угодно (Свобода 0) Свобода выполнять программу означает свободу для любого рода лиц или организаций применять ее на любого рода вычислительной системе для любого рода работ и целей без требования связаться по этому поводу с разработчиком или любым другим лицом. В данном случае подразумеваются цели пользователя, а не разработчика; пользователь волен выполнять программу в своих целях, разработчик не уполномочен навязывать ему свои цели. Это никак не связано ни с тем, какой функциональностью обладает программа, ни с тем, есть ли у нее технические возможности работы в любой конкретной среде, ни с тем, полезна ли она для какой бы то ни было конкретной вычислительной деятельности. Если программа свободна, пользователи могут преодолеть потерю полезности, потому что свободы 1 и 3 позволяют пользователям и сообществам подготавливать и распространять измененные версии без той части программы, которая создает неудобства. – Свобода изучать исходный текст и вносить изменения (Свобода 1) Чтобы свободы 1 и 3 (свобода вносить изменения и свобода публиковать измененные версии) имели смысл, нужен доступ к исходному тексту программы. Следовательно, доступность исходного текста является необходимым условием свободы программы. “Исходный текст”, искусственно преобразованный к виду, в котором затруднено его чтение и модификация человеком, не является настоящим исходным текстом и не может служить его заменой. Исходный текст определяется как форма программы, предпочтительная для внесения изменений. Таким образом, любая форма, которую разработчик изменяет, чтобы разрабатывать программу, является исходным текстом версии программы этого разработчика. Один из важных способов изменения программы — присоединение доступных подпрограмм и модулей. Особый случай свободы 1 состоит в удалении частей программы, чтобы они завершались безо всяких действий или чтобы выполнялась какая-то другая программа. Таким образом, свобода 1 включает в себя “свободу удалять программу”. – Свобода распространять копии программы, в том числе измененные версии (Свободы 2 и 3) Свобода распространять означает, что пользователь волен передавать копии бесплатно или взимая плату за распространение, кому угодно и где угодно. Свобода 3 распространяется на свободу выпускать версии с изменениями как свободные программы. Свободная лицензия может допускать также другие способы выпуска этих версий. Однако лицензия, которая требует, чтобы измененные версии были несвободны, не может считаться свободной. Свобода передавать копии должна распространяться как на двоичные или исполняемые формы программы, так и на исходный текст, с изменениями или без них (распространение программ в исполнимом виде необходимо для удобства в установке свободных операционных систем). Понятие Свободное ПО и Открытое ПО близки, многие лицензии удовлетворяют им обоим, в то же время определение Свободное ПО более строгое и требует обязательного предоставления свобод распространения, модификации, изучения и распространения улучшенных версий, тогда как Открытое ПО концентрируется на открытости исходных кодов как эффективного метода разработки. По условиям приобретения ПО можно разделить на: – бесплатное (Freeware). Лицензия такого ПО допускает бесплатное распространение бинарных экземпляров ПО. Этот термин не является синонимом Free Software, поскольку Freeware может распространяться без исходных кодов и других свобод, а Free Software не обязательно распространяется бесплатно; – условно-бесплатное (Shareware). Как правило, распространяемые бесплатно экземпляры имеют ограниченную функциональность, работают в течение ограниченного промежутка времени или имеют рекламную функцию, отключающуюся после оплаты; – платное программное обеспечение; – общественное достояние (Public Domain Software) – это программное обеспечение, авторы которого решили сделать его общественным достоянием, так же, как это происходит с произведениями, авторские права на которые уже истекли. Такое ПО может свободно распространяться и использоваться без ограничений и выплат авторских вознаграждений. При этом должны соблюдаться права авторства, имени и защиты репутации автора. Перевод ПО в общественное достояние не требует распространения исходных кодов, поэтому такое ПО не всегда отвечает определению свободного ПО; – копилефт («Сopyleft» в противоположность «Сopyrigt» – игра слов на английском языке) является рядом дополнительных ограничений в дополнение к четырем свободам Свободного ПО, которые запрещают перелицензирование ПО под несвободной лицензией. Все-таки перелицензирование возможно при согласии всех владельцев авторских прав, однако при этом все выпущенные ранее версии остаются свободными (GNU GPL). О выбранном ПОИстория созданияИстория FreeCAD началась в январе 2001 года, когда Jürgen Riegel начал работать над проектом Cas.CADE. Cas.CADE был коммерческой платформой для разработки программного обеспечения, которая включала ядро геометрического моделирования (или ядро САПР): он был выпущен под лицензией с открытым исходным кодом в 2000 году и переименован OpenCASCADE. Это сделало возможным создание 3D-САПР с открытым исходным кодом, поскольку для программирования ядра САПР с нуля потребовался бы огромный объем работы. Проект FreeCAD был начат как так называемый GOM (Graphical Object Modeler) с идеей использовать Qt, Python и Cas.CADE. Cas.CADE стал открытым исходным кодом незадолго до этого, поэтому это стало подходящим моментом, чтобы двигаться в направлении САПР с открытым исходным кодом. В 2005 году компания Imetric пожертвовала FreeCAD и сообществу Open Source, большую часть своего Mesh-модуля и с тех пор они использовали FreeCAD в качестве основы для своего программного обеспечения сенсорной системы. FreeCAD стала универсальной параметрической 3D САПР, чья разработка полностью базируется на принципах открытого исходного кода (LGPL License). FreeCAD непосредственно направлен на разработку в сферах машиностроения и дизайна объектов, но также подходит для более широкого круга применений в инженерных задачах, таких как архитектура, анализ методом конечных элементов, 3D печать, и других. Сравнение с другими ПОВо FreeCAD имеются инструменты аналогичные CATIA, SolidWorks или Solid Edge, и, следовательно, он также попадает в категорию САПР, PLM, CAx и CAE. Это параметрический моделлер с модульной программной архитектурой, которая позволяет предоставлять дополнительные функциональные возможности без изменения базовой системы. Как и во многих пакетах САПР, в нем много 2D-компонентов для создания плоских фигур или создания рабочих чертежей. Однако прямое 2D-рисование (как например в Inkscape или AutoCAD LT) не является основным, так же как анимация или редактирование сеток (например Blender, Maya, 3ds Max, или Cinema 4D). Тем не менее, благодаря своей широкой адаптивности, FreeCAD может оказаться полезным в гораздо более широкой области, чем его текущая сфера деятельности. FreeCAD интенсивно использует библиотеки с открытым исходным кодом, существующие в области научных вычислений. Среди них Open Cascade Technology (OCCT), мощное ядро САПР; Coin3D, инструментарий для разработки 3D-графики, совместимый с Open Inventor; Qt, всемирно известный пользовательский интерфейс; и Python, современный язык сценариев. Сам FreeCAD также может быть использован в качестве библиотеки другими программами. FreeCAD также является мультиплатформенным и в настоящее время работает в операционных системах Linux/Unix, Windows и macOS с одинаковым внешним видом и функциональностью на всех платформах. FreeCAD, подобно многим современным приложениям для проектирования, таким как Revit или CATIA, базируется на концепции верстаков. Верстаки можно рассматривать как набор инструментов, специально сгруппированных под определенные задачи. В традиционных мебельных мастерских, вы имели бы рабочий стол для человека работающего с деревом, другой для работающего с металлическими частями, и, возможно, третий для того, который монтирует все это вместе. Тоже самое относится и к FreeCAD. Инструменты сгруппированы в верстаки в соответствии с задачами, к которым они относятся. Панели инструментов, командные панели и, возможно, другие части интерфейса, переключаются на новый инструментарий, но содержание сцены не меняется. Следует отметить, что иногда верстаки называют модулями. Однако, стоит отметить, что верстаки и модули это разные понятия. Модуль – это любое расширение FreeCAD, в то время как Верстак – это специальный тип модуля со своей собственной конфигурацией графического интерфейса (панели инструментов и меню). Основные функции FreeCAD:– полное геометрическое ядро, основанное на OpenCasCade, позволяет производить сложные трёхмерные операции над сложными типами форм, со встроенной поддержкой таких понятий, как: граничное представление (boundary representation, BREP), Кривые и поверхности неоднородных рациональных B-сплайнов (Non-uniform rational basis spline, NURBS), широкий спектр геометрических объектов, булевы операции над фигурами или сопряжения и встроенную поддержку форматов STEP и IGES; – полностью параметрическая модель данных. Объекты FreeCAD параметрические в основе, то есть их форма может полностью зависеть от параметров или зависеть от других объектов, все изменения пересчитываются по запросу, и записываются в стеке отмен-возвратов. Легко могут быть добавлены новые объекты, которые могут быть написаны на python; – модульная архитектура, позволяющая добавлять функциональность через плагины (модули). Эти расширения могут быть комплексными и программироваться на C++, или простыми как скрипты Python или записываемые самостоятельно макросы. Полный доступ из встроенного интерпретатора Python, макросов или внешних сценариев к практически любой части FreeCAD, позволят создавать и изменять геометрию, двумерное и объёмное представление этой геометрии (scenegraph) или интерфейс FreeCAD; – импорт/экспорт в стандартные форматы, такие как: STEP, IGES, OBJ, STL, DXF, SVG, U3D, DAE, IFC, OFF, NASTRAN, VRML, кроме собственного формата FreeCAD Fcstd. Уровень совместимости между FreeCAD и данными форматами может различаться, поскольку зависит от поддерживающего их модуля; – модуль эскизирования со встроенным вычислителем ограничений, позволяющий создавать эскизы с геометрически ограниченными двухмерными формами. Создаваемые с помощью Sketcher двумерные геометрические фигуры с ограничениями могут использоваться как база для построения других объектов FreeCAD; – модуль робототехники, позволяющий изучать движение роботов в графическом интерфейсе; – удобный новый модуль для создания традиционных чертежей с опциями вроде видов детализации, сечений, образмеривания и других, которые позволяют создать двумерный вид вашей трёхмерной модели. Эти модули создают листы, готовые к экспорту в SVG или PDF. Так же есть более старый модуль черчения с его небогатыми возможностями графического интерфейса, но мощной функциональностью через Python; – модуль рендеринга может экспортировать 3D объекты для рендеринга во внешние программы. Пока что он поддерживает только POV-Ray и LuxRender; – модуль архитектуры позволяет работать по процессу информационного моделирования здания (Building Information Modeling, BIM), при совместимости со спецификацией IFC; – интегрированный обработчик электронных таблиц и выражений, который может использоваться для управления моделями через формулы и централизованной организации данных моделей; – создание параметрических примитивов. Примитивы вроде куба, сферы, цилиндра и т.д. могут создаваться определением их геометрических ограничений. Параметрически связанные объекты документа. Все объекты в документе FreeCAD могут быть заданы параметрами. Эти параметры могут быть изменены и пересчитаны в любое время. Поскольку связи между объектами сохраняются, изменение одного объекта автоматически распространяется на все зависимые объекты; Практическое содержание и описание верстаковИнтерфейс: интерфейс FreeCAD составлен из различных графических элементов на экране, включая трёхмерный вид, древо проекта, редактор свойств, панель задач, и консоль Python. Рис. 1 - Интерфейс программы Верстаки Верстаки - это наборы инструментов, используемые для решения определенных задач. Далее перечислены базовые верстаки, идущие в комплекте с каждой установкой FreeCAD: – стандартные инструменты. Эти команды и инструменты присутствуют во всех верстаках; – верстак Arch для работы с элементами архитектуры; – верстак Draft содержит 2D-инструменты и основные операции 2D и 3D CAD; – верстак FEM обеспечивает рабочий процесс анализа Методом Конечных Элементов (МКЭ); –верстак Inspection сделан для того, чтобы дать вам специфические инструменты для осмотра форм. Он всё ещё находится в стадии разработки; – верстак Mesh для работы с триангулярными (разбитыми на треугольники) сетками; – верстак OpenSCAD обеспечивает совместимость с OpenSCAD и восстановление истории модели конструктивной твердотельной геометрии (CSG); – верстак Part для работы с деталями САПР; – верстак Part Design для построения фигур деталей из эскизов; – верстак Points для работы с облаками точек; – верстак Reverse Engineering предназначен для предоставления специальных инструментов для преобразования форм/тел/сеток в параметрические элементы, совместимые с FreeCAD. Он все ещё находится в стадии разработки; – верстак Robot для изучения движений робота; – верстак Sketcher для работы с геометрически ограниченными эскизами; – верстак Spreadsheet предназначен для создания и обработки данных электронных таблиц; – верстак Start Center позволяет быстро перейти к одному из наиболее распространённых верстаков; – верстак Surface предоставляет инструменты для создания и изменения поверхностей. Он похож на опцию Грань из отрезков Построителя Форм; – верстак TechDraw для создания технических чертежей из 3D-моделей. Это преемник верстака Drawing; – верстак Test Framework предназначен для отладки FreeCAD; – верстак Web предоставляет окно браузера вместо 3D вида FreeCAD; Созданные модели деталей:Рис. 1 Деталь (фланец) Рис. 2 Пружина Рис. 3 Деталь 2 Рис 4. Деталь 2 ЗаключениеВ результате работы задачи были выполнены. В ходе работы были получены навыки работы с САПР FreeCAD, получены теоретические знания в области лицензирования ПО. Список используемой литературыО проекте GNU - Проект GNU - Фонд свободного программного обеспечения URL: https://www.gnu.org/gnu/thegnuproject.html (Дата обращения 14.05.2023) Жидченко, Т.В. Компьютерное параметрическое твердотельное проектирование URL: https://ачии.рф/files/5e238a7b-805a-493d-9f5b-0bf7b056f087.pdf (Дата обращения 15.05.2023) Нестеренко, Е. С. Основы систем автоматизированного проектирования URL: http://repo.ssau.ru/bitstream/Uchebnye-posobiya/Osnovy-sistem-avtomatizirovannogo-proektirovaniya-Elektronnyi-resurs-elektron-konspekt-lekcii-54945/1/Нестеренко%20Е.С.%20Основы%20САПР.pdf (Дата обращения 14.05.2023) Сайт FreeCAD: Ваша собственная программа трёхмерного параметрического моделирования URL: https://www.freecad.org/?lang=ru (Дата обращения 13.05.2023) |