Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия, Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
Интересует как правильно спроектировать архитектуру подсистемы для геометрического моделирования трехмерных объектов (в основном это здания). Интересует как вообще представляется/хранится геометрия моделей внутри популярных CAD&CAE систем с использованием объектно-ориентированного подхода. Конкретно из каких геометрических сущностей состоит типичная трехмерная модель? Как можно представить их(сущности) в виде иерархического дерева (Entity Class->Edge class, Curve class etc.)? Как устанавливается зависимость геометрии от сетки КЭ, наложенной на неё(геометрию) и от визуализатора? Только не надо меня посылать к тяжеловесным OpenSource CAD движкам (таким как например OpenCascade,Salome смотрел без поллитра не разобратся). Как все это правильно и красиво спроектировать, максимально ослабив связь между геометрией, сеткой КЭ и визуализацией. Какие ОО-патерны можно здесь применить? Есть ли где -нибудь легкий и простой 3D CAD Modeler по совместительству FEMesher с красивой и прозрачной объектно-ориентированной внутренней архитектурой, у которого можно было бы подсмотреть её и использовать в своем проекте. Кто уже занимался чем-то подобным прошу вас откликнутся. Очень нужно. Спасибо.
bin
Re: Разработка архитектуры геометрического CAD движка
04.05.2010, 15:02
Чтобы дать полезный совет, нужно знать, программа какой категории требуется. Одно дело, если речь идет об "игрушке" - другое, если о серьезной проф. программе для проектирования зданий и городов. Из общих соображений я бы посоветовал поискать в сетке что-нибуть подобное для OpenGL. Литературы про эту библиотеку очень много. Тут выбор стоит делать, отталкиваясь от любимого языка программирования, на котором будет осуществляться проект. Поиск можно начать со статьи в Википедии OpenGL: там много ссылок. Еще полезной для старта может оказаться статья Цифровой морфогенез (http://ru.wikipedia.org/wiki/Цифровой_морфогенез).
vitaly333
Re: Разработка архитектуры геометрического CAD движка
04.05.2010, 16:59
Речь идет о программе для автоматизированного проектирования зданий и сооружений. На данном этапе она должна уметь:
1.создавать геометрические объекты (во основном это пространственные модели зданий) различных типов: - каркасные(проволочные) (объекты составленные из точек и линий); - поверхностные (различные виды поверхностей,криволинейные, Nurbs и.т.д.); - гибридные (каркас+поверхности); - твердотельные.
2.По заданной геометрии генерировать сетку для поверхностей(триангуляция) и твердых тел. 3. Предоставлять возможность интерактивного редактирование этих объектов с помощью мыши и специальных инструментов; 4. Эффективно визуализировать их геометрию с помощью различных графических API (OpenGL,D3D и др.).
Сейчас меня интересует только 1. Как правильно спроектировать структуру классов Point,Line,Curve,Face,SurFace,Nurb,Spline,Volume и.т.д.
.Serj.
Re: Разработка архитектуры геометрического CAD движка
Re: Разработка архитектуры геометрического CAD движка
04.05.2010, 21:30
Задачи поставлены не игрушечные! Может, проще все же запастись пол-литром и посмотреть тяжеловесов? А если хочется только предварительно разобраться на уровне "Hello world" - так это можно и по игрушкам: см., например, открытые коды движка Quake
.Serj.
Re: Разработка архитектуры геометрического CAD движка
05.05.2010, 07:39
Цитата:
Может, проще все же запастись пол-литром и посмотреть тяжеловесов?
И у кого же из тяжеловесов исходники открыты? Кстати, для построения CAD/CAM/CAE можно использовать http://www.opencascade.org/
bin
Re: Разработка архитектуры геометрического CAD движка
Comparison of CAD editors for AEC (architecture, engineering and construction) Comparison of CAD editors for CAM (computer-aided manufacturing) Comparison of CAD editors for CAE (Computer Aided Engineering) Comparison of Free EDA software (Electronic Design Automation) 3D computer graphics software Comparison of 3D computer graphics software