STL

STL फ़ाइल क्या होती है?

3D प्रिंटिंग का मानक। सिर्फ़ त्रिभुज: न रंग, न सामग्री, न बनावट।

STL है क्या

STL एक बाइनरी फ़ॉर्मेट है, जो सिर्फ़ उसी प्रोग्राम के लिए मायने रखता है जो इसे जानता हो। यह पिक्सेल के बजाय आकृतियाँ और निर्देशांक सहेजता है, इसलिए किसी भी आकार में साफ़ रहता है — होर्डिंग जितना बड़ा किया गया लोगो भी कुछ नहीं खोता। इसका इस्तेमाल 3D प्रिंटिंग के लिए होता है।

एक्सटेंशन .stl है और पूरा नाम Stereolithography। दोनों उतना नहीं बताते जितना यह कि फ़ाइल अंदर क्या-क्या रख सकती है — और इस पन्ने का बाक़ी हिस्सा इसी के बारे में है।

STL आया कहाँ से

इसे 3D Systems ने 1987 में जारी किया था।

जो फ़ॉर्मेट इतने लंबे समय तक पढ़ा जाता रहा हो, उसे वह चीज़ सौंपी जा सकती है जो आपको दस साल बाद वापस चाहिए।

विनिर्देश सार्वजनिक है

यह पूरा प्रकाशित है, इसलिए कोई भी इसे देखकर अंदाज़ा लगाने के बजाय दस्तावेज़ पढ़कर लागू कर सकता है। यही वजह है कि यह फ़ॉर्मेट इतने सारे प्रोग्रामों में मिलता है, और यही वजह है कि बीस साल पहले लिखी गई फ़ाइलें आज भी खुल जाती हैं। पर विनिर्देश का प्रकाशित होना और उसका रॉयल्टी-मुक्त होना एक बात नहीं है: जहाँ फ़ॉर्मेट किसी कोडेक को अपने अंदर लपेटता है, वहाँ पेटेंट का लाइसेंस एक अलग सवाल है, और मानक उसका जवाब नहीं देता।

कुछ भी फेंका नहीं जाता

STL फ़ाइल अपना अंदरूनी हिस्सा हूबहू सहेजती है। दोबारा सहेजने से कुछ नहीं बदलता, इसलिए इसे जितनी बार चाहें खोलिए, बदलिए और फिर से सहेजिए — नुक़सान जमा नहीं होता। यही बात इसे सौंपने का नहीं, काम करने का फ़ॉर्मेट बनाती है।

STL को खोलता कौन है

Blender, PrusaSlicer और Cura इसे पढ़ते हैं, और इसी तरह के ज़्यादातर दूसरे प्रोग्राम भी।

फ़ाइल न खुले तो कसूर फ़ॉर्मेट का शायद ही कभी होता है — अक्सर प्रोग्राम ही फ़ॉर्मेट से पुराना होता है। किसी पुरानी चीज़ में बदल लेना इससे निकलने का भरोसेमंद रास्ता है, और इस वेबसाइट का बाक़ी हिस्सा इसी के लिए है।

इसे ब्राउज़र में खोलना

इसे कोई भी ब्राउज़र नहीं पढ़ता।

इसे बदलने की सबसे आम वजह यही है: फ़ॉर्मेट ख़राब है, ऐसा नहीं — बात यह है कि जहाँ आप फ़ाइल दिखाना चाहते हैं वह जगह उसे पढ़ ही नहीं सकती।

यह काम करने का फ़ॉर्मेट है

STL इसलिए बना है कि इसे खोला और बदला जाए। जब तक काम चल रहा है फ़ाइल इसी फ़ॉर्मेट में रखिए, और जब भी बनी हुई प्रति चाहिए हो, इसी से निर्यात कीजिए।

त्रिकोण, और जान-बूझकर बस इतना ही

STL फ़ाइल त्रिकोणों की सूची है। हर एक के तीन कोने हैं और एक दिशा जो बताती है कौन-सा तरफ़ बाहर है। कोई रंग नहीं, कोई सामग्री नहीं, कोई बनावट नहीं, कोई माप की इकाई नहीं, कोई संरचना नहीं।

