Linux/CAD

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Автор: Владимир Кореньков

Короткий URL: Linux/CAD

Содержание


Использование в Linux CAD-систем, ориентированных на машиностроение


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


Questionmark.jpg

  • Правда ли что раньше программного обеспечения CAD под UNIX было больше нежели сейчас?
  • Если да, то с чем связана эта тенденция?

[править] Зачем нужны 3D-модели?

Уже порядка 100 лет в производственной практике существует система, предполагающая разделение труда. Применительно к процессам проектирования, самым простым примером может служить цепочка: дизайнер — конструктор — технолог — рабочий. Каждый субъект этой цепочки преобразовывает и передает определенного вида информацию (техническое решение). Например, конструктор в своем сознании формирует окончательный образ будущего изделия. Этот образ должен быть передан в сознание технолога, чтобы тот сформировал последовательность изготовления. Именно процесс передачи информации об объектах производства без потерь и ошибок стал причиной появления универсального языка — технического черчения.

Теперь возникает закономерный вопрос: а зачем нужны 3D-модели изделий, если инженеры обходились и по сей день с успехом обходятся 2D-чертежами? Или иными словами: в чем эффективность систем трехмерной графики, если они как инструмент передачи данных не привносят в виртуальную модель изделия принципиально новой, в техническом плане, информации?

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

  • CAE (Computer Aided Engineering)системы поддержки инженерных решений, предназначенные для анализа напряжений в элементах конструкций, перемещений, колебаний, теплопередачи;
  • CAM (Computer Aided Manufacturing)системы поддержки производства, роль которых сегодня свелась к подготовке управляющих программ для станков с ЧПУ;
  • CAPP (Computer Aided Process Planning)системы проектирования технологии изготовления;
  • и пр.

Работа этих систем возможна лишь при наличии в качестве исходной информации о топологии поверхности проектируемого изделия. Следовательно, 3D CAD (Computer Aided Design) – системы компьютерной поддержки проектирования, являются основным источником начальной информации для других составляющих систем автоматизированного проектирования (САПР).

[править] Какие CAD бывают?

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

  • если производство не является, мягко говоря, наукоёмким, то вполне достаточным будет использование лишь 2D CAD систем (большинство мелких частных предприятий машиностроительного профиля, деревообработки, раскроя стройматериалов и т.п., довольствуются простыми эскизами, зачастую полученными от самих заказчиков);
  • 3D CAD системы, хотя и могут иметь в своём составе инструментарий для оформления конструкторской документации, однако предназначены для интеграции всего комплекса инженерных пакетов. Если таковые на предприятии отсутствуют, то использование 3D CAD лишь для создания рабочих чертежей является неоправданным.

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

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

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

Технический дизайн (работа с так называемыми free-form поверхностями) по своей идеологии стоит несколько в стороне от моделирования классических машиностроительных деталей и сборок. Это, скажем так, скорее удел художников, работающих в Blender 3D, AC3D, 3DVIA, Wings 3D...

Системы, ориентированные на конструирование — это то, о чем далее пойдет речь в данной статье. Основная проблема тут в следующем. Идеология автоматизированного проектирования предполагает уход от бумажного документооборота и стремление к так называемым «безлюдным технологиям». Однако на тех предприятиях, где до сих пор работают станки с ручным управлением, в цехах должны присутствовать рабочие эскизы, маршрутные/операционные карты и т.п. То есть, от CAD систем требуется наличие как 3D, так и 2D-модулей, причём с поддержкой национальных стандартов, чего в идеальном варианте в мире Linux по сей день не существует.

