Inzichten

sand3D: 3D-assets die je als code kunt lezen en bewerken

sand3D stelt taalmodellen in staat om bewerkbare 3D-assets te maken met behulp van een compacte Python-woordenschat, waarbij Blender's bpy wordt benut voor parametrische modellering.

sand3D: 3D-assets die je als code kunt lezen en bewerken

Hoogtepunten en resultaten

sand3D geeft taalmodellen een compacte woordenschat voor het bouwen van 3D-objecten in Python. Ontwikkeld door Thibault Neveu en Andréa Loy bij Sandflow, zet het programma's via Blender's bpy om in benoemde onderdelen, materialen en gearticuleerde samenstellingen. Als u een afmeting wijzigt en het programma opnieuw uitvoert, wordt het asset opnieuw opgebouwd. De openbare release combineert een modelleerbibliotheek met datasets; er wordt geen zelfstandig getraind tekst-naar-3D-model meegeleverd. Officiële repository.

De vijf datasetkaarten vermelden 66.887 Objaverse-objecten, 24.495 CAD-objecten, 9.209 Articraft-objecten, 2.334 SimReady-objecten en 3.169 AutoMate-records: in totaal 106.094, waaronder 10.456 gearticuleerde objecten. Het aantal van AutoMate omvat 2.297 afzonderlijke onderdelen en 872 samenstellingen. Elk record koppelt uitvoerbare code aan een render en een geëxporteerd OpenUSD-asset. Dit is een verzameling gereconstrueerde bronassets, geen 100.000 nieuw ontworpen mechanismen. Officiële datasets.

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

De tokenvergelijking van de repository gebruikt o200k_base en sluit opmerkingen en docstrings uit. De mediane baseline/sand3D-verhoudingen zijn 4,0× voor door LLM's geschreven Blender-Python voor 30 CAD-onderdelen, 2,3× voor 17 CadQuery-programma's, 6,0× voor 13 FeatureScript-programma's en 2,0× voor 12 Articraft-programma's. Dit zijn kleine, uit verschillende bronnen afkomstige vergelijkingen met samengestelde sand3D-programma's; slechts 9/30 Blender-baselines bouwen het juiste onderdeel, en Articraft vertegenwoordigt ook dynamica. Ze ondersteunen een claim over compactheid, geen universele verbetering van de generat kwaliteit. Evaluatiedetails.

Hoe het werkt

Voor het maken van assets bestaat de workflow uit: de API aan een LLM aanbieden of rechtstreeks Python schrijven; de samenstelling en de parameters ervan beschrijven; afzonderlijke onderdelen bouwen en plaatsen; verbindingen en materialen declareren; het programma in bpy uitvoeren; inspecteren, herzien en exporteren. De API van ongeveer 3.600 tokens past in een prompt. De aanbevolen programma-indeling vermeldt eerst het samenstellingsplan en implementeert daarna elk onderdeel afzonderlijk, zodat afmetingen en plaatsingsrelaties leesbaar blijven. De bewerkbare representatie bestaat uit uitvoerbare geometriecode en een scènehiërarchie; de bibliotheek implementeert geen latente codering of diffusie-denoising. Richtlijnen voor schrijven; API.

De geometriewoordenschat gaat van 2D-profielen naar volumes: rect en circle definiëren doorsneden; extrude, revolve, sweep en loft bouwen volumes; cut, pocket, shell en fillet bewerken ze. Frame-objecten beschrijven positie en oriëntatie, zodat een component op een benoemd vlak of lokaal anker kan worden geplaatst in plaats van met een lange lijst wereldcoördinaten. group behoudt afzonderlijke meshes en materialen onder één bovenliggend object; join voert een fusie uit; assembly voegt benoemde ankers toe aan een gegroepeerde root. Deze onderscheidingen behouden welke stukken bij elkaar horen en welke afzonderlijk bewerkbaar blijven. Implementatie van assembly.

