Ubuntu в техническом вузе

Хотел бы рассказать об опыте использования Linuxa в целом и Ubuntu в частности в учебном процессе технического вуза - Ивановская государственная текстильная академия для студентов направления подготовки - "Моделирование и исследование в организационно-технических системах".

Прежде чем начать, хотелось бы высказать слова благодарности всем работникам отдела, обеспечивающего работу сети академии и отдельно Косинову Ю.А. за поддержку и помощь. Перед началом также хотелось бы сказать что по каждому пункту можно написать десятки листов текста с подробными объяснениями причин, настройками, но это выходит далеко за рамки обзорной статьи.

Почему собственно Ubuntu?

Дистрибутив выбирался на основании ряда критерий. Одним из самых главных факторов являлось дружелюбие и распространенность дистрибутива (с Fedora был не очень удачный опыт циклических зависимостей rpm, но это было в ранних версиях 1 или 2). Большое количество программного обеспечения и простота его установки тоже сыграли немаловажную роль. Далее в этой статье пойдет в основном обзор этого самого программного обеспечения.

С гуманитариями проще

Опыт использования открытых систем в целом и Ubuntu в частности показывает, что проще пересадить "гуманитария" чем "технаря" (а с выходом 1С нативно работающей в linuxe еще проще). И в первое место в списке причин подобного казалось бы парадокса заключается в CAD- системах, именно CAD, поскольку с CAM/CAE дела обстоят лучше.

Что же такого у нас технарю надо?

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

Посчитать

Традиционно в ВУЗах используют Matlab/MatCad/Maple и т.д. В общем - у кого какие лицензии есть, то и используют. У нас есть лицензия на Matlab+Simulink+SimMechanics и традиционно именно его у нас и используют. В каких-то случаях - на "посчитать" используют какой нибудь язык программирования. С языками, понятное дело, в Ubuntue все хорошо, и на этом останавливаться не будем, сказав лишь что используем Python, PyQT/PyGTK, Numpy, matplotlib, Eclipse+Pydev… одним словом, все что с Pythonом связано (хотя для OpenCv используем C++, может Python для него не умеем готовить? - медленно получается).

А вот о альтернативе/дополнении к Matlab+Simulink+SimMechanics сказать отдельно стоит. Конечно мы можем установить версию для Linuxa (и скорее всего так и сделаем, чтобы не перегружаться по необходимости), но кое чего нам в Matlabe все же не хватает, например, не куплен модуль symbolic. Поэтому для замены мы используем следующий комплект (в дополнении к Python и Numpy) - Scilab+Scios, Maxima, и весьма редко Octave. Maxima на мой взгляд на две головы лучше чем пакет symbolic в Matlabe, поэтому её используем наиболее часто. Scilab/Octave способны заменить Matlab, а вот Scios в качестве замены Simulink достаточно страшен. Хотя стоит отметить что для программы за 0 р. 0 коп. он более чем приличен. А SimMechanics спросите вы? Замены пока нет, что в общем то логично, поскольку он решает весьма специфичные задачи.

Почертить и не только

Как уже было сказано CAD - основная причина сложности перехода. Традиционно во всем мире используют Autocad… дьявола, мы - нет. Дело тут не только в лицензии и деньгах (хотя и в них в первую очередь). Тот кто начинал чертить 2D/3D в Компасе - тот никогда на автокад не вернется, не сломав себе голову. Но кроме Компаса нами еще используется SolidWorks+CosmosWorks+FloWorks - это один крупный программный комплекс, способных покрыть большинство задач проектирования и моделирования. Сразу понятно, что про достойную открытую альтернативу можно забыть, просто посмотрев на цену за установку SolidWorksa. Поскольку лицензия есть, производились попытки установки Компас 3D LT и SolidWorksa под Wine. Компас установился и заработал сразу, SolidWorks - установиться отказался, поэтому начались поиски альтернативных решений. К сожалению эксперименты проводились больше года назад, и, например, зайдя при подготовке к написанию данного обзора на сайт Wine, я обнаружил что SolidWorks 2009 имеет золотой статус, а значит следует снова попробовать.

При выборе или обзоре CAD системы под Linux в большинстве случаев следует сперва увидеть результаты работы программы и лишь после этого посмотреть на интерфейс, если таковой конечно вообще имеется. Короткий список того, что посмотрели используем или планируем использовать:

Blender - замечательнейшая вещь (тем более что можно писать модули на Python). В качестве замены 3DsMax он подходит идеально. Хочется также отметить что студенты создали на его игровом движке пару игр, а вот в качестве CAD - использовать его очень и очень сложно:

Qcad (и его клон - LibreCad) - очень похож на Autocad, поэтому, как уже было сказано выше, не рассматривался в качестве основного инструмента для создания чертежей. Справедливости ради хочется отметить что не рассматривали DraftSightCad по той же самой причине:

Qcad

OpenCasCade - в одном из журналов LinuxFormata описывалась эта очень мощная библиотека и построенные на его основе системы. С использованием OpenCasCade можно построить собственную CAD систему, но для нас эта задача неподъемная и бессмысленная. Лучше примкнуть к очень перспективному на мой взгляд проекту FreeCad построенному на основе OpenCasCade (Python внутри, и снова радуемся что выбрали правильный язык).

OpenCasCade

BRL-CAD - создание 3D моделей в терминале? Узнав об этом студенты испытывают шок, как такое может быть в 21-м веке? Однако у системы есть только один большой недостаток. И как ни странно это невозможность штатными средствами нанести размеры. А вот текстовое описание моделей имеет ряд преимуществ, таких например как скорости создания моделей, возможность использования системы контроля ревизий для создания резервных копий, совместной работы.

BRL-CAD

OpenScad - очень похож на BRL-CAD идеологией, только поменьше попроще и поудобнее. Вся сила так-же в тексте.

OpenScad

Для расчетов можно использовать мощный дистрибутив CAE-Linux, теперь основывающийся на Ubuntu, просто загрузил и считай. Или использовать отдельно программное обеспечение, такое как например Salome (являющееся наверное самой крупной и мощной составляющей CAE-Linux и использующий в качестве ядра уже известный OpenCasCade).

Salome и CaeLinux

Электроника и микропроцессорная техника

Для обучения студентов основам микроконтроллеров нами были изготовлены всем известные отладочные платы Arduino. Для Ubuntu из коробки есть IDE для разработки и загрузки приложений, а также среда для разработки схем. Для разработки дополнительных модулей мы используем KiCad. В KiCade конечно есть слегка непривычные моменты для перебежчика из PiCada и не хватает всех возможностей Altiuma, но это отличная программа, мало чем уступающая аналогам. Для моделирования схем, хотя нам редко приходится это делать, используем Qucs.

KiCad

Qucs

Пишите сударь

Вот с подготовкой текстов и отчетов проблем нет. Из коробки доступны OpenOffice/LibreOffice, которые ничем не уступают продукту фирмы Microsoft. Даже больше того в плане удобства автоматизации (автоматическая простановка нумерации рисунков, таблиц, формул) OpenOffice/LibreOffice значительно превосходят вышеупомянутый продукт. Нельзя также забывать и о LaTex`e, на который мы пытаемся постепенно мигрировать.

  1. Blender
  2. Librecad
  3. OpenCasCade
  4. FreeCad
  5. BRL-CAD
  6. Open-Scad
  7. CAE-Linux
  8. Salome
  9. Qucs

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

Источник: habrahabr.ru.

А вы любите коллекционировать Монеты России? Можете узнать об этом побольше на сайте numism.ru.