И, наконец, касательно САПР. На западных предприятиях практически не используются по отдельности только CAD или CAE, или CAM. Как показала практика, автоматизация лишь отдельных этапов производства не дает желаемого эффекта, а иногда даже тормозит прирост производительности труда. С другой стороны, использование большого количества программного обеспечения разных производителей (соответственно, с разными способами представления или форматами данных) создает множество проблем в части их взаимодействия. Таким образом, становится неизбежным использование какой-либо единой интегрированной системы, связывающей работу конструкторов, технологов, производственников их руководителей и пр. Практически все «тяжелые» САПР: CATIA, Pro/Engineer, Unigraphics и пр., придерживаются подобной идеологии. Естественно, разработка программ данного класса требует колоссальных интеллектуальных затрат и, следовательно, ожидать их увидеть в виде freeware не следует.

Наиболее известные и сравнительно недорогие Linux-CAD системы:

[править] Рабочее место инженера

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

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

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

Ранее каждое предприятие, учебное заведение или просто энтузиасты писали для своих локальных задач софт, который со временем становился публичным – в результате имеем порядка сотни проектов (см. обзор), которые так и не объединились «под единой идеологией».

Среди достаточно развитых и поддерживаемых проектов сегодня лидирующие позиции занимают:

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

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

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

[править] Запуск свободно распространяемых программ, написанных для альтернативной ОС, используя проект wine

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

Среди свободно распространяемых CAD можно назвать следующие:

Это в основном простенькие заменители AutoCAD. Из более серьезных можно назвать:

Есть еще одна ниша – учебные версии. Некоторые лидеры САПРостроения выпускают в свободный доступ несколько урезанные версии своих программ:

Взять к примеру T-Flex. Учебная версия – это полнофункциональная и полностью соответствующая требованиям ЕСКД система 2D/3D моделирования, которая имеет всего пару ограничений касающихся в основном обмена данными. Если предприятие активно не обменивается с внешним миром конструкторской документацией, то для внутренних нужд этого более чем достаточно (к тому же, как выяснилось, все-таки имеется возможность экспорта 3D моделей через формат POV-RAY).

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

[править] Адаптация достаточно распространенных дизайнерских пакетов для создания технических моделей

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

Яркий пример тому Blender 3D. Около 5 лет назад была предпринята попытка создания BlenderCAD, (которая, к сожалению, не увенчалась успехом). Однако в настоящий момент Blender 3D имеет весь набор команд по созданию технических моделей (функции создания конструктивных элементов, массивов, булевы операции и пр.), все API функции доступны через язык python и как для полноценной 3D CAD, разве что не хватает явной параметризации. К тому же активный интерес к подобным адаптациям проявляется и за рубежом. Так на сайте www.rab3d.com есть пример разработки моделей зубчатых колес, чертежа подшипника (с разрезами, размерами и пр.) по его 3D модели - автор написал достаточно объемное и подробное руководство по применению Blender 3D в техническом моделировании.

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

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

Писать «с нуля» CAD системы достаточно тяжело. Поэтому в мировой практике принято деление на разработчиков графических ядер и компании, занимающиеся написанием интерфейсов для пользования функциями этих библиотек. Например, на ядре Parasolid работают SolidWorks, SolidEdge, T-Flex, ...

Среди ядер геометрического моделирования есть и открытые. Приведем лишь два примера: OpenCascade и Coin3d. На страничках проектов (см. дополнительную литературу) можно ознакомиться с примерами программ, написанных на базе этих библиотек.

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

[править] Облачные вычисления

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

По заявлениям CNews, российская компания «Аскон», разработчик популярной системы автоматизированного проектирования (САПР) «Компас-3D», будет предоставлять доступ к новой 12-й версии своей системы по модели SaaS (как услугу).

Первые впечатления:

[править] Дополнительная литература

История развития САПР:

Обзоры, статьи и коллекции ссылок по теме CAD/CAM/CAE софт в Linux:

и нетолько Linux:

Обзор программ для 3D моделирования, написанных на языке Python:

Примеры программ, написанных на ядре OpenCascade:

Примеры программ, написанных на ядре Coin3d:

Обзор САМ (систем для программирования станков с ЧПУ):

[править] Ещё

Источник — «http://xgu.ru/wiki/Linux/CAD»