Het voorbeeld van de wasmachine maakt de mechanica concreet: een kast ondersteunt een trommel, een deur met daarin de ring, het glas en de handgreep, een lade en een draaiknop. Nadat deze onderdelen in rust zijn geplaatst, registreert joint de ouder, het draaipunt, de as, het type en het toegestane bereik. De deur draait door 0–143°, de lade schuift 0–200 mm en de trommel en draaiknop draaien continu. pose valideert de aangevraagde waarde en plant transformaties voort via voorwaartse kinematica; de geometrie wordt niet opnieuw gegenereerd. seat verwijdert het volume dat door een ingevoegd onderdeel in rust wordt ingenomen, in plaats van het volledige bewegingsbereik ervan te berekenen. Voorbeeld; Implementatie van joint.

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

De productie van datasets voegt een agentische reconstructielus toe: code schrijven, deze uitvoeren, het resulterende oppervlak vergelijken met een bestaand bronasset en herzien. De auteurs hebben de volledige methode van die pipeline nog niet gepubliceerd. F-scores van datasets gebruiken een tolerantie van 1% van de diagonaal van de bounding box. Acceptatiedrempels zijn 0,70 voor Objaverse en statische SimReady, 0,90 voor CAD en rigide Articraft, en 0,90 per bewegend onderdeel plus correcte verbindingen voor gearticuleerde assets. Dit zijn door de pipeline gerapporteerde kwaliteitsfilters, geen onafhankelijk gemeten testresultaten. Mislukte uitvoering of statische controles sluiten een programma uit. Methodologie van de dataset.

Toepassingen, beschikbaarheid en toekomstige richtingen

De representatie is geschikt voor bewerkbare assetvarianten, interactieve mechanismen en onderzoek naar LLM-gebaseerd 3D-ontwerpen. GLB exporteert de huidige pose, materialen en verbindingsmetadata in node-extras; generieke viewers hebben aanvullende logica nodig om die verbindingen te bedienen. URDF en USDA behouden het mechanisme in rust, waarbij USDA UsdGeom en UsdPhysics gebruikt. OBJ/STL bevatten alleen meshes. Bij het exporteren worden lengtes omgerekend naar meters. Massa-, wrijvings- en actuatieparameters vallen buiten de dynamische beschrijving van de bibliotheek, dus integratie met simulatie vereist nog werk. Exportimplementatie.

De bibliotheek valt onder Apache-2.0; datasetreleases gebruiken CC BY 4.0 en behouden de bronlicentie en naamsvermelding. De huidige dekking concentreert zich op objecten met harde oppervlakken en bij reconstructie kunnen kleine details ontbreken. De auteurs noemen organische vormen als toekomstig werk, met mogelijke toevoegingen zoals impliciete blending, subdivision met control cages, sweeps en lofts met variabele doorsneden, skeletten met skinning en procedurele displacement. Ze beloven ook meer domeinen en een preprint die binnenkort verschijnt; dit blijven plannen. Deze beoordeling onderzocht officiële documentatie en broncode op commit 0d589a5, versie 1.6.2, op 6 november 2026; de benchmarks zijn niet zelfstandig uitgevoerd. Officiële release en beperkingen.

FAQ

Krijg ik door sand3D te installeren een tekst-naar-3D-model?

U installeert een Python-modelleerbibliotheek. Een LLM of een persoon moet programma's schrijven met de API; bpy voert deze uit om de assets te bouwen. De datasets leveren codevoorbeelden, geen zelfstandige getrainde generator. Bron.

Hoe maak ik een asset met een andere afmeting?

Bewerk de afmetingen die door het programma worden blootgesteld en voer het opnieuw uit. Plaatsingsrelaties en benoemde onderdelen maken dergelijke wijzigingen inspecteerbaar. Alleen relaties die daadwerkelijk in het programma zijn gecodeerd, worden automatisch bijgewerkt, dus controleer het opnieuw opgebouwde resultaat. Bron.

Zijn geëxporteerde mechanismen meteen klaar voor fysicasimulatie?

URDF en USDA bevatten de verbindingsstructuur, maar voor simulatie zijn nog dynamische parameters nodig, zoals massa, wrijving en actuatie. GLB slaat verbindingsmetadata op in extras; een toepassing moet deze interpreteren om het mechanisme te animeren. Bron.

Gerelateerde artikelen