Modelagem sólida com NURBS chega ao ecossistema OpenUSD em nova biblioteca da NVIDIA
A NVIDIA disponibilizou uma biblioteca aberta para manipular sólidos paramétricos com integração direta a fluxos industriais baseados em USD.
Edição: Anderson Gomes
· 4 min de leitura

A organização NVIDIA-Omniverse lançou a biblioteca USD BRep, uma solução voltada para modelagem sólida baseada em representação por bordas (BRep, ou Boundary Representation) com superfícies NURBS (Non-Uniform Rational B-Splines). O projeto ganhou visibilidade rápida entre desenvolvedores e alcançou destaque em rankings diários de código aberto após disponibilizar sua primeira versão estável. O objetivo central é fornecer uma implementação independente em C++ e Python capaz de integrar modelos geométricos exatos diretamente no formato Universal Scene Description (USD).
Dados rápidos
- Repositório: NVIDIA-Omniverse/usd-brep
- Licença: Apache-2.0 (com utilitários específicos sob licença MIT)
- Linguagem principal: C++
- Métricas: 732 estrelas (295 no período recente) e 60 forks
- Posição no ranking: 7º lugar diário no Trendshift
- Data da consulta: 2026-10-13
O desafio geométrico na computação gráfica
A descrição tradicional de cenas 3D no padrão OpenUSD foca frequentemente em malhas poligonais, que aproximam formas contínuas por meio de triângulos ou quadriláteros. Na engenharia mecânica e no design industrial, os objetos utilizam representações BRep com NURBS, definindo curvas matematicamente exatas para manter precisão milimétrica em superfícies curvas complexas.
Sem uma estrutura nativa para intermediar essas duas abordagens, arquivos industriais exigiam conversões prévias que descartavam a parametrização original ou geravam arquivos excessivamente pesados. Essa perda impedia alterações dimensionais precisas em etapas posteriores da cadeia de desenvolvimento.
A proposta da nova biblioteca é preencher essa lacuna oferecendo uma base autônoma capaz de carregar, interpretar e tratar primitivas geométricas paramétricas sem depender do ecossistema completo do Omniverse durante a compilação local de seus componentes fundamentais.
Como funciona a arquitetura e compilação
O projeto estrutura-se como um núcleo compilável em C++ acompanhado de ligações completas em Python geradas via pybind11. A preparação de recursos exige uma etapa preliminar de configuração para registrar os esquemas de dados da biblioteca antes da chamada aos scripts principais de compilação.
Para preparar o ambiente em sistemas Linux, o processo básico envolve a instalação de ferramentas essenciais do sistema operacional e a execução dos scripts fornecidos na raiz:
sudo apt-get install build-essential
./prebuild.sh
./repo.sh build
O script inicial posiciona o plugin de esquema omniSolid no diretório de compilação, elemento indispensável para o carregamento dos recursos por utilitários USD em tempo de execução. O gerenciador Packman cuida automaticamente do download de bibliotecas secundárias como OpenUSD, Python 3.12 e o gerador de projetos premake.
Casos práticos de uso
- Correção e reparo de arquivos USD: a função usd.heal_file analisa definições corrompidas de BrepArray em camadas existentes, reescrevendo a cena reparada enquanto preserva materiais, instâncias nativas e transformações espaciais.
- Visualização e inspeção de sólidos: o repositório inclui uma interface gráfica em Python executada pelo comando uv run --locked --group gui python tools/scripts/smlib_gui.py, permitindo inspecionar o comportamento do núcleo geométrico.
- Intercâmbio de dados de engenharia: desenvolvedores podem transportar montagens mecânicas originárias de arquivos STEP, IGES ou JT diretamente para estruturas compatíveis com OpenUSD.
- Execução de testes automatizados de geometria: o conjunto de utilitários disponibiliza baterias de testes em C++ e scripts de validação de software para garantir a integridade de rotinas volumétricas.
O que diferencia a ferramenta
A biblioteca não exige a instalação do pacote completo da plataforma proprietária Omniverse para operar em nível de código. Seu núcleo foi concebido como código desacoplado, o que reduz custos operacionais de integração em pipelines industriais preexistentes.
A preservação de variantes e referências hierárquicas durante o processo de tratamento de geometrias evita a perda de materiais atribuídos aos sólidos. Essa retenção técnica reduz retrabalho manual de artistas técnicos e engenheiros de computação visual.
Limitações e cuidados técnicos
O projeto foi criado em 2026-10-08 e recebeu sua versão v1.0.0 no dia seguinte, indicando um histórico público muito recente que exige cautela em ambientes de produção crítica. No momento verificado, a base registrava 3 issues abertas e nenhum tópico oficial cadastrado no repositório.
Outro ponto determinante é que o repositório afirma explicitamente não aceitar contribuições externas de código pela comunidade no momento, restringindo o envio de alterações a relatos de bugs e relatórios de segurança. No ambiente Windows, a compilação requer versões específicas de ferramentas como o compilador MSVC v142 e o Windows SDK instalados localmente. Já no macOS, a compilação limita-se a processadores Apple Silicon e opera por padrão com suporte reduzido, sem empacotamento completo de OpenUSD e bibliotecas OCCT.
Resumo rápido
- Projeto: NVIDIA-Omniverse/usd-brep
- Licença: Apache-2.0
- Linguagem: C++
- Estrelas: 732
- Ranking: 7º diário no Trendshift
- Risco principal: Código recente que não aceita contribuições externas e exige cadeia estrita de compilação
Fontes
- Repositório no GitHub: https://github.com/NVIDIA-Omniverse/usd-brep
- Release v1.0.0: https://github.com/NVIDIA-Omniverse/usd-brep/releases/tag/v1.0.0
- Documentação oficial: https://nvidia-omniverse.github.io/usd-brep
- Trendshift: https://trendshift.io/repositories/NVIDIA-Omniverse/usd-brep
- C++
- Apache-2.0
- Repositórios em Alta
- Trendshift
Alternativa aberta para monitorar ações ganha tração com pilha moderna
Plataforma gratuita desenvolvida pela comunidade oferece acompanhamento de ativos e alertas personalizados sem custos de assinaturas fechadas.
· 4 min de leitura
Ambiente de desktop independente organiza agentes de inteligência artificial
O projeto cria um espaço visual dedicado para orquestrar agentes e modelos sem prender a rotina a editores de código fechados.
· 5 min de leitura


Armazenamento distribuído em Go ganha tração com acesso O(1) e S3 nativo
· 4 min de leitura