आँकड़ों और विज्ञापन के लिए कुकीज़
हम आँकड़ों और विज्ञापन के लिए कुकीज़ इस्तेमाल करते हैं, दोनों Google को जाती हैं। मना करने से आपको दिखने वाली किसी चीज़ में कोई फ़र्क़ नहीं पड़ता।निजता पेज पढ़ें
यहाँ आप OBJ को STL में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।
एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।
ये एक के बाद एक बदलती हैं और साथ में एक ZIP बनकर उतरती हैं।
OBJ से STL
यह बदलाव लगभग हमेशा पसंद नहीं, अनुपालन की बात होती है। किसी ऑनलाइन प्रिंट सेवा की स्वीकृत फ़ॉर्मेट सूची में `.stl` लिखा होता है। कोई CAM पैकेज मेश आयात करता है और ठीक एक ही तरह की। किसी मशीन विक्रेता का सॉफ़्टवेयर STL के इर्द-गिर्द ही लिखा गया था और कभी दोबारा नहीं देखा गया। किसी कार्यशाला ने «एक STL» माँगा क्योंकि उनकी शब्दावली में छापने लायक़ फ़ाइल का यही नाम है।
बहस करना शायद ही उपलब्ध होता है और आमतौर पर लायक़ भी नहीं। जो लायक़ है वह यह पक्का करना है कि जो STL सौंपा जा रहा है वही है जिसका इरादा था, क्योंकि STL अपने बारे में कुछ नहीं बताता — कोई इकाई नहीं, कोई भाग नाम नहीं, कोई सामग्री नहीं — इसलिए इसमें हर ग़लती तब तक चुप रहती है जब तक कुछ ग़लत आकार में मशीनी न हो जाए।
OBJ अक्सर एक साथी के साथ आता है: सामग्री बताने वाली `.mtl` फ़ाइल, और वह फ़ोल्डर जिसकी ओर `.mtl` इशारा करता है। OBJ में `mtllib` और `usemtl` लाइनें उन्हें बताती हैं। इनमें से कुछ भी नहीं पढ़ा जाता, क्योंकि STL में सामग्री, बनावट, UV निर्देशांक या रंग रखने की जगह ही नहीं होती।
नतीजा साफ़-साफ़ कहना ज़रूरी है। किसी मार्केटप्लेस से देखने में अच्छा लगने की वजह से ख़रीदा मॉडल एक सादे धूसर ठोस के रूप में आता है, और यह बदलाव की कमी नहीं बल्कि लक्ष्य फ़ॉर्मेट की परिभाषा है। अगर रंग मायने रखता है, तो 3MF ही वह प्रिंटिंग फ़ॉर्मेट है जो उसे ढोता है।
OBJ ज्यामिति को `o` और `g` लाइनों से सजाता है, और किसी भी जटिल मॉडल में ये इस्तेमाल होती हैं — बॉडी, ढक्कन, हैंडल, हर एक नाम वाला। STL के पास शुरू से अंत तक एक ही त्रिकोण सूची है और वस्तु की कोई अवधारणा नहीं, इसलिए सारे समूह उसी क्रम में लिख दिए जाते हैं जिसमें वे आए थे।
सतहें ज्यामितीय रूप से अलग रहती हैं, पहचान खो जाती है। PrusaSlicer और Cura दोनों लोड होते ही अलग-अलग शेल पकड़ते हैं और उन्हें प्लेट पर अलग वस्तुओं में बाँटने का विकल्प देते हैं, जो व्यवस्था तो लौटा देता है पर नाम नहीं — हिस्से «Part 1» और «Part 2» बनकर आते हैं। अगर पाने वाले को यह जानना ज़रूरी है कि कौन-सा हिस्सा कौन-सा है, तो बदलने से पहले किसी मॉडलिंग ऐप्लिकेशन में बाक़ी हटाकर एक-एक STL सौंपिए।
OBJ चेहरों के किसी भी संख्या के कोने हो सकते हैं, और STL के त्रिकोणों में ठीक तीन होते हैं, इसलिए हर बहुभुज बाँटा जाता है। तरीक़ा है पंखा: कोना एक हर लगातार जोड़ी से जुड़ता है, इसलिए चतुर्भुज दो त्रिकोण बनता है और षट्भुज चार।
उत्तल चेहरे के लिए यह बिलकुल ठीक है और यही एक जगह है जहाँ यह बदलाव घटी हुई नहीं, ग़लत ज्यामिति बना सकता है। अपने भीतर के बाहर से पंखे में बाँटा गया अवतल बहुभुज ओवरलैप करते त्रिकोण देता है, जो स्लाइसर में मुड़े या ख़ुद से कटते पैच की तरह दिखता है। अगर स्लाइस किया गया पूर्वावलोकन किसी सपाट हिस्से में अजीब मोड़ दिखाए, तो पहले OBJ को ठीक से त्रिभुजित कर लीजिए।
दोनों फ़ॉर्मेट कोई इकाई दर्ज नहीं करते। OBJ में इसके लिए कोई फ़ील्ड ही नहीं, और इसके इर्द-गिर्द के तंत्र में भी कोई रिवाज़ नहीं — स्कैनिंग औज़ार का मेश अक्सर मिलीमीटर होता है, आर्किटेक्चरल पैकेज का मीटर, गेम एसेट पाइपलाइन का जो भी इंजन ने इस्तेमाल किया। STL वैसा ही है, बस हर स्लाइसर उसे मिलीमीटर मानता है।
तो संख्याएँ बिना बदले पार होती हैं और एक ऐसा मतलब पा लेती हैं जो उनके पास था ही नहीं। यही इस बदलाव के ग़लत होने का सबसे महँगा तरीक़ा है, और जाँच दस सेकंड लेती है: STL को स्लाइसर में लोड कीजिए, बाउंडिंग बॉक्स पढ़िए, और किसी जानी हुई नाप से मिलाइए। जो हिस्सा 60 मिमी होना चाहिए और 0.06 मिमी दिखे वह मीटर में बना था; जो 1524 मिमी दिखे वह इंच में।
OBJ चेहरे के इंडेक्स एक-आधारित होते हैं, और फ़ॉर्मेट नकारात्मक इंडेक्स की भी इजाज़त देता है, जो पीछे की ओर गिनते हैं — `-1` से लिखा कोना मतलब इस चेहरे से ठीक पहले घोषित शीर्ष। कुछ एक्सपोर्टर पूरी फ़ाइल में यही रूप इस्तेमाल करते हैं क्योंकि इससे फ़ाइलें जोड़ना आसान हो जाता है।
दोनों रूप फ़ाइल पढ़ते वक़्त, क्रम से सुलझाए जाते हैं, यही इकलौता तरीक़ा है जिससे यह हो सकता है: नकारात्मक इंडेक्स इस पर निर्भर करता है कि उस बिंदु तक कितने शीर्ष घोषित हो चुके थे। `v`, `v/vt`, `v//vn` और `v/vt/vn` के सभी रूप स्वीकार होते हैं और सिर्फ़ शीर्ष वाला हिस्सा इस्तेमाल होता है।
रीडर हर समूह के भीतर मिलते-जुलते शीर्षों को जोड़ता है, छह दशमलव स्थानों पर तुलना करते हुए। यह इस साइट की बाक़ी लक्ष्यों के लिए मायने रखता है — glTF या PLY में बदला OBJ साझा शीर्ष रखता है और उसकी वजह से काफ़ी छोटा होता है — और यह STL में अदृश्य है।
STL में शीर्ष साझा होते ही नहीं: हर त्रिकोण अपने तीनों कोने अलग-अलग ढोता है, इसलिए छह त्रिकोणों से इस्तेमाल होने वाला कोना छह बार लिखा जाता है, चाहे रीडर ने कुछ भी किया हो। इसीलिए n त्रिकोणों के लिए फ़ाइल हमेशा ठीक 84 + 50n बाइट होती है।
चार चीज़ें, इसी क्रम में, और सब आपके अपने नियंत्रण वाले स्लाइसर में। बाउंडिंग बॉक्स, किसी जानी नाप के मुक़ाबले। वस्तु गिनती, इस हालत में कि मॉडल कई भाग था और आपका इरादा एक भेजने का था। मैनिफ़ोल्ड रिपोर्ट — PrusaSlicer और Cura दोनों लोड होते ही खुले किनारे पकड़ते हैं और सुधार का प्रस्ताव देते हैं। और कुछ ऊँचाइयों पर स्लाइस किया पूर्वावलोकन।
यह आख़िरी वाला वह पकड़ता है जो बाक़ी छोड़ देते हैं: उलटे चेहरों से बना खोखलापन जहाँ ठोस होना चाहिए, अवतल बहुभुज से बना पंखे का दोष, कोई भीतरी सतह जिसका किसी को पता नहीं था। कोई ब्यूरो प्रिंट करने से पहले अपना सुधार चलाएगा, और वह सुधार यह जाने बिना होता है कि आपके भाग की कौन-सी विशेषताएँ कार्यात्मक हैं।
अगर आप ख़ुद अपने प्रिंटर पर छाप रहे हैं, तो 3MF बेहतर गंतव्य है और हर मौजूदा स्लाइसर उसे लेता है: यह मिलीमीटर साफ़ तौर पर घोषित करता है, हर समूह को प्लेट पर अपनी वस्तु रखता है, और प्रति त्रिकोण पचास बाइट के बजाय संपीड़ित पैकेज है। सिर्फ़ पुराना स्लाइसर जो 3MF नहीं पढ़ता, इसकी वजह से STL बनाने की एकमात्र वजह है।
अगर मॉडल पर बदलाव किया जाना है, संपादन नहीं, तो OBJ रखिए — उसमें समूह हैं, सामग्री के संदर्भ हैं, पढ़ने लायक़ पाठ रूप है, और यह सब STL की यात्रा में नहीं बचता। और अगर मॉडल ख़रीदा गया था, तो प्रिंट करने से पहले लाइसेंस देख लीजिए।
इसी ब्राउज़र टैब में, सादे JavaScript से। कोई WebAssembly मॉड्यूल नहीं उतरता, कुछ अपलोड नहीं होता, न कोई खाता है न रोज़ की सीमा, और कन्वर्ट करते वक़्त नेटवर्क टैब इसे साबित करता है।
मुफ़्त सीमा इनपुट पर 100 MB है, और यह भी जान लीजिए कि घनी मॉडल के लिए आउटपुट इनपुट से बड़ा हो सकता है — OBJ हर शीर्ष एक बार रखता है और STL उसे प्रति त्रिकोण दोहराता है। कुछ लाख त्रिभुजों तक तो ठीक है; उससे ज़्यादा दो-तीन मिलियन पर, ज़्यादातर स्लाइसर इस पन्ने से पहले ही परेशान होने लगते हैं।
| OBJ | STL | |
|---|---|---|
| पूरा नाम | Wavefront ऑब्जेक्ट | Stereolithography |
| फ़ाइल एक्सटेंशन | .obj | .stl |
| मीडिया टाइप | model/obj | model/stl |
| पहली बार प्रकाशित | 1992 | 1987 |
| प्रकाशक | Wavefront Technologies | 3D Systems |
| लाइसेंस | खुला मानक | खुला मानक |
| आज की स्थिति | मौजूदा | मौजूदा |
| ब्राउज़र में खुलता है | कोई ब्राउज़र नहीं | कोई ब्राउज़र नहीं |
| इसकी जगह विचारणीय | GLTF, PLY | 3MF, PLY |
Blender OBJ और STL — दोनों पढ़ लेता है, इसलिए आप नतीजे को असली फ़ाइल के बग़ल में रखकर देख सकते हैं, बिना दूसरा प्रोग्राम खोले।
दोनों का निशाना अलग काम है: OBJ का प्रोग्रामों के बीच डेटा ले जाना और एडिटिंग पर, STL का 3D प्रिंटिंग पर। इस पर सोचना बनता है, क्योंकि जिस वजह से एक मौजूद है, आम तौर पर उसी वजह से दूसरा असुविधाजनक होता है।
STL 3D Systems का है और 1987 से चला आ रहा है। Blender, PrusaSlicer और Cura इस फ़ॉर्मेट को पढ़ लेते है।
नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो।
हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100।
OBJ और STL सामग्री का वर्णन बुनियादी तौर पर अलग-अलग तरीक़ों से करते हैं। इसलिए यह कन्वर्ज़न नक़ल नहीं, पुनर्निर्माण है: ईमानदार, पर बाइट-दर-बाइट एक जैसा नहीं। सिर्फ़ ज्यामिति। सामग्री, रंग, बनावट और एनिमेशन साथ नहीं जाते, और जो मॉडल कई बार रखा गया हो वह हर नक़ल के अपनी-अपनी जगह पर पक्की हो जाने के साथ लौटता है।
कन्वर्ज़न के लिए नहीं: वह उसी ब्राउज़र में होता है जो आपने पहले से खोल रखा है। नतीजा खोलने के लिए उसके बाद वही प्रोग्राम चाहिए जिससे आपका डिवाइस Stereolithography आम तौर पर दिखाता है।