आँकड़ों और विज्ञापन के लिए कुकीज़
हम आँकड़ों और विज्ञापन के लिए कुकीज़ इस्तेमाल करते हैं, दोनों Google को जाती हैं। मना करने से आपको दिखने वाली किसी चीज़ में कोई फ़र्क़ नहीं पड़ता।निजता पेज पढ़ें
यहाँ आप STL को GLB में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।
एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।
ये एक के बाद एक बदलती हैं और साथ में एक ZIP बनकर उतरती हैं।
STL से GLB
लगभग हर बदलाव यहीं से आता है। किसी लिस्टिंग, डॉक्यूमेंटेशन प्लैटफ़ॉर्म या कंटेंट सिस्टम का अपलोड फ़ील्ड `.glb` नाम लेता है क्योंकि उसका व्यूअर कंपोनेंट यही लोड करता है। कोई सहकर्मी या ग्राहक जिसे कोई भाग देखना है और जिसके पास न स्लाइसर है न CAD पैकेज। और कोई ऑगमेंटेड-रियलिटी या प्रीव्यू फ़ीचर जो glTF के इर्द-गिर्द बना क्योंकि वेब ने यही मानक बनाया।
इनमें से किसी हालत में बदलने वाला 3D एप्लिकेशन नहीं बना रहा। उसे बस एक फ़ाइल चाहिए जो दूसरा छोर खोल ले, आकार दिखाते हुए, आज ही। यह ढांचा याद रखने लायक़ है, क्योंकि glTF की ज़्यादातर सलाह उन लोगों के लिए लिखी है जो सीन जोड़ रहे हैं।
GLB वही glTF दस्तावेज़ है जिसके पीछे इसका शीर्ष डेटा जुड़ा है: बारह बाइट का हेडर जिसके पहले चार बाइट `glTF` लिखते हैं, फिर एक JSON हिस्सा, फिर एक बाइनरी हिस्सा। एक फ़ाइल, एक अनुरोध, कुछ भी बग़ल में नहीं।
यह इस साइट के दूसरे विकल्प के मुक़ाबले मायने रखता है। STL को `.gltf` में बदलने से भी एक फ़ाइल बनती है, पर उसे अपना शीर्ष डेटा JSON के भीतर base64 डेटा URI की तरह ढोना पड़ता है, जो हर तीन बाइट पर चार अक्षर लेता है — क़रीब तैंतीस प्रतिशत ज़्यादा। GLB वही बाइट सीधे रखता है, इसलिए बिलकुल वही ज्यामिति के लिए यह साफ़ छोटा होता है।
STL में कोई रंग, बनावट, UV निर्देशांक या शीर्ष रंग नहीं होते, और कन्वर्टर एक ऐसा प्रिमिटिव लिखता है जिसमें पोज़िशन एक्सेसर और इंडेक्स एक्सेसर है, सामग्री का कोई संदर्भ नहीं। स्क्रीन पर जो दिखता है वह पूरी तरह व्यूअर की तयशुदा सेटिंग से बनता है।
इसीलिए एक ही फ़ाइल एक व्यूअर में ठोस इंजीनियर की चीज़ जैसी दिख सकती है और दूसरे में धूसर धब्बा। सुधार बदलाव में नहीं, रोशनी में है: `<model-viewer>` बिना रंग वाली माहौल-रोशनी और `shadow-intensity` एट्रिब्यूट के साथ आता है, दोनों जोड़ने से नतीजा बदल जाता है।
यही वह चीज़ है जो लगती है जैसे बदलाव नाकाम हुआ हो। CAD पैकेज और पूरी 3D प्रिंटिंग दुनिया Z-ऊपर काम करती है: बिल्ड प्लेट XY समतल है और ऊँचाई Z। glTF Y को ऊपर मानता है, और हर व्यूअर उसी का पालन करता है। बदलाव में कुछ घुमाया नहीं जाता, क्योंकि घुमाव गढ़ना यह अंदाज़ा लगाना होता कि स्रोत ने कौन-सी परंपरा अपनाई।
तो Fusion, SolidWorks, FreeCAD या स्लाइसर से निर्यात हुआ भाग व्यूअर में नब्बे डिग्री पीठ के बल पड़ा दिखता है। इसे फ़ाइल में नहीं, सीन में सुधारिए: `<model-viewer>` में `orientation="-90deg 0 0"` एट्रिब्यूट लगता है।
कोई भी फ़ॉर्मेट इकाई घोषित नहीं करता। STL को हर स्लाइसर मिलीमीटर मानता है; glTF इस तरह बनाया जाता है जैसे एक इकाई एक मीटर हो। संख्याएँ बिना बदले पार होती हैं, इसलिए 60 मिमी का ब्रैकेट साठ-इकाई वस्तु बन जाता है, जो मीटर के लिए बना व्यूअर साठ-मीटर के ब्रैकेट की तरह दिखाता है और दूर से फ़्रेम करता है।
सीन में 1000 से भाग दीजिए, और आँख से नहीं, किसी जानी हुई नाप से जाँचिए। `<model-viewer>` में `scale` एट्रिब्यूट है; three.js में `object.scale.setScalar(0.001)`।
STL हर त्रिकोण को तीन स्वतंत्र शीर्षों के रूप में रखता है, बिना किसी साझा के, इसलिए क्यूब छत्तीस पोज़िशन के रूप में आता है जहाँ आठ काफ़ी होते। रीडर पहले मिलते-जुलते शीर्ष जोड़ता है, छह दशमलव स्थानों पर तुलना करते हुए, क्योंकि किनारे पर मिलने वाले दो त्रिकोण अक्सर आख़िरी बिट में असहमत होते हैं।
डिलीवरी फ़ाइल के लिए यह मामूली बात नहीं। बिना जोड़े रूप में बफ़र में चार से छह गुना ज़्यादा शीर्ष होते और स्मूद शेडिंग भी टूट जाती, क्योंकि नॉर्मल औसत निकालने वाले व्यूअर को साझा शीर्ष चाहिए।
STL में जो कुछ मिलता है वह एक ही मेश और एक ही प्रिमिटिव की तरह लिखा जाता है, क्योंकि STL में सँभालने के लिए कोई समूह नहीं होता। किसी रेंडरर के लिए यही सबसे सस्ता मॉडल है — एक ड्रॉ कॉल, कोई सामग्री बदलाव नहीं — जो किसी प्रोडक्ट पेज या प्रीव्यू पेन में मौजूद भाग के लिए सही आकार है।
प्रिमिटिव पूरे uint32 इंडेक्स और float32 पोज़िशन इस्तेमाल करता है। पोज़िशन एक्सेसर विनिर्देश की माँग के मुताबिक़ `min` और `max` रखता है, जो व्यूअर को लोड होते ही मॉडल को फ़्रेम करने देता है, ज़ूम-आउट खुलने के बजाय।
यह चुपचाप काम की हालत है। किसी सहकर्मी, ग्राहक या क्लाइंट को कोई भाग देखना है और उनके पास कोई सॉफ़्टवेयर नहीं — STL भेजने का मतलब है क्या इंस्टॉल करना है यह समझाना, और स्क्रीनशॉट भेजने का मतलब है वे उसे घुमा नहीं सकते। GLB किसी ब्राउज़र-आधारित व्यूअर में बिना इंस्टॉलेशन के खुलता है।
साथ में क्या भेजें: असली नाप, एक वाक्य में, क्योंकि फ़ाइल पैमाना ढोती नहीं और व्यूअर वही दिखाएगा जो आप तय करें। और अगर मायने रखे तो दिशा के बारे में एक नोट। दो पंक्तियाँ किसी धूसर तैरती वस्तु को टिप्पणी लायक़ भाग बना देती हैं।
आमतौर पर काफ़ी छोटा। STL में साझा के बिना पचास बाइट प्रति त्रिकोण है; GLB हर शीर्ष एक बार बारह बाइट में और हर इंडेक्स चार बाइट में रखता है, इसलिए जिस मेश का हर शीर्ष पाँच-छह त्रिकोणों से इस्तेमाल हो वह ज्यामितीय रूप से पहले ही काफ़ी सिमट जाता है।
मुफ़्त छत 100 MB है, जो क़रीब दो मिलियन STL त्रिभुज है। उससे बहुत पहले, मॉडल ब्राउज़र में लोड करना असहज हो जाता है — कुछ लाख त्रिभुज ऐसी चीज़ के लिए समझदार ऊपरी सीमा है जो कोई विज़िटर फ़ोन पर खोलेगा।
कुछ भी नहीं। बदलाव इस टैब में सादा JavaScript है, कोई WebAssembly मॉड्यूल डाउनलोड नहीं होता, कुछ अपलोड नहीं होता, न कोई खाता है न रोज़ की सीमा। कन्वर्ट करते वक़्त नेटवर्क टैब यही जाँच है।
लिस्टिंग या ग्राहक समीक्षा के लिए तैयार हो रहे भाग के लिए यही असली बात है, क्योंकि मॉडल अक्सर अप्रकाशित और अक्सर किसी और का होता है। ऐसा बदलाव जो कभी ज्यामिति नहीं भेजता वह सवाल को गोपनीयता नीति से जवाब देने के बजाय सिरे से हटा देता है।
| STL | GLB | |
|---|---|---|
| पूरा नाम | Stereolithography | Binary glTF |
| फ़ाइल एक्सटेंशन | .stl | .glb |
| मीडिया टाइप | model/stl | model/gltf-binary |
| पहली बार प्रकाशित | 1987 | 2016 |
| प्रकाशक | 3D Systems | Khronos Group |
| विनिर्देश | — | glTF 2.0 |
| लाइसेंस | खुला मानक | खुला मानक |
| आज की स्थिति | मौजूदा | मौजूदा |
| ब्राउज़र में खुलता है | कोई ब्राउज़र नहीं | कोई ब्राउज़र नहीं |
| इसकी जगह विचारणीय | 3MF, OBJ, PLY | GLTF, OBJ |
Blender STL और GLB — दोनों पढ़ लेता है, इसलिए आप नतीजे को असली फ़ाइल के बग़ल में रखकर देख सकते हैं, बिना दूसरा प्रोग्राम खोले।
दोनों का निशाना अलग काम है: STL का 3D प्रिंटिंग पर, GLB का वेब और बनी हुई फ़ाइल सौंपना पर। इस पर सोचना बनता है, क्योंकि जिस वजह से एक मौजूद है, आम तौर पर उसी वजह से दूसरा असुविधाजनक होता है।
GLB Khronos Group का है और 2016 से चला आ रहा है, और glTF 2.0 में तय किया गया है। Blender, three.js और Babylon.js इस फ़ॉर्मेट को पढ़ लेते है।
STL 1987 में आया और GLB 2016 में। किसी को सौंपने के लिए आम तौर पर पुराना वाला ज़्यादा सुरक्षित रहता है; नया वाला वही काम कम बाइट में कर देता है।
नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो।
हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100।
STL और GLB सामग्री का वर्णन बुनियादी तौर पर अलग-अलग तरीक़ों से करते हैं। इसलिए यह कन्वर्ज़न नक़ल नहीं, पुनर्निर्माण है: ईमानदार, पर बाइट-दर-बाइट एक जैसा नहीं। सिर्फ़ ज्यामिति। सामग्री, रंग, बनावट और एनिमेशन साथ नहीं जाते, और जो मॉडल कई बार रखा गया हो वह हर नक़ल के अपनी-अपनी जगह पर पक्की हो जाने के साथ लौटता है।
कन्वर्ज़न के लिए नहीं: वह उसी ब्राउज़र में होता है जो आपने पहले से खोल रखा है। नतीजा खोलने के लिए उसके बाद वही प्रोग्राम चाहिए जिससे आपका डिवाइस Binary glTF आम तौर पर दिखाता है।