Sobre o projeto
vCAD é um aplicativo de Computer-Aided Design (CAD) paramétrico, multiplataforma e de código aberto, projetado com uma arquitetura "kernel-first". O projeto tem como objetivo fornecer um núcleo robusto capaz de suportar múltiplos frontends, incluindo um aplicativo desktop completo para Windows, macOS e Linux, bem como um cliente especializado para iPadOS focado em impressão 3D.
O software utiliza OpenCASCADE Technology (OCCT) como kernel geométrico e usa bgfx para renderização. A interface do usuário da versão desktop é construída com Qt 6.8 LTS. Uma característica arquitetural fundamental é o sistema de camadas estrito imposto por scripts de build, garantindo que o kernel central permaneça independente de frameworks de UI como Qt ou SwiftUI. Esse design permite que o mesmo núcleo seja compilado para diferentes plataformas sem problemas de compatibilidade.
Os principais recursos incluem:
- **Modelagem Paramétrica**: Suporta esboços, recursos e restrições paramétricas.
- **Nomenclatura Topológica**: Implementa estratégias avançadas de nomenclatura topológica para manter a integridade do modelo durante edições.
- **Gerenciamento de Documentos**: Apresenta uma estrutura de documento persistente com histórico livre de desfazer/refazer e um mecanismo de recomputação.
- **Cache de Dados**: Utiliza um cache de dois níveis sobre o Document Data Cache (DDC) do assetlib para gerenciamento eficiente de dados.
- **Intercâmbio de Arquivos**: Suporta formatos padrão da indústria, incluindo STEP, IGES e STL.
- **Extensibilidade**: Fornece uma Application Binary Interface (ABI) estável em C e bindings Python para scripting e desenvolvimento de plugins.
O projeto está atualmente em desenvolvimento ativo, com os Marcos M1 (wrapper do kernel e nomenclatura topológica) e M2 (gerenciamento de documentos, DDC e I/O de arquivos) marcados como concluídos. O Marco M3, focado no renderizador e no shell Qt, está em andamento. A base de código inclui testes abrangentes em cinco níveis, incluindo testes unitários em C++, testes de aceitação em Rust via ABI C e testes de bindings Python.
A compilação do vCAD requer CMake 3.24+, um checkout do vcpkg para dependências e, opcionalmente, pybind11 para bindings Python. O projeto enfatiza gerenciamento rigoroso de dependências e fixação de versões para garantir estabilidade em diferentes sistemas operacionais.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.