Insights

sand3D: Recursos 3D que você pode ler e editar como código

sand3D capacita modelos de linguagem a criar ativos 3D editáveis usando um vocabulário compacto de Python, aproveitando o bpy do Blender para modelagem paramétrica.

sand3D: Recursos 3D que você pode ler e editar como código

Destaques e resultados

sand3D oferece aos modelos de linguagem um vocabulário compacto para construir objetos 3D em Python. Desenvolvido por Thibault Neveu e Andréa Loy na Sandflow, ele transforma programas em peças nomeadas, materiais e conjuntos articulados por meio do bpy do Blender. Alterar uma dimensão e executar o programa novamente reconstrói o ativo. O lançamento público combina uma biblioteca de modelagem com conjuntos de dados; ele não fornece um modelo de texto para 3D treinado e independente. Repositório oficial.

Os cinco cartões de conjuntos de dados listam 66.887 objetos do Objaverse, 24.495 objetos CAD, 9.209 objetos do Articraft, 2.334 objetos do SimReady e 3.169 registros do AutoMate: 106.094 ao todo, incluindo 10.456 objetos articulados. A contagem do AutoMate inclui 2.297 peças individuais e 872 conjuntos. Cada registro associa código executável a uma renderização e a um ativo OpenUSD exportado. Trata-se de uma coleção de ativos de origem reconstruídos, não de 100.000 mecanismos recém-projetados. Conjuntos de dados oficiais.

https://external-v2fun-data-hk-1.oss-accelerate.aliyuncs.com/temp/2026/11/10/1_1794295500887.PNG

A comparação de tokens do repositório usa o o200k_base e exclui comentários e docstrings. As medianas das proporções baseline/sand3D são de 4,0× para Python do Blender escrito por LLMs em 30 peças CAD, 2,3× para 17 programas CadQuery, 6,0× para 13 programas FeatureScript e 2,0× para 12 programas Articraft. Essas são comparações pequenas, de fontes diferentes, com programas sand3D selecionados; apenas 9/30 baselines do Blender constroem a peça correta, e o Articraft também representa dinâmica. Elas sustentam uma afirmação de compactação, não uma melhoria universal na qualidade de geração. Detalhes da avaliação.

Como funciona

Para autoria, o fluxo de trabalho é: fornecer a API a um LLM ou escrever Python diretamente; descrever o conjunto e seus parâmetros; construir e posicionar peças individuais; declarar juntas e materiais; executar o programa no bpy; inspecionar, revisar e exportar. A API de aproximadamente 3.600 tokens cabe em um prompt. O layout de programa recomendado declara primeiro o plano do conjunto e, em seguida, implementa cada peça separadamente, mantendo legíveis as dimensões e as relações de posicionamento. A representação editável é um código de geometria executável e uma hierarquia de cena; a biblioteca não implementa codificação latente nem remoção de ruído por difusão. Diretrizes de escrita; API.

O vocabulário de geometria vai de perfis 2D a sólidos: rect e circle definem seções; extrude, revolve, sweep e loft constroem volumes; cut, pocket, shell e fillet os editam. Objetos Frame descrevem posição e orientação, portanto um componente pode ser posicionado em uma face nomeada ou em uma âncora local, em vez de usar uma longa lista de coordenadas do mundo. group preserva malhas e materiais separados sob um único pai; join realiza uma fusão; assembly adiciona âncoras nomeadas a uma raiz agrupada. Essas distinções preservam quais peças pertencem juntas e quais continuam editáveis separadamente. Implementação de assembly.

O exemplo da máquina de lavar torna a mecânica concreta: um gabinete sustenta um tambor, uma porta contendo seu aro, vidro e maçaneta, uma gaveta e um seletor. Depois de posicionar essas peças em repouso, joint registra o pai, o pivô, o eixo, o tipo e o intervalo permitido. A porta gira de 0–143°, a gaveta desliza 0–200 mm, e o tambor e o seletor giram continuamente. pose valida o valor solicitado e propaga as transformações por meio da cinemática direta; não regenera a geometria. seat remove o volume ocupado por uma peça inserida em repouso, em vez de calcular todo o seu envelope de movimento. Exemplo; Implementação de Joint.

https://external-v2fun-data-hk-1.oss-accelerate.aliyuncs.com/temp/2026/11/10/2_1794295546294.PNG

A produção dos conjuntos de dados adiciona um ciclo de reconstrução agêntico: escrever o código, executá-lo, comparar a superfície resultante com um ativo de origem existente e revisar. Os autores ainda não publicaram o método completo desse pipeline. Os F-scores dos conjuntos de dados usam uma tolerância de 1% da diagonal da caixa delimitadora. Os limites de aceitação são 0,70 para Objaverse e SimReady estático, 0,90 para CAD e Articraft rígido, e 0,90 por peça móvel, além de juntas corretas, para ativos articulados. Esses são filtros de qualidade reportados pelo pipeline, não resultados de teste medidos de forma independente. Falhas de execução ou verificações estáticas excluem um programa. Metodologia do conjunto de dados.

Aplicações, disponibilidade e direções futuras

A representação é adequada para variantes de ativos editáveis, mecanismos interativos e pesquisas sobre autoria 3D baseada em LLM. GLB exporta a pose atual, os materiais e os metadados das juntas em extras dos nós; visualizadores genéricos precisam de lógica adicional para operar essas juntas. URDF e USDA preservam o mecanismo em repouso, com o USDA usando UsdGeom e UsdPhysics. OBJ/STL carregam apenas malhas. A exportação converte as escalas de comprimento para metros. Os parâmetros de massa, atrito e atuação permanecem fora da descrição de dinâmica da biblioteca, portanto a integração com simulação ainda exige trabalho. Implementação da exportação.

A biblioteca usa Apache-2.0; os lançamentos dos conjuntos de dados usam CC BY 4.0, mantendo o licenciamento e a atribuição das fontes. A cobertura atual se concentra em objetos de superfície rígida, e a reconstrução pode omitir pequenos detalhes. Os autores identificam formas orgânicas como trabalho futuro, com possíveis adições que incluem mesclagem implícita, subdivisão de gaiola de controle, sweeps e lofts de seção variável, esqueletos com skinning e deslocamento procedural. Eles também prometem mais domínios e um preprint futuro; isso continua sendo apenas um plano. Esta análise examinou a documentação oficial e o código-fonte no commit 0d589a5, versão 1.6.2, em 6 de novembro de 2026; ela não executou os benchmarks de forma independente. Lançamento oficial e limitações.

Perguntas frequentes

Instalar o sand3D me fornece um modelo de texto para 3D?

Ele instala uma biblioteca de modelagem em Python. Um LLM ou uma pessoa precisa escrever programas usando sua API; o bpy os executa para construir os ativos. Os conjuntos de dados fornecem exemplos de código, não um gerador treinado independente. Fonte.

Como eu criaria um ativo de tamanho diferente?

Edite as dimensões expostas pelo programa e execute-o novamente. As relações de posicionamento e as peças nomeadas tornam essas alterações inspecionáveis. Apenas as relações realmente codificadas no programa são atualizadas automaticamente, portanto verifique o resultado reconstruído. Fonte.

Os mecanismos exportados estão imediatamente prontos para simulação física?

URDF e USDA carregam a estrutura das juntas, mas a simulação ainda precisa de parâmetros de dinâmica, como massa, atrito e atuação. GLB armazena os metadados das juntas em extras; um aplicativo precisa interpretá-los para animar o mecanismo. Fonte.

Artigos relacionados