International conference of developers
and users of free / open source software

Использование в Linux САПР,‭ ‬ориентированных на машиностроение

Владимир Кореньков,‭ ‬Киев,‭ ‬Украина,‭ ‬кафедра Технологии машиностроения НТУУ‭ «‬КПИ‭»‬,‭ ‬vnkorenkov@gmail.com

LVEE 2008

Рассматриваются варианты использования в ОС Linux систем автоматизированного проектирования,‭ ‬работающих с трехмерной графикой.

какие бывают САПР

Выбирая тот или иной программный продукт,‭ ‬следует четко представлять круг решаемых им задач:‭

-‎ ‏если производство не является,‭ ‬мягко говоря,‭ ‬наукоемким,‭ ‬то вполне достаточным будет использование лишь‭ ‬2D САПР‭ (‬большинство мелких частных предприятий машиностроительного профиля,‭ ‬деревообработки,‭ ‬раскроя стройматериалов и т.п.,‭ ‬довольствуются простыми эскизами,‭ ‬зачастую полученными от самих заказчиков‭);
-‎ ‏3D САПР,‎ ‏хотя и могут иметь в своем составе инструментарий для оформления конструкторской документации,‭ ‬предназначены для интеграции всего комплекса инженерных пакетов.‭ ‬Если таковые на предприятии отсутствуют,‭ ‬то использование‭ ‬3D САПР лишь для создания рабочих чертежей является неоправданным.‭

Ниже речь пойдет,‭ ‬в основном,‭ ‬о последних системах,‭ ‬поскольку двухмерные‭ «‬электронные кульманы‭» ‬достаточно просты по своей сути и уже давно существует целый ряд AutoCAD-подобных:‭ ‬QCAD,‭ ‬Medusa4‭ (‬имеется свободно распространяемая версия‭)‬,‭ ‬JCad,‭ ‬PythonCAD и др.‭

Определившись с классом систем,‭ ‬необходимо выяснить место,‭ ‬которое будет занимать инженер в процессе подготовки производства.‭ ‬Как правило,‭ ‬это:‭

1.‎ ‏Технический дизайн.
2.‎ ‏Сугубо конструирование‭ (‬локальные задачи‭)‬.
3.‎ ‏Решение технологических задач.
4.‎ ‏Коллективная работа с использованием САПР.‭

рабочее место инженера‭

С сожалением следует констатировать,‭ ‬что в Linux сегодня практически отсутствуют свободно распространяемые пакеты САПР,‭ ‬развитые на таком же высоком уровне,‭ ‬как офисные,‭ ‬медиа и пр.‭ ‬Поэтому в сложившейся ситуации видятся следующие пути решения проблемы.‭

использование свободно распространяемых‭ ‬2D/3D CAD,‭ ‬изначально создаваемых для Linux‭

Парадокс состоит в том,‭ ‬что формирование систем трехмерной‭ (‬да и вообще‭) ‬графики началось на базе UNIX.‭ ‬Альтернативная ОС перехватила лидерство лишь в‭ ‬90-х да и то по причине удешевления и повышения производительности аппаратного обеспечения Intel.‭ ‬Ранее каждое предприятие,‭ ‬учебное заведение или просто энтузиасты писали для своих локальных задач софт,‭ ‬который со временем часто становился публичным.‭ ‬В результате имеется порядка сотни проектов,‭ ‬которые так и не объединились‭ «‬под общей идеологией‭»‬.‭

Среди достаточно развитых и поддерживаемых проектов сегодня лидирующие позиции занимают:‭ ‬GraphiteOne,‭ ‬SALOME,‭ ‬FreeCAD‭ (‬by Jürgen Riegel‭)‬,‭ ‬K-3D,‭ ‬Varkon parametric‭ ‬2D/3D CAD и др.

Некоторые из этих программ вошли в специализированный дистрибутив CAELinux.‭ ‬Однако при их использовании могут возникнуть следующие трудности:‭

-‎ ‏недостаточно развитая функциональность систем‭;
-‎ ‏отсутствие поддержки национальных стандартов‭ (‬наверное одна из основных проблем,‭ ‬т.к.‭ ‬нормоконтроль еще никто не отменял‭);
-‎ ‏отсутствие библиотек‭; ‬развитой сети обмена моделями‭; ‬ограничение функций импорта/экспорта‭ (‬из-за коммерциализации соответствующих форматов‭) ‬и пр.‭
-‎ ‏человеческий фактор.‭

По этим причинам давать какие-либо рекомендации неуместно,‭ ‬в каждом конкретном случае необходимо соизмерять потребности предприятия с возможностями софта.‭

запуск свободно распространяемых программ,‭ ‬написанных для альтернативной ОС,‭ ‬с помощью проекта wine‭

