sand3D: 3D एसेट्स जिन्हें आप कोड के रूप में पढ़ और संपादित कर सकते हैं
sand3D भाषा मॉडलों को एक संक्षिप्त Python शब्दावली का उपयोग करके संपादन योग्य 3D एसेट बनाने में सक्षम बनाता है, और पैरामीट्रिक मॉडलिंग के लिए Blender के bpy का लाभ उठाता है।

मुख्य बातें और परिणाम
sand3D, Python में 3D ऑब्जेक्ट बनाने के लिए भाषा मॉडलों को एक संक्षिप्त शब्दावली प्रदान करता है। Sandflow में Thibault Neveu और Andréa Loy द्वारा विकसित, यह Blender के bpy के माध्यम से प्रोग्रामों को नामित भागों, सामग्रियों और आर्टिकुलेटेड असेंबली में बदलता है। किसी आयाम को बदलकर प्रोग्राम फिर से चलाने पर एसेट दोबारा बनाया जाता है। सार्वजनिक रिलीज़ में एक मॉडलिंग लाइब्रेरी और डेटासेट शामिल हैं; यह स्वतंत्र रूप से प्रशिक्षित text-to-3D मॉडल उपलब्ध नहीं कराता। आधिकारिक रिपॉज़िटरी।
पाँच डेटासेट कार्ड में 66,887 Objaverse ऑब्जेक्ट, 24,495 CAD ऑब्जेक्ट, 9,209 Articraft ऑब्जेक्ट, 2,334 SimReady ऑब्जेक्ट और 3,169 AutoMate रिकॉर्ड सूचीबद्ध हैं: कुल 106,094, जिनमें 10,456 आर्टिकुलेटेड ऑब्जेक्ट हैं। AutoMate की संख्या में 2,297 अलग-अलग भाग और 872 असेंबली शामिल हैं। प्रत्येक रिकॉर्ड में निष्पादन योग्य कोड, एक रेंडर और निर्यात किया गया OpenUSD एसेट होता है। यह पुनर्निर्मित स्रोत एसेट का संग्रह है, न कि नए डिज़ाइन किए गए 100,000 तंत्रों का संग्रह। आधिकारिक डेटासेट।
रिपॉज़िटरी की token तुलना o200k_base का उपयोग करती है और टिप्पणियों तथा docstrings को बाहर रखती है। 30 CAD भागों पर LLM द्वारा लिखे गए Blender Python के लिए median baseline/sand3D अनुपात 4.0×, 17 CadQuery प्रोग्रामों के लिए 2.3×, 13 FeatureScript प्रोग्रामों के लिए 6.0× और 12 Articraft प्रोग्रामों के लिए 2.0× हैं। ये curated sand3D प्रोग्रामों के विरुद्ध छोटे, अलग-अलग स्रोतों से लिए गए तुलना-समूह हैं; Blender baselines में से केवल 9/30 सही भाग बनाते हैं, और Articraft dynamics का भी प्रतिनिधित्व करता है। ये संक्षिप्तता के दावे का समर्थन करते हैं, सार्वभौमिक generation-quality सुधार का नहीं। मूल्यांकन विवरण।
यह कैसे काम करता है
लेखन के लिए workflow यह है: API को किसी LLM को उपलब्ध कराएँ या सीधे Python लिखें; असेंबली और उसके पैरामीटर का वर्णन करें; अलग-अलग भाग बनाएँ और उन्हें रखें; joints और materials घोषित करें; bpy में प्रोग्राम चलाएँ; निरीक्षण, संशोधन और निर्यात करें। लगभग 3,600-token वाली API prompt में समा जाती है। अनुशंसित प्रोग्राम लेआउट पहले असेंबली योजना बताता है, फिर प्रत्येक भाग को अलग-अलग लागू करता है, जिससे आयाम और placement संबंध पढ़ने योग्य रहते हैं। संपादन योग्य representation निष्पादन योग्य geometry code और scene hierarchy है; लाइब्रेरी latent encoding या diffusion denoising लागू नहीं करती। लेखन दिशानिर्देश; API।
geometry vocabulary 2D profiles से solids तक आगे बढ़ती है: rect और circle sections परिभाषित करते हैं; extrude, revolve, sweep और loft volumes बनाते हैं; cut, pocket, shell और fillet उन्हें संपादित करते हैं। Frame objects position और orientation का वर्णन करते हैं, इसलिए किसी component को world coordinates की लंबी सूची के बजाय किसी नामित face या local anchor पर रखा जा सकता है। group अलग-अलग meshes और materials को एक parent के अंतर्गत सुरक्षित रखता है; join fusion करता है; assembly grouped root में नामित anchors जोड़ता है। ये अंतर यह सुरक्षित रखते हैं कि कौन-से pieces साथ जुड़े हैं और कौन-से अलग-अलग संपादन योग्य बने रहते हैं। असेंबली implementation।
washing-machine उदाहरण mechanics को ठोस बनाता है: एक cabinet drum, उसके ring, glass और handle वाले door, एक drawer और एक dial को support करता है। इन भागों को rest position पर रखने के बाद, joint parent, pivot, axis, type और अनुमत range रिकॉर्ड करता है। door 0–143° तक घूमता है, drawer 0–200 mm तक slide करता है, और drum तथा dial लगातार घूमते हैं। pose अनुरोधित value को validate करता है और forward kinematics के माध्यम से transforms को propagate करता है; यह geometry को फिर से generate नहीं करता। seat rest position पर inserted part द्वारा घेरे गए volume को हटाता है, उसके पूरे motion envelope की गणना नहीं करता। उदाहरण; Joint implementation।
डेटासेट production में एक agentic reconstruction loop जुड़ता है: code लिखें, उसे execute करें, resulting surface की किसी मौजूदा source asset से तुलना करें और संशोधन करें। लेखकों ने अभी तक उस pipeline की पूरी method प्रकाशित नहीं की है। Dataset F-scores bounding-box diagonal के 1% tolerance का उपयोग करते हैं। Acceptance floors Objaverse और static SimReady के लिए 0.70, CAD और rigid Articraft के लिए 0.90, तथा articulated assets के लिए प्रत्येक moving part पर 0.90 और सही joints हैं। ये pipeline द्वारा रिपोर्ट किए गए quality filters हैं, स्वतंत्र रूप से मापे गए test results नहीं। असफल execution या static checks किसी प्रोग्राम को बाहर कर देते हैं। Dataset methodology।
अनुप्रयोग, उपलब्धता और भविष्य की दिशाएँ
यह representation editable asset variants, interactive mechanisms और LLM-आधारित 3D authoring पर शोध के लिए उपयुक्त है। GLB वर्तमान pose, materials और joint metadata को node extras में निर्यात करता है; generic viewers को उन joints को संचालित करने के लिए अतिरिक्त logic की आवश्यकता होती है। URDF और USDA mechanism को rest position पर सुरक्षित रखते हैं, USDA में UsdGeom और UsdPhysics का उपयोग होता है। OBJ/STL केवल meshes रखते हैं। Export lengths को metres में scale करता है। Mass, friction और actuation parameters लाइब्रेरी के dynamics description के बाहर रहते हैं, इसलिए simulation integration के लिए अभी काम आवश्यक है। Export implementation।
लाइब्रेरी Apache-2.0 है; डेटासेट रिलीज़ CC BY 4.0 का उपयोग करते हैं और source licensing तथा attribution बनाए रखते हैं। वर्तमान coverage hard-surface objects पर केंद्रित है और reconstruction में छोटे विवरण छूट सकते हैं। लेखक organic shapes को future work के रूप में पहचानते हैं, जिनमें implicit blending, control-cage subdivision, variable-section sweeps और lofts, skinning वाले skeletons तथा procedural displacement संभावित additions हैं। वे अधिक domains और आगामी preprint का भी वादा करते हैं; ये अभी योजनाएँ हैं। इस review में 6 नवंबर 2026 को commit 0d589a5, version 1.6.2 पर official documentation और source की जाँच की गई; benchmarks को स्वतंत्र रूप से नहीं चलाया गया। आधिकारिक रिलीज़ और सीमाएँ।
FAQ
क्या sand3D इंस्टॉल करने से मुझे text-to-3D मॉडल मिलता है?
यह Python modeling library इंस्टॉल करता है। किसी LLM या व्यक्ति को इसकी API का उपयोग करके प्रोग्राम लिखने होंगे; bpy उन्हें execute करके assets बनाता है। डेटासेट code examples उपलब्ध कराते हैं, स्वतंत्र रूप से प्रशिक्षित generator नहीं। स्रोत।
मैं अलग आकार का asset कैसे बनाऊँगा?
इसके program द्वारा exposed dimensions को edit करके उसे फिर से चलाएँ। Placement relationships और named parts ऐसे परिवर्तनों को inspectable बनाते हैं। केवल program में वास्तव में encoded relationships ही अपने-आप update होते हैं, इसलिए rebuilt result की जाँच करें। स्रोत।
क्या exported mechanisms तुरंत physics simulation के लिए तैयार हैं?
URDF और USDA joint structure रखते हैं, लेकिन simulation के लिए mass, friction और actuation जैसे dynamics parameters अभी भी आवश्यक हैं। GLB joint metadata को extras में store करता है; mechanism को animate करने के लिए application को इसकी व्याख्या करनी होगी। स्रोत।