यह फ़ॉर्मेट 1987 में stereolithography के लिए लिखा गया, और इसकी हर बात उस मशीन को दर्शाती है जिसे बस यह जानना था कि ठोस कहाँ है। लगभग चालीस साल बाद भी हर डेस्कटॉप 3D प्रिंटर यही उम्मीद रखता है, क्योंकि स्लाइसर अब भी वही एक सवाल पूछता है।

वक्र होते ही नहीं, इसलिए रिज़ॉल्यूशन निर्यात के वक़्त तय होता है

मॉडलिंग प्रोग्राम में गोला गणितीय गोला है। उसकी STL कुछ हज़ार सपाट त्रिकोण हैं जो गोला होने का दिखावा करते हैं, और कितने, यह फ़ाइल निर्यात करने वाले ने चुना। कम हों तो प्रिंट में दिखने वाले धब्बे; ज़्यादा हों तो फ़ाइल विशाल और स्लाइसर धीमा।

यही इकलौता फ़ैसला है जो बाद में पलटा नहीं जा सकता। मोटी STL को दोबारा वक्र में चिकना नहीं किया जा सकता, क्योंकि वक्र चला गया — सिर्फ़ अनुमान बचा है। मूल मॉडल से प्रिंट को चाहिए सहनशीलता पर निर्यात कीजिए, और मूल रखिए।

Watertight, और स्लाइसर फ़ाइल क्यों मना करता है

छपने लायक़ मॉडल को बिना किसी दुविधा के ठोस बताना होता है। मतलब हर किनारा ठीक दो त्रिकोणों में साझा है, कोई छेद नहीं, हर नॉर्मल बाहर की ओर इशारा करता है। ऐसी मेश watertight या manifold कहलाती है।

मॉडल अक्सर इसमें असफल होते हैं, आमतौर पर क्योंकि वे रेंडरिंग के लिए बनाए गए थे। बिना मोटाई वाली सतह स्क्रीन पर सही दिखती है और छापने लायक़ नहीं। कभी न जोड़ी गई दो ओवरलैप आकृतियाँ भीतरी चेहरे छोड़ जाती हैं। मरम्मत औज़ार ज़्यादातर ख़ुद ठीक कर देते हैं।

इकाई की समस्या, जिस फ़ॉर्मेट में यह सबसे ज़्यादा मायने रखती है

STL संख्याओं की कोई नाप नहीं। फ़ाइल कहती है 25.4 और नहीं बताती कि मिलीमीटर है या इंच, इसलिए इंच में डिज़ाइन किया और मिलीमीटर-आधारित स्लाइसर में खुला मॉडल अपने इरादे किए आकार के 1/25वें हिस्से पर छपता है।

ज़्यादातर 3D प्रिंटिंग दुनिया मिलीमीटर मानती है, और ज़्यादातर स्लाइसर तयशुदा तौर पर वही मानते हैं। छापने से पहले स्लाइसर की बताई बाउंडिंग-बॉक्स नाप वस्तु की असली नाप से मिलाइए। यह पाँच सेकंड लेता है और यही फ़र्क़ है फ़िट होते भाग और बहुत धीमे, बहुत महँगे सबक़ के बीच।

ASCII और बाइनरी एक ही फ़ॉर्मेट हैं

विनिर्देश दो एनकोडिंग की इजाज़त देता है। ASCII हर निर्देशांक पढ़ने लायक़ पाठ में लिखता है, जो फ़ाइल को पाँच-छह गुना बड़ा बनाता है और उसे एडिटर में खोलने देता है। बाइनरी प्रति त्रिकोण पचास बाइट लिखता है और लगभग सब कुछ यही बनाता और चाहता है।

कुछ ख़ास न माँगे तो बाइनरी इस्तेमाल कीजिए। ASCII का इकलौता असली फ़ायदा है कि कोई इंसान इसे जाँच सकता है, जो बिगड़े निर्यात का निदान करते वक़्त कभी-कभी काम आता है। दोनों के बीच बदलना ज्यामिति में कुछ नहीं बदलता।

रंग, और उसे ढोने वाले फ़ॉर्मेट