От специалистов достаточно часто можно слышать,‭ ‬что‭ «‬графические и инженерные системы стоят очень больших денег и,‭ ‬по крайней мере,‭ ‬стоимость ОС при их покупке можно в расчет не принимать‭» ‬или же‭ «‬экономически выгодней работать в альтернативной ОС,‭ ‬поскольку там есть весь необходимый софт,‭ ‬что очень важно для сокращения времени подготовки производства‭»‬.‭ ‬Однако существует большое количество графических пакетов,‭ ‬с которыми многие хотели бы работать независимо от ОС.‭ ‬Среди свободно распространяемых более-менее серьезных САПР можно назвать следующие:‭ ‬Delcam PowerSHAPE-e‭ ‬3D,‭ ‬Solid Edge‭ ‬2D,‭ ‬MicroStation PowerDraft‭ ‬2D(Bentley‭)‬.

Есть еще одна ниша‭ – ‬учебные версии.‭ ‬Некоторые лидеры САПРостроения выпускают в свободный доступ урезанные версии своих программ.‭ ‬Например,‭ ‬учебная версия T-Flex‭ – ‬это полнофункциональная и полностью соответствующая требованиям ЕСКД система‭ ‬2D/3D моделирования,‭ ‬которая имеет всего пару ограничений,‭ ‬касающихся в основном обмена данными.‭ ‬Если предприятие активно не обменивается с внешним миром конструкторской документацией,‭ ‬то для внутренних нужд ее более чем достаточно.‭

Не будем философствовать о политике компаний и вдаваться в выяснение причин их перехода на Linux‭; ‬отметим лишь,‭ ‬то,‭ ‬что вопреки техническим трудностям,‭ ‬использование проекта wine оказывается для инженера наиболее простым,‭ ‬быстрым и‭ «‬безболезненным‭» ‬способом начать полноценно работать в новой для него среде.‭

адаптация популярных дизайнерских пакетов для создания технических моделей‭

На сегодняшний день системы трехмерной графики,‭ ‬ориентированные на создание фотореалистичных изображений и анимации имеют достаточно развитую функциональность.‭ ‬Поэтому при написании новой системы можно было бы ориентироваться на адаптацию к нуждам технической САПР уже существующих дизайнерских пакетов.‭ ‬В пользу данного предположения,‭ ‬можно привести аргумент,‭ ‬что практически все САПР позиционируются на рынке как гибридные,‭ ‬т.е.,‭ ‬содержащие модули не только твердотельного,‭ ‬но и поверхностного моделирования.‭

Яркий пример тому пакет Blender‭ ‬3D.‭ ‬Около‭ ‬5‭ ‬лет назад была предпринята попытка создания BlenderCAD‭ (‬к сожалению,‭ ‬не увенчавшаяся успехом‭)‬.‭ ‬Однако в настоящий момент Blender‭ ‬3D имеет весь набор команд по созданию технических моделей‭ (‬функции создания конструктивных элементов,‭ ‬массивов,‭ ‬булевы операции и пр.‭) ‬и как для полноценной‭ ‬3D САПР пакету не хватает разве что явной параметризации.‭

Активный интерес к подобным адаптациям проявляется за рубежом.‭ ‬Так,‭ ‬сайт www.rab3d.com содержит примеры и подробное руководство по применению Blender‭ ‬3D в техническом моделировании.‭

Таким образом,‭ ‬если речь идет о создании достаточно серьезной‭ ‬2D/3D САПР,‭ ‬то,‭ ‬по нашему мнению,‭ ‬это самый быстрый и простой способ.‭

использование свободно распространяемых ядер геометрического моделирования

Писать‭ «‬с нуля‭» ‬САПР достаточно тяжело.‭ ‬Поэтому в мировой практике принято деление на разработчиков графических ядер и компании,‭ ‬занимающиеся написанием интерфейсов для использования функций этих библиотек‭ (‬например,‭ ‬на ядре Parasolid работают SolidWorks,‭ ‬SolidEdge,‭ ‬T-Flex…‭)‬.

Среди ядер геометрического моделирования есть и открытые.‭ ‬Приведем лишь два примера:‭ ‬OpenCascade и Coin3d.‭

Следует отметить,‭ ‬что написание практически с чистого листа САПР‭ ‬-‭ ‬достаточно сложная и трудоемкая задача.‭ ‬Поэтому оправданным данный подход можно назвать лишь в случае‭ «‬специфических требований‭» ‬предприятия к софту‭ (‬т.е.‭ ‬написания функций,‭ ‬которых нет ни в одной из существующих или доступных по приемлемой цене систем‭)‬.‭