Блог о программном обеспечении

Зачем оно нужно?
Публиковать для себя разные вещи, чтобы потом не искать их у себя по разным папкам.
И, конечно, - делиться открытой информацией с другими.
Коротко по темам Caelinux - самый инженерный дистрибутив линукс;
CalculiX - мощная программа для расчетов по МКЭ;
OpenOffice Basic - то что легче выучить и затем эффективно использовать
Maxima - символьная математика от Вильяма Шеллтера, профессора Остинского университета. Все прочее - понемногу.

Тут о свободных CAD-ах

Попробую провести некоторый обзор свободных CAD программ.
Сначала список
1) Salome http://www.salome-platform.org/
2) Freecad http://sourceforge.net/projects/free-cad/
3) gcad3d http://www.gcad3d.org/
4) SolveSpace http://solvespace.com/index.pl

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

Но тем не менее, открытые CAD программы представляют определенный интерес и попробую объяснить - какой.
Тут еще также стоит заметить, почему в список выше не включен blender3d
(http://www.blender.org/ ). Это в большей мере профессиональный софт по своему назначению (особенно с последних версий), и служит он конечно же для построения 3d моделей, но это не для инженеров а для арта и форматы геометрии там - сеточные и сплайновые, особой точности в общем случае не предполагают, принципы немного иные, и для инженеров не очень полезны (хотя можете погуглить blendercad, типа тут http://www.cad4arch.com/cadtools/).
Под CADом я буду понимать 3D программы, оперирующие с форматами типа STEP/IGES, в обе стороны (т.е. с сохранением). Важный момент - потому что многие препроцессоры МКЭ программ (в том числе GMSH, NETGEN, CalculiX CGX) - геометрию тоже строят, но ориентированы на построение расчетных сеток, и, хотя могут читать STEP, но обратно его не пишут.

Salome - наиболее мощный (по совокупности возможностей но не по удобству) инженерный пакет, исторический прародитель наиболее мощных коммерческих САПР, типа Catia, в принципе тоже является в большей мере препроцессором, но имеет очень функциональный геометрический модуль, основанный на ядре OpenCascade.
Под Windows существует экспериментальная сборка, не очень удачная,
самый наверно лучший способ опробовать Salome - в составе дистрибутива caelinux. Дает возможность строить параметрические модели, как посредством пользовательского интерфейса (через определение параметров), так и через запись и корректировку пайтон скриптов.При этом при выполнении определенного действия в дереве появляется соответствующая feature, но изменить ее непосредственно из интерфейса - нельзя, нужно перегружать скрипт.
В чем преимущества и недостатки скриптовой паратеризации по сравнению с feature based. Преимущество - в гибкости. Например - у вас есть тело с отверстиями. В скрипте вы можете прописать не только параметры вроде диаметра или привязки, но и поменять количество отверстий и принцип по которому они привязаны к телу. Недостаток в том, что нужно работать с командным скриптом, перезапускать его несколько раз в процессе написания, для того чтобы убедиться, что он работает правильно.
Salome имеет достаточно бедные интерактивные возможности - нельзя практически ничего произвольно начертить на экране, задать изменяемые размеры - все приходится вводить вручную через координаты.
Строить таким образом сложные модели гораздо трудозатратней, чем например в SolidWorks, но для типовых моделей в массовом производстве параметризация очень удобна (можете например построить вал, шестерню, фланец - и так далее и затем генерировать ее автоматом просто поменяв параметры).
Еще одна существенная особенность, важная именно для последующего использования в расчетах - в отличие от программ типа SolidWorks у пользователя есть возможность полностью контролировать отдельные примитивы (типа поверхностей, точек, линий и т.д.), что позволяет во многих случаях подготовить геометрию для нанесения автоматической сетки с определенными свойствами. Это в некотором роде CAD пакет "классического типа", в котором вы полностью контролируете геометрию на элементарном уровне и соответственно можете ей (при наличии опыта) должным образом управлять. Ближайший аналог Salome - это препроцессор классической версии ANSYS.

Free-cad - базируется на том же ядре, что и Salome, и таже имеет скриптовые возможности на том же принципе (python) плюс зачаточные возможности feature-based параметризации. То есть можно выделить любую поверхность существующего тела и нарисовать на ней произвольный эскиз (с параметрическими изменяемыми размерами). Далее, соотвтетственно - сделать вытяжку или рез согласно этого эксиза.
На сегодняшний день (версия 0.13) в эскизной части не поддерживаются сплайны, также хромает экспорт dxf фигур в эскиз (либо невозможно, как в случае сплайнов, либо надо много дорабатывать ручками).
Отдельно от эскизного существует draft модуль - с обычным черчением на плоскости и образмериванием.Отдельно от draft - Drawing модуль, в котором можно создать произвольную проекцию построенного тела на плоскость (правда сохранить в dxf напрямую нельзя, экспорт выполняется через svg формат, который нужно переоткрывать и сохранять в Inkscape)
Сборочный модуль пока находится в стадии тестирования (в бета версии),
тем не менее отдельные функции точной сборки доступны через привязки Draft http://youtu.be/lfinO3EGXeo )
В целом конечно Freecad-у далеко до современного полнофункционального пакета, но для простых вещей он работает не хуже солидворкса, и сохраняет пока преимущества скриптовых возможностей, описанные выше для Salome.
(Совсем ничего не написал про архитектурный модуль - можете погуглить или сами попробовать).
Упор на "массового пользователя" в развитии Free-cad имеет и некоторые недостатки - нарушается unix-way (делай отдельный модуль для определенной цели, но делай его хорошо), программа стремительно растет в размерах при этом переполняясь какими то второстепенными (или даже совсем убогими) фичами, которые к тому же и не работают толком. Но, поскольку программа все таки свободная - ничего не мешает существовать ее кастомным вариантам сборки, которые подчищены от несуществующих функций, сохраняя все преимущества существенных.

Наконец - две последние программы в списке, совсем не большие, написанные одним человеком, gCAD3D - с упором на скрипты (построение поверхностей) и SolveSpace - с упором на интерфейс (в линукс работает через wine), основной их минус в том, что сохраняемые STEP файлы записываются не корректно, и открываются не везде (в отличие от OpenCascade-based программ, в которых эта функция разработана на хорошем уровне).


No comments:

Post a Comment