После некоторого опыта работы с SolidWorks, Solid Edge, Pro/Engineer, Unigraphics и CATIA решил написать что-то своё (точнее начал с разработки твердотельного ядра) =) Основные причины - глючность той же CATIA, отсутствие ее для Линуха, отсутствие нормального открытого 3D пакета, кривизну CATIA (например единственный макроязык в ней - MS VBA - так что без комментариев, причем из него доступен минимум функций самой кати), и т.д. и т.п.
Язык Ада-2005 был выбран по следующим основным соображениям: 1) Скорость 2) Надежность - т.к. нету 10 тысяч сотрудников для отладки этого в случае юзания ц/ц++ 3) Понятность - т.к. строкам типа type Drawing_Mode_Type is (Fastest, Nicest, Dont_Care) вряд ли нужны комментарии 4) Достаточное количество библиотек.
Планы на будущее - сейчас написать бинарные операции и сделать хороший алгоритм оптимизации сетки, потом - добавить поддержку VRML (X3D), STEP, добавить поверхностное и гибридное моделирование, добавить возможность распределенной разработки через PostgreSQL (тк эта имхо замечательная СУБД имеет схемы и привязку к Аде), приделать интерфейс к Python'у (в принципе привязка Python-Ada уже есть - выдрана из gps и немного дополнена ;)), а также многое другое ;)
Уже реализовано: выстроена базовая иерархия классов, написана небольшая обертка поверх api gl'я, более-менее нормальный trackball (вращалка) наподобие autocad'овской, простенькая векторная математика, настраиваемые (generic) сетки, чтение LWO и STL, ... Итого 2200 строк кода...
Так что последние несколько месяцев сижу примерно в такой обстановке...
P.S. Система Debian testing/unstable (скорее второе чем первое), карта Radeon (forever), в трее как обычно Gaim (тк licq накрылся), gtk-mra, stardict. DE - глючный гном 2.10 (жду-недождуть 2.12 в unstable...). Венда отсутствует (нелюблю хранить говно на компе). Да, кстати, это мой первый скрин на ЛОРе так что если не будите сильно пинать может будет и второй %)
>>> Просмотр (1280x1024, 296 Kb)