Программы для создания чертежей и конструкторской документации.

QCAD

Позволяет создавать плоские (2D) чертежи строений, интерьеров, механических деталей, схемы и диаграммы. Работает на Linux, Windows, Mac OS X. Исходники доступны для QCAD comunity редакции, которая распостраняется по GPL.

PythonCAD

acad :

leocad :

Программы для создания 3D объектов и физического моделирования.

BRL-CAD

3D САПР для моделирования составных объемных тел (CSG - constructive and geometry). Включает в себя интерактивный геометрический редактор, параллельную трассировку лучей, рендеринг и геометрический анализ. Весь проект распостраняется в исходном коде.

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

Хотя BRL-CAD применяется для разных инженерных и графических приложений, но первостепенное значение имеет поддержка баллистичесокого и электромагнитного анализов. Соответственно, разработчики используют CSG моделирование, чтобы получить наилучшую точность и скорость численного анализа.

BRL-CAD приложения делятся на 4 группы. геометрические преобразования, геометрические вычисления, преобразование форматов изображений, консольно-ориентированное управление изображениями.
  • MGED (Multiple-Device Geometry Editor)
Следующий список содержит основные BRL-CAD библиотеки и описание их функций:
  • libbu - основная библиотека (bu) содержащая алгоритмы, реализующие манипуляцию данными (преобразование данных в формат для распределенной обработки), паралельные вычисления, работу с длинными строками, контроль ошибок, преобразование единиц между разными форматами, управление битовыми векторами и поддержка символьных таблиц.
  • libbn - библиотека, поддерживающая основные численные операции, влючая 2х и 3х мерные векторы, матрицы и кватернионы; автоматическое преобразование размеров изображений; вейвлетные преобразования;
  • libdm - библиотека основного графического дисплейного менеджера (display manager (dm)). Она отображает изображения в графических окнах.
  • libfb - библиотека фреймбуфера
  • libmultispectral и liboptical - библиотеки шейдеров и текстурирования
  • libpkg - реализует алгоритмы удаленного вызова процедур (RPC). Используя ее приложения могут устанавливать службы и управлять запросами без администрирования системы.
  • librt - реализация представления данных примитивов, поддержка рэйтрэйсинга(технология просчета изображения, когда от источника света к объектам идут лучи и проверяется пересечение лучей с объектами, это позволяет получать реалистичные тени на изображениях), поддержка бинарного ввода/вывода CSG геометрического описания.
  • libz - билиотека сжатия.
  • libtcl, libtk и libitcl - билиотеки которые представляют Tcl/Tk скриптовый язык.
  • libpng - позволяет работать с форматом png.

    Конструктор САПР.

    Open CASCADE

    Платформа разработки, включающая компоненты для 3D моделирования, визуализации, экспорта/импорта данных и быстрой разработки приложений. Представляет собой библиотеку с набором функций и объектов для разработки специализированных научно-технических и профессиональных приложений в таких областях, как САПР, метрология, измерительные машины, биомедицина, трехмерная картография, оптика, разработка дизайна внешних форм изделий и т. д. Версия 3.1 Open CASCADE содержит модули:

    1) Модуль Foundation Classes предоставляет базовые классы библиотеки CASCADE и математические средства для работы с ними, такие как:

    • классы автоматического управления динамической памятью Transient, на базе которых построены все дескрипторы, рассмотренные в предыдущей статье;
    • базовые типы, такие как Boolean, Character, Integer и Real;
    • базовый класс управления исключениями Failure;
    • потоки, используемые в С++;
    • классы строк String, предоставляющие возможность работать как с символами ASCII, так и с форматом Unicode;
    • большой набор классов различных списков, стеков, очередей, множеств, последовательностей: Array, DataMap, List, Sequence, Queue, Steck и т. д. на базе которых построено большое количество дочерних классов, оперирующих простыми типами данных — SequenceOfReal, ArrayOfInteger, ListOfReal, SetOfReal и т. д.;
    • классы векторов и матриц, содержащие вещественные значения и поддерживающие операции сложения, умножения, транспонирования и определения обратных матриц;
    • классы математических операций, позволяющие определять минимум, максимум функции многих переменных, решать системы уравнений и многое другое.

    2) Modeling Data предоставляет описание классов геометрических объектов, а также математические методы для работы с ними. Так, в Modeling Data находятся классы, дающие возможность:

    • создавать 2D-геометрические объекты (линии, окружности, кривые);
    • создавать 3D-геометрические объекты (поверхности, конусы, цилиндры и т. д.);
    • использовать математические методы при создании и анализе геометрических объектов (методы аппроксимации и интерполяции кривых и поверхностей, анализ положения точки на геометрических объектах), основанные на методах описания сплайнами Безье и В-сплайнами;
    • используя большое количество классов, управляющих топологией объектов, создавать составные геометрические объекты любой сложности.
    • Modeling Data можно использовать в приложениях, выполняющих обработку экспериментальных данных, для получения аппроксимируемых кривых и поверхностей, при описании геометрических областей ограничений математических моделей.

    3) Modeling Algorithms содержит классы, с помощью которых можно управлять топологическими геометрическими образами и выполнять над ними операции, такие как:

    • создание топологических объектов из геометрических примитивов;
    • выполнение булевых операций над объектами (объединение, пересечение, вычитание);
    • выполнение операции скругления формы по заданному ребру топологического объекта, а также создание фасок;
    • создание отводов, карманов, бобышек, трубопроводов;
    • создание объектов с сохранением истории построения.

    4) Visualization предназначен для отображения объектов Open CASCADE, построенных на базе классов Modeling Data, и предоставляет готовые алгоритмы для создания графического представления геометрических моделей.

    5) Модуль Open CASCADE Application Framework использует архитектуру «документ-представление» и упрощает разработку приложения благодаря:

    • использованию механизма управления данными как атрибутами моделируемого объекта;
    • хранению атрибутов создаваемого объекта в виде иерархии, при этом информация о взаимном использовании cохраняется;
    • поддержке механизмов многодокументного приложения;
    • чтению и использованию моделей, созданных в других CAD-системах;
    • использованию механизма сохранения и восстановления данных, в том числе и при использовании связей с другими документами;
    • использованию функции Undo-Redo.

    3D моделирование и рендеринг.