STL में कोई नहीं है। बिना-आधिकारिक एक्सटेंशन इस्तेमाल-न-होने वाले बाइट में रंग ठूँसते हैं, और उनके लिए समर्थन इतना असंगत है कि भरोसा करने लायक़ नहीं।

यह मायने रखता है क्योंकि मल्टी-मटीरियल और पूर्ण-रंग छपाई आम होती जा रही है। किसी प्रिंट को एक से ज़्यादा रंग चाहिए तो फ़ाइल 3MF या OBJ होनी चाहिए, दोनों सामग्री आवंटन ठीक से ढोते हैं। 3MF आधुनिक जवाब है — यह वास्तविक विनिर्देश है इकाई, सामग्री और प्रिंट सेटिंग के साथ।

STL से छपी वस्तु तक

STL सीधे प्रिंटर को नहीं भेजा जाता। यह स्लाइसर में जाता है, जो इसे दिशा देता है, ओवरहैंग के लिए सपोर्ट जोड़ता है, और G-code बनाने के लिए इसे परतों में काटता है — मशीन के असली निर्देश। प्रिंट सफल होगा या नहीं यह हर फ़ैसला स्लाइसर में लिया जाता है, फ़ाइल में नहीं।

यही वजह है कि STL में सही करने लायक़ चीज़ संकरी है: सही पैमाना, watertight मेश, प्रिंट होने वाले आकार पर वक्र बताने लायक़ पर्याप्त त्रिकोण। बाक़ी सब — इनफ़िल, दीवारें, तापमान, सपोर्ट — आगे की बात है।

ज़रूरी जानकारी, एक जगह

STL फ़ॉर्मेट की पहचान और उसका स्रोत।
एक्सटेंशन.stl
मीडिया टाइपmodel/stl
प्रकाशक3D Systems
पहली बार प्रकाशित1987

STL फ़ाइलें: आम सवाल

STL फ़ाइल कैसे खोलूँ

Windows 3D Viewer इसे सीधे खोलता है, वैसे ही Blender, MeshLab और हर स्लाइसर — Cura, PrusaSlicer, Bambu Studio। ज़्यादातर ऑनलाइन व्यूअर भी सँभालते हैं। छापने के लिए, फ़ाइल प्रिंटर की जगह स्लाइसर में जाती है।

मेरा स्लाइसर मॉडल watertight नहीं कहता, क्यों

मेश बिना दुविधा के ठोस नहीं बताती — कोई छेद, दो से ज़्यादा त्रिकोणों में साझा किनारा, बिना मोटाई वाली सतह, या ग़लत दिशा वाला नॉर्मल है। मरम्मत औज़ार ज़्यादातर हालत ख़ुद ठीक कर देते हैं।

मेरा मॉडल ग़लत आकार में क्यों छपा

STL में कोई इकाई नहीं। इंच में डिज़ाइन मॉडल मिलीमीटर-आधारित स्लाइसर में 25 गुना छोटा निकलता है। हर बार स्लाइसर की बताई बाउंडिंग-बॉक्स नाप वस्तु की असली नाप से मिलाइए।

क्या STL फ़ाइल में रंग हो सकता है

सचमुच नहीं। बिना-आधिकारिक एक्सटेंशन हैं और समर्थन भरोसे लायक़ नहीं। मल्टी-कलर या मल्टी-मटीरियल छपाई के लिए 3MF या OBJ इस्तेमाल कीजिए, दोनों सामग्री आवंटन ठीक से ढोते हैं।

बाइनरी और ASCII STL में क्या फ़र्क़ है

सिर्फ़ एनकोडिंग का। ASCII पढ़ने लायक़ पाठ है और पाँच-छह गुना बड़ा; बाइनरी प्रति त्रिकोण पचास बाइट है और लगभग सब कुछ यही बनाता है। ज्यामिति बिलकुल एक जैसी है।

क्या निर्यात के बाद STL को चिकना बना सकता हूँ

नहीं। वक्र निर्यात के वक़्त सपाट त्रिकोणों से बदल गया और वापस पाने को कुछ नहीं बचा। मूल मॉडल से महीन सहनशीलता पर दोबारा निर्यात कीजिए — यही वजह है कि मॉडलिंग फ़ाइल, STL नहीं, रखने लायक़ है।