Informações

sand3D: Recursos 3D que Pode Ler e Editar como Código

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

sand3D: Recursos 3D que Pode Ler e Editar como Código

Destaques e resultados

A sand3D fornece aos modelos de linguagem um vocabulário compacto para criar objetos 3D em Python. Desenvolvida por Thibault Neveu e Andréa Loy na Sandflow, transforma programas em peças, materiais e conjuntos articulados nomeados através do bpy do Blender. Alterar uma dimensão e voltar a executar o programa reconstrói o recurso. O lançamento público combina uma biblioteca de modelação com conjuntos de dados; não fornece um modelo autónomo de texto para 3D treinado. Repositório oficial.

Os cinco cartões de conjuntos de dados listam 66,887 objetos Objaverse, 24,495 objetos CAD, 9,209 objetos Articraft, 2,334 objetos SimReady e 3,169 registos AutoMate: 106,094 no total, incluindo 10,456 objetos articulados. A contagem do AutoMate inclui 2,297 peças individuais e 872 conjuntos. Cada registo associa código executável a uma renderização e a um recurso OpenUSD exportado. Trata-se de uma coleção de recursos de origem reconstruídos, não de 100,000 mecanismos recém-concebidos. 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 utiliza o o200k_base e exclui comentários e cadeias de documentação. As medianas dos rácios baseline/sand3D são 4.0× para Python do Blender escrito por LLM em 30 peças CAD, 2.3× para 17 programas CadQuery, 6.0× para 13 programas FeatureScript e 2.0× para 12 programas Articraft. Estas são comparações pequenas e 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âmicas. Sustentam uma afirmação de compactação, não uma melhoria universal da 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 os seus parâmetros; construir e posicionar peças individuais; declarar articulações e materiais; executar o programa no bpy; inspecionar, rever e exportar. A API, com cerca de 3,600 tokens, cabe num prompt. A disposição de programa recomendada apresenta 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 é 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 secções; extrude, revolve, sweep e loft constroem volumes; cut, pocket, shell e fillet editam-nos. Os objetos Frame descrevem a posição e a orientação, pelo que um componente pode ser colocado numa face nomeada ou numa âncora local, em vez de numa longa lista de coordenadas globais. group mantém malhas e materiais separados sob um único elemento-pai; join executa uma fusão; assembly adiciona âncoras nomeadas a uma raiz agrupada. Estas distinções preservam quais as peças que pertencem juntas e quais permanecem editáveis separadamente. Implementação de assembly.

O exemplo da máquina de lavar torna a mecânica concreta: um armário suporta um tambor, uma porta que contém o seu aro, vidro e pega, uma gaveta e um botão. Depois de colocar estas peças em repouso, joint regista o elemento-pai, o pivô, o eixo, o tipo e o intervalo permitido. A porta roda entre 0–143°, a gaveta desliza 0–200 mm e o tambor e o botão rodam continuamente. pose valida o valor solicitado e propaga as transformações através 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 acrescenta um ciclo de reconstrução agentivo: escrever código, executá-lo, comparar a superfície resultante com um recurso de origem existente e rever. Os autores ainda não publicaram o método completo desse pipeline. Os F-scores dos conjuntos de dados utilizam uma tolerância de 1% da diagonal da caixa delimitadora. Os limiares 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, mais articulações corretas, para recursos articulados. Estes são filtros de qualidade comunicados pelo pipeline, não resultados de teste medidos de forma independente. Uma execução falhada ou verificações estáticas falhadas excluem um programa. Metodologia do conjunto de dados.

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

A representação é adequada para variantes de recursos editáveis, mecanismos interativos e investigação sobre autoria 3D baseada em LLM. O GLB exporta a pose atual, os materiais e os metadados das articulações nos extras dos nós; os visualizadores genéricos precisam de lógica adicional para operar essas articulações. URDF e USDA preservam o mecanismo em repouso, sendo que o USDA utiliza UsdGeom e UsdPhysics. OBJ/STL transportam apenas malhas. A exportação converte as dimensões para metros. Os parâmetros de massa, fricção e atuação permanecem fora da descrição de dinâmicas da biblioteca, pelo que a integração com simulação ainda requer trabalho. Implementação da exportação.

A biblioteca utiliza a licença Apache-2.0; os lançamentos dos conjuntos de dados utilizam CC BY 4.0, mantendo as licenças e atribuições das fontes. A cobertura atual centra-se em objetos de superfícies rígidas, e a reconstrução pode omitir pequenos detalhes. Os autores identificam as formas orgânicas como trabalho futuro, com possíveis adições que incluem mistura implícita, subdivisão de gaiolas de controlo, sweeps e lofts de secção variável, esqueletos com skinning e deslocamento procedural. Prometem também mais domínios e um preprint futuro; estes continuam a ser planos. Esta análise examinou a documentação oficial e o código-fonte na confirmação 0d589a5, versão 1.6.2, em 6 de novembro de 2026; não executou os benchmarks de forma independente. Lançamento oficial e limitações.

FAQ

A instalação da sand3D fornece-me um modelo de texto para 3D?

Instala uma biblioteca de modelação Python. Um LLM ou uma pessoa tem de escrever programas utilizando a sua API; o bpy executa-os para construir os recursos. Os conjuntos de dados fornecem exemplos de código, não um gerador autónomo treinado. Fonte.

Como criaria um recurso com um tamanho diferente?

Edite as dimensões expostas pelo programa e volte a executá-lo. As relações de posicionamento e as peças nomeadas tornam essas alterações inspecionáveis. Apenas as relações efetivamente codificadas no programa são atualizadas automaticamente, pelo que deve verificar o resultado reconstruído. Fonte.

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

URDF e USDA transportam a estrutura das articulações, mas a simulação ainda precisa de parâmetros dinâmicos, como massa, fricção e atuação. O GLB armazena os metadados das articulações nos extras; uma aplicação tem de os interpretar para animar o mecanismo. Fonte.

Artigos relacionados