Repolode
Sandflow-ai

Sandflow-ai/sand3d

Biblioteca Python para descrever objetos 3D em programas curtos com partes nomeadas sobre o bpy do Blender, pensada para geração por LLMs.

Estrelas
1,009
Forks
114
Issues abertas
2
Último commit
ontem

O que é?

sand3d permite descrever um objeto 3D como um programa Python curto, composto por perfis, sólidos, edições, frames, juntas e montagens, executado sobre o módulo bpy do Blender. Partes, arestas e faces são referenciadas pelo nome, em vez de usar coordenadas calculadas manualmente, e o mesmo programa sempre produz a mesma malha.

A biblioteca exporta para GLB, URDF, USDA, OBJ e STL com uma única chamada de exportação; as variantes USD são geradas pelas próprias ferramentas do USD. Juntas com limites (hinge, slide, continuous) são preservadas nos formatos exportados, permitindo descrever e exportar diretamente objetos articulados, como uma máquina de lavar com porta e gaveta móveis.

A documentação do projeto inclui uma referência compacta da API, com cerca de 3.600 tokens, feita para uso em um system prompt de LLM, além de diretrizes para montagens com várias partes. Vários datasets abertos de programas sand3d, derivados de fontes como Objaverse, modelos CAD e NVIDIA SimReady, estão publicados no Hugging Face sob CC BY 4.0.

Recursos principais

  • 01Cria objetos com perfis, sólidos, edições e frames nomeados, em vez de coordenadas brutas.
  • 02Define juntas com tipo, eixo e intervalo para objetos articulados.
  • 03Exporta para GLB, URDF, USDA, OBJ e STL com uma única chamada.
  • 04Inclui uma referência compacta da API dimensionada para system prompts de LLM.
  • 05Gera malhas determinísticas a partir do mesmo programa.

Casos de uso

  • Usar um LLM para gerar peças 3D paramétricas a partir de programas curtos em texto.
  • Criar objetos articulados com juntas para exportação para robótica ou simulações físicas, como URDF.
  • Exportar modelos criados proceduralmente para GLB ou USD, para visualizadores e pipelines do Omniverse.
  • Criar um dataset de programas 3D legíveis para treinar ou avaliar modelos.

Início rápido

  1. 1

    Instale sand3d com pip (requer Python 3.13 ou 3.11).

    pip install sand3d
  2. 2

    Escreva um programa usando a API do sand3d e exporte-o para GLB, URDF, USDA, OBJ ou STL com s3d.export.

Antes de usar

  • Não há wheel do bpy para Python 3.12 e, a partir do bpy 5.2, também não há para Macs com processador Intel; por isso, essas configurações precisam usar Python 3.11.
  • O Blender vem incluído na instalação como o módulo bpy, o que torna a dependência pesada.

Em coleções

Tópicos

Perguntas frequentes

O que é sand3d?
Biblioteca Python para descrever objetos 3D em programas curtos com partes nomeadas sobre o bpy do Blender, pensada para geração por LLMs. sand3d permite descrever um objeto 3D como um programa Python curto, composto por perfis, sólidos, edições, frames, juntas e montagens, executado sobre o módulo bpy do Blender. Partes, arestas e faces são referenciadas pelo nome, em vez de usar coordenadas calculadas manualmente, e o mesmo programa sempre produz a mesma malha.
sand3d é gratuito? Qual é a licença?
sand3d é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
sand3d ainda é mantido?
Manutenção ativa. O último commit de sand3d foi em 6 de nov. de 2026.
Para que posso usar sand3d?
Usar um LLM para gerar peças 3D paramétricas a partir de programas curtos em texto. Criar objetos articulados com juntas para exportação para robótica ou simulações físicas, como URDF. Exportar modelos criados proceduralmente para GLB ou USD, para visualizadores e pipelines do Omniverse. Criar um dataset de programas 3D legíveis para treinar ou avaliar modelos.
Como instalar sand3d?
Instale sand3d com pip (requer Python 3.13 ou 3.11).: pip install sand3d Escreva um programa usando a API do sand3d e exporte-o para GLB, URDF, USDA, OBJ ou STL com s3d.export.
Onde consigo sand3d?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Sandflow-ai/sand3d

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados