2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Разработка архитектуры геометрического CAD движка
Сообщение04.05.2010, 14:30 
Здравствуйте,

Интересует как правильно спроектировать архитектуру подсистемы для геометрического моделирования трехмерных объектов (в основном это здания). Интересует как вообще представляется/хранится геометрия моделей внутри популярных CAD&CAE систем с использованием объектно-ориентированного подхода. Конкретно из каких геометрических сущностей состоит типичная трехмерная модель? Как можно представить их(сущности) в виде иерархического дерева (Entity Class->Edge class, Curve class etc.)? Как устанавливается зависимость геометрии от сетки КЭ, наложенной на неё(геометрию) и от визуализатора? Только не надо меня посылать к тяжеловесным OpenSource CAD движкам (таким как например OpenCascade,Salome смотрел без поллитра не разобратся). Как все это правильно и красиво спроектировать, максимально ослабив связь между геометрией, сеткой КЭ и визуализацией. Какие ОО-патерны можно здесь применить?
Есть ли где -нибудь легкий и простой 3D CAD Modeler по совместительству FEMesher с красивой и прозрачной объектно-ориентированной внутренней архитектурой, у которого можно было бы подсмотреть её и использовать в своем проекте. Кто уже занимался чем-то подобным прошу вас откликнутся. Очень нужно. Спасибо.

 
 
 
 Re: Разработка архитектуры геометрического CAD движка
Сообщение04.05.2010, 15:02 
Аватара пользователя
Чтобы дать полезный совет, нужно знать, программа какой категории требуется. Одно дело, если речь идет об "игрушке" - другое, если о серьезной проф. программе для проектирования зданий и городов. Из общих соображений я бы посоветовал поискать в сетке что-нибуть подобное для OpenGL. Литературы про эту библиотеку очень много. Тут выбор стоит делать, отталкиваясь от любимого языка программирования, на котором будет осуществляться проект. Поиск можно начать со статьи в Википедии OpenGL: там много ссылок. Еще полезной для старта может оказаться статья Цифровой морфогенез (http://ru.wikipedia.org/wiki/Цифровой_морфогенез).

 
 
 
 Re: Разработка архитектуры геометрического CAD движка
Сообщение04.05.2010, 16:59 
Речь идет о программе для автоматизированного проектирования зданий и сооружений.
На данном этапе она должна уметь:

1.создавать геометрические объекты (во основном это пространственные модели зданий) различных типов:
- каркасные(проволочные) (объекты составленные из точек и линий);
- поверхностные (различные виды поверхностей,криволинейные, Nurbs и.т.д.);
- гибридные (каркас+поверхности);
- твердотельные.

2.По заданной геометрии генерировать сетку для поверхностей(триангуляция) и твердых тел.
3. Предоставлять возможность интерактивного редактирование этих объектов с помощью мыши и специальных инструментов;
4. Эффективно визуализировать их геометрию с помощью различных графических API (OpenGL,D3D и др.).

Сейчас меня интересует только 1. Как правильно спроектировать структуру классов Point,Line,Curve,Face,SurFace,Nurb,Spline,Volume и.т.д.

 
 
 
 Re: Разработка архитектуры геометрического CAD движка
Сообщение04.05.2010, 17:47 
Аватара пользователя
Цитата:
Сейчас меня интересует только 1.

Можно глянуть исходники Blender, например.

 
 
 
 Re: Разработка архитектуры геометрического CAD движка
Сообщение04.05.2010, 21:30 
Аватара пользователя
Задачи поставлены не игрушечные!
Может, проще все же запастись пол-литром и посмотреть тяжеловесов? ;-) А если хочется только предварительно разобраться на уровне "Hello world" - так это можно и по игрушкам: см., например, открытые коды движка Quake ;-)

 
 
 
 Re: Разработка архитектуры геометрического CAD движка
Сообщение05.05.2010, 07:39 
Аватара пользователя
Цитата:
Может, проще все же запастись пол-литром и посмотреть тяжеловесов?

И у кого же из тяжеловесов исходники открыты? Кстати, для построения CAD/CAM/CAE можно использовать http://www.opencascade.org/

 
 
 
 Re: Разработка архитектуры геометрического CAD движка
Сообщение05.05.2010, 11:25 
Аватара пользователя
http://en.wikipedia.org/wiki/CAD#See_also:

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

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group