$lang['tuto'] = "ट्यूटोरियल"; ?> C# में SaveModelToPackageAsync के साथ

C# में SaveModelToPackageAsync के साथ COMException को डिबग करना

Temp mail SuperHeros
C# में SaveModelToPackageAsync के साथ COMException को डिबग करना
C# में SaveModelToPackageAsync के साथ COMException को डिबग करना

C# में SaveModelToPackageAsync त्रुटियों को समझना

3डी प्रिंटिंग और मॉडल निर्माण की दुनिया में, सी# जटिल वस्तुओं के प्रबंधन और विभिन्न प्रारूपों में मॉडलों के सुचारू एकीकरण को सुनिश्चित करने में एक आवश्यक भूमिका निभाता है। 3डी मैन्युफैक्चरिंग फॉर्मेट (3एमएफ) के साथ काम करते समय, डेवलपर्स को अक्सर कई तरह की चुनौतियों का सामना करना पड़ता है - सबसे निराशाजनक में से एक `System.Runtime.InteropServices.COMException` है। यदि आपने इस समस्या का सामना किया है, तो आप अकेले नहीं हैं! यह एक आम बाधा है, खासकर जब `SaveModelToPackageAsync` जैसी विधियों का उपयोग करके मॉडल सहेजते हैं।

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

इसे ठीक करने की अपनी यात्रा में, हम `to3MFModel` फ़ंक्शन के विवरण में गोता लगाते हैं, एक कस्टम विधि जिसका उद्देश्य एक वैध 3MF मॉडल उत्पन्न करना है। हम जाल को मान्य करते हैं, मॉडल घटकों को सेट करते हैं, और मेटाडेटा जोड़ते हैं। फिर भी, हर बार जब हम मॉडल को बचाने की कोशिश करते हैं, तो खतरनाक `COMException` अपना सिर उठा लेता है। हम क्या खो रहे हैं? वैध कोड प्रतीत होने के बावजूद यह समस्या क्यों बनी रहती है?

समाधान 3डी मॉडल, इसके जाल सत्यापन और 3एमएफ पैकेज हैंडलिंग प्रक्रिया के बीच जटिल इंटरैक्शन को समझने में निहित हो सकता है। सामान्य कमियों की जांच करके और डिबगिंग के लिए एक व्यवस्थित दृष्टिकोण अपनाकर, हम एक विश्वसनीय समाधान की ओर बढ़ सकते हैं और भविष्य में इसी तरह की बाधाओं से बच सकते हैं। आइए अंतिम समाधान खोजने और अपने प्रोजेक्ट को वापस पटरी पर लाने के लिए चरण दर चरण इस प्रक्रिया पर गौर करें।

आज्ञा उपयोग का उदाहरण
Printing3D3MFPackage() एक नया 3MF पैकेज बनाने के लिए उपयोग किया जाता है, जो 3D मॉडल के लिए कंटेनर है। यह मॉडल को पैकेजिंग करने और उसे 3MF प्रारूप में डिस्क पर सहेजने में मदद करता है। यह कमांड किसी पैकेज के भीतर 3डी मॉडल को सहेजने से पहले प्रबंधित करने के लिए महत्वपूर्ण है।
await SaveModelToPackageAsync() एसिंक्रोनस विधि जो 3डी मॉडल को पैकेज में सहेजती है। यह 3डी प्रिंटिंग मॉडल को संभालने के लिए विंडोज़ द्वारा प्रदान की गई एपीआई का हिस्सा है। यह विधि बचत प्रक्रिया के गैर-अवरुद्ध निष्पादन की अनुमति देती है, जो संभावित रूप से बड़े मॉडल वाले एप्लिकेशन में महत्वपूर्ण है।
Printing3DMesh.VerifyAsync() गैर-मैनिफोल्ड त्रिकोण और उलटे मानदंडों जैसे मुद्दों की जांच करके 3डी जाल की वैधता को अतुल्यकालिक रूप से सत्यापित करता है। यह कमांड आगे की प्रोसेसिंग या सेव करने से पहले मॉडल की अखंडता सुनिश्चित करता है, जिससे मॉडल को लोड या प्रिंट करते समय त्रुटियों से बचने में मदद मिलती है।
Printing3DMeshVerificationMode.FindAllErrors एनम मान का उपयोग यह निर्दिष्ट करने के लिए किया जाता है कि जाल में सभी त्रुटियों का पता लगाया जाना चाहिए। यह जाल के गहन सत्यापन को ट्रिगर करता है, फ़्लिप किए गए त्रिकोण, छेद और डिस्कनेक्ट किए गए शीर्ष जैसी समस्याओं की तलाश करता है। मॉडल की ज्यामिति वैध है यह सुनिश्चित करने के लिए यह एक आवश्यक तरीका है।
Printing3DModelUnit.Millimeter 3D मॉडल के लिए माप की इकाई को मिलीमीटर पर सेट करता है। यह उन मॉडलों के साथ काम करते समय पैमाने को परिभाषित करने के लिए आवश्यक है जिन्हें बाद में 3डी प्रिंटिंग के लिए भौतिक वस्तुओं में परिवर्तित किया जाता है। 3डी प्रिंटर की सेटिंग्स या प्रोजेक्ट विनिर्देशों के आधार पर विभिन्न इकाइयों की आवश्यकता हो सकती है।
Printing3DComponent() मॉडल के भीतर एक नया 3D घटक बनाता है। प्रत्येक घटक 3डी ऑब्जेक्ट के एक भाग का प्रतिनिधित्व करता है, जिससे अंतिम मॉडल में कई घटकों को एक साथ समूहीकृत किया जा सकता है। यह उन जटिल मॉडलों के प्रबंधन के लिए आवश्यक है जिनमें कई परस्पर जुड़े हुए टुकड़े होते हैं।
model.Metadata.Add() 3D मॉडल में मेटाडेटा जोड़ने के लिए उपयोग किया जाता है, जैसे शीर्षक, डिज़ाइनर और निर्माण तिथि। यह मेटाडेटा मॉडल के बारे में अतिरिक्त जानकारी व्यवस्थित करने, वर्गीकृत करने और प्रदान करने के लिए महत्वपूर्ण है, जो प्रिंट कार्य प्रबंधन या फ़ाइल प्रबंधन में उपयोगी हो सकता है।
Task.Delay() कोड के एसिंक्रोनस निष्पादन में देरी लाने के लिए उपयोग किया जाता है। यह कमांड पुनः प्रयास तंत्र में उपयोगी है, जैसे विफलता के बाद बचत प्रक्रिया को पुनः प्रयास करते समय, सिस्टम को ओवरलोड करने से रोकने के लिए या रुक-रुक कर आने वाले मुद्दों को शालीनता से संभालने के लिए।
COMException एक अपवाद प्रकार जो COM (घटक ऑब्जेक्ट मॉडल) संचालन के दौरान होने वाली त्रुटियों को संभालता है। इस संदर्भ में, इसका उपयोग 3डी मॉडल सेविंग ऑपरेशंस से संबंधित त्रुटियों को पकड़ने के लिए किया जाता है, जैसे अमान्य पैकेज फ़ॉर्मेटिंग या 3डी मॉडल संरचना के भीतर समस्याएं।

स्क्रिप्ट कैसे काम करती हैं और COMException समस्या का समाधान कैसे करती हैं

स्क्रिप्ट का मूल एक 3डी मॉडल को एक पैकेज प्रारूप में सहेजने पर केंद्रित है जिसका उपयोग 3डी प्रिंटिंग अनुप्रयोगों में किया जा सकता है। मुख्य ऑपरेशन का उपयोग है SaveModelToPackageAsync 3D मॉडल को 3MF पैकेज में एसिंक्रोनस रूप से सहेजने की विधि। यह विधि 3डी मॉडल की पैकेजिंग के लिए आवश्यक है, जिससे इसे डिस्क पर सहेजने या आगे की प्रक्रिया के लिए तैयार किया जा सके। हालाँकि, चुनौती तब उत्पन्न होती है जब a COMअपवाद ऐसा आमतौर पर मॉडल के मेश या पैकेज फ़ॉर्मेटिंग में समस्याओं के कारण होता है। स्क्रिप्ट पहले यह सुनिश्चित करके इससे निपटती है कि जाल वैध है, और उसके बाद ही सेव ऑपरेशन के साथ आगे बढ़ती है।

स्क्रिप्ट का पहला भाग एक नई शुरुआत करता है मुद्रण3D3MFपैकेज और ए प्रिंटिंग3डीमॉडल, जो प्राथमिक वस्तु है जिसे सहेजा जाएगा। फिर मॉडल का मेटाडेटा शीर्षक, डिज़ाइनर और निर्माण तिथि जैसे आवश्यक विवरणों से भर जाता है। ये मेटाडेटा प्रविष्टियाँ मॉडल को व्यवस्थित करने में मदद करती हैं, जिससे बाद में इसे पहचानना आसान हो जाता है। यहां एक महत्वपूर्ण कमांड मॉडल की इकाई को सेट कर रहा है Printing3DModelUnit.मिलीमीटर, जो सुनिश्चित करता है कि मॉडल को मिलीमीटर में 3डी प्रिंटिंग के लिए उचित रूप से स्केल किया जाएगा। यदि कोई इकाई सेट नहीं है, तो मॉडल को गलत तरीके से स्केल किया जा सकता है, जिससे मुद्रित होने पर समस्याएं हो सकती हैं।

अगला, ए प्रिंटिंग3डीमेश ऑब्जेक्ट बनाया गया है, जो 3डी मॉडल की ज्यामिति का प्रतिनिधित्व करता है। अतुल्यकालिक तरीकों का उपयोग करके जाल को शीर्षों और त्रिकोण सूचकांकों से भर दिया जाता है, GetVerticesAsync और SetTriangleIndicesAsync. ये विधियां महत्वपूर्ण हैं क्योंकि वे 3डी ऑब्जेक्ट की संरचना का प्रतिनिधित्व करने के लिए आवश्यक डेटा के साथ जाल को भरते हैं। इनके बिना, जाल अधूरा होगा, जिससे अमान्य या अप्राप्य मॉडल बनेंगे। के साथ जाल का सत्यापन VerifyAsync यह भी महत्वपूर्ण है - यह गैर-मैनिफोल्ड त्रिकोण या उलटे मानदंडों जैसी त्रुटियों के लिए जाल की जांच करता है, जो मॉडल को 3 डी प्रिंटिंग के लिए अनुपयोगी बना देगा। यदि मेश सत्यापन विफल हो जाता है, तो मॉडल को पैकेज में नहीं जोड़ा जाएगा, और एक अपवाद फेंक दिया जाएगा, जो यह संकेत देगा कि मेश वैध नहीं है।

एक बार जब जाल सत्यापन पास कर लेता है, तो इसे मॉडल में जोड़ दिया जाता है जाल संग्रह, और ए Printing3DComponent मॉडल के एक भाग का प्रतिनिधित्व करने के लिए बनाया गया है। यह घटक जाल को 3डी मॉडल से जोड़ता है, और फिर इसे मॉडल में जोड़ा जाता है अवयव संग्रह। प्रत्येक 3D मॉडल में कई घटक हो सकते हैं, जो ऑब्जेक्ट के विभिन्न भाग या अनुभाग हो सकते हैं। यह मॉड्यूलर दृष्टिकोण जटिल 3डी मॉडल से निपटने में सहायक होता है जो कई हिस्सों से बने होते हैं, जिससे मॉडल में हेरफेर करना और सहेजना आसान हो जाता है। मॉडल अब पैक करने और सहेजने के लिए तैयार है SaveModelToPackageAsync.

C# में SaveModelToPackageAsync के साथ COMException को संभालना

सी# - 3डी मॉडल सेविंग और हैंडलिंग COMExceptions

using System;using System.Threading.Tasks;using Windows.Graphics.Printing3D;public class ModelSaver{    public async Task SaveModel()    {        var localPackage = new Printing3D3MFPackage();        var model = await to3MFModel(0); // Load the model asynchronously        try        {            await localPackage.SaveModelToPackageAsync(model);        }        catch (COMException ex)        {            Console.WriteLine("Error saving model: " + ex.Message);            HandleCOMException(ex);        }    }    private void HandleCOMException(COMException ex)    {        // Specific error handling based on the exception type        if (ex.ErrorCode == unchecked((int)0x80004005)) // Common COM error code        {            Console.WriteLine("Error in 3D model processing. Please validate your mesh.");        }        else        {            Console.WriteLine("Unknown COM error: " + ex.Message);        }    }    private async Task<Printing3DModel> to3MFModel(int index = 0)    {        var localPackage = new Printing3D3MFPackage();        var model = new Printing3DModel();        model.Unit = Printing3DModelUnit.Millimeter;        model.Metadata.Add("Title", $"PuzzlePiece{index}");        model.Metadata.Add("Designer", "Cyrus Scholten");        model.Metadata.Add("CreationDate", DateTime.Today.ToString("MM/dd/yyyy"));                var mesh = new Printing3DMesh();        await GetVerticesAsync(mesh);        await SetTriangleIndicesAsync(mesh);        var verification = mesh.VerifyAsync(Printing3DMeshVerificationMode.FindAllErrors).GetResults();        if (verification.IsValid)        {            model.Meshes.Add(mesh);            Printing3DComponent component = new Printing3DComponent();            component.Mesh = mesh;            model.Components.Add(component);            return model;        }        Console.WriteLine("Mesh is not valid!");        foreach (var triangle in verification.NonmanifoldTriangles)        {            Console.WriteLine("Non-manifold triangle: " + triangle);        }        throw new Exception("Mesh is not valid!");    }    private async Task GetVerticesAsync(Printing3DMesh mesh)    {        // Async logic to retrieve vertices    }    private async Task SetTriangleIndicesAsync(Printing3DMesh mesh)    {        // Async logic to set triangle indices    }}

C# में मॉडल सत्यापन और बचत को अनुकूलित करना

सी# - 3डी मॉडल मेश और त्रुटि सत्यापन को संभालना

using System;using System.Threading.Tasks;using Windows.Graphics.Printing3D;public class OptimizedModelSaver{    public async Task SaveOptimizedModel()    {        var localPackage = new Printing3D3MFPackage();        var model = await Build3MFModel(0);        try        {            await localPackage.SaveModelToPackageAsync(model);        }        catch (COMException ex)        {            LogError(ex);            RetrySaveModel(localPackage, model); // Retry saving after handling error        }    }    private async Task<Printing3DModel> Build3MFModel(int index = 0)    {        var localPackage = new Printing3D3MFPackage();        var model = new Printing3DModel        {            Unit = Printing3DModelUnit.Millimeter        };        model.Metadata.Add("Title", $"PuzzlePiece{index}");        model.Metadata.Add("Designer", "Cyrus Scholten");        model.Metadata.Add("CreationDate", DateTime.Today.ToString("MM/dd/yyyy"));        var mesh = new Printing3DMesh();        await LoadMeshData(mesh);        var verification = await ValidateMeshAsync(mesh);        if (verification.IsValid)        {            model.Meshes.Add(mesh);            var component = new Printing3DComponent { Mesh = mesh };            model.Components.Add(component);            return model;        }        throw new InvalidOperationException("Mesh is invalid. Verify mesh data.");    }    private async Task<Printing3DMeshVerificationResults> ValidateMeshAsync(Printing3DMesh mesh)    {        return await mesh.VerifyAsync(Printing3DMeshVerificationMode.FindAllErrors).GetResults();    }    private async Task LoadMeshData(Printing3DMesh mesh)    {        // Load mesh vertices and triangle indices asynchronously    }    private void LogError(COMException ex)    {        Console.WriteLine("Error saving model: " + ex.Message);    }    private async Task RetrySaveModel(Printing3D3MFPackage localPackage, Printing3DModel model)    {        Console.WriteLine("Retrying model save...");        await Task.Delay(1000); // Delay before retry        await localPackage.SaveModelToPackageAsync(model);    }}

3डी मॉडल हैंडलिंग में प्रयुक्त प्रमुख प्रोग्रामिंग कमांड की व्याख्या

C# में 3D मॉडल सेविंग की जटिलताओं को समझना

3डी प्रिंटिंग और पैकेजिंग के साथ काम करते समय, सबसे महत्वपूर्ण कार्यों में से एक यह सुनिश्चित करना है कि आपके 3डी मॉडल न केवल वैध हैं बल्कि प्रिंटिंग के लिए उपयुक्त फ़ाइल प्रारूप में निर्यात के लिए भी तैयार हैं। SaveModelToPackageAsync इस उद्देश्य के लिए विधि का उपयोग किया जाता है, जिससे डेवलपर्स को 3D मॉडल को 3MF फ़ाइल प्रारूप में पैकेज करने की अनुमति मिलती है, जिसका व्यापक रूप से 3D प्रिंटिंग के लिए उपयोग किया जाता है। हालाँकि, इस ऑपरेशन के साथ सफलता प्राप्त करना हमेशा आसान नहीं होता है, खासकर जब त्रुटियों से निपटते समय COMअपवाद. इस अपवाद का एक सामान्य कारण मॉडल के जाल से संबंधित है, जो ऑब्जेक्ट का 3डी प्रतिनिधित्व है। यदि जाल वैध नहीं है, तो इससे COMException त्रुटि हो सकती है, जो मॉडल को ठीक से सहेजने से रोकती है।

C# में, मॉडल-निर्माण प्रक्रिया में कई प्रमुख चरण शामिल होते हैं। प्रारंभ में, ए प्रिंटिंग3डीमॉडल मेटाडेटा के साथ बनाया गया है जो बाद में मॉडल को व्यवस्थित करने और पहचानने में मदद करता है। इस प्रक्रिया के भाग के रूप में, 3D मॉडल के लिए सही इकाइयों का उपयोग करना आवश्यक है - आमतौर पर 3D प्रिंटिंग के लिए मिलीमीटर। यह सुनिश्चित करता है कि मुद्रित होने पर मॉडल सही आकार का होगा। इसके बाद, जाल शीर्षों और त्रिकोण सूचकांकों से भर जाता है, जो मॉडल की ज्यामिति का प्रतिनिधित्व करते हैं। जैसे अतुल्यकालिक तरीकों का उपयोग करना GetVerticesAsync और SetTriangleIndicesAsync यह सुनिश्चित करता है कि शेष एप्लिकेशन को अवरुद्ध किए बिना डेटा संसाधित किया गया है। एक बार जब जाल भर जाता है, तो इसका उपयोग करके त्रुटियों के लिए सत्यापन किया जाता है VerifyAsync तरीका। यदि जाल अमान्य है, जैसे कि गैर-मैनिफोल्ड त्रिकोण या उलटे मानक शामिल हैं, तो प्रक्रिया रोक दी जाती है, और ए COMअपवाद विफलता को इंगित करने के लिए फेंका गया है।

इस प्रक्रिया को सफलतापूर्वक संभालने के लिए, 3डी मॉडल सत्यापन के लिए सर्वोत्तम प्रथाओं का पालन करना महत्वपूर्ण है। का उपयोग VerifyAsync विधि आवश्यक है, क्योंकि यह गैर-मैनिफोल्ड ज्यामिति या उलटे मानदंडों जैसी सामान्य जाल त्रुटियों की जांच करती है। जब मॉडल को 3डी प्रिंटिंग के लिए तैयार किया जा रहा हो तो ये समस्याएं अक्सर समस्याएं पैदा कर सकती हैं। कुछ मामलों में, डेवलपर्स को यह सुनिश्चित करने के लिए जाल में बदलाव करने की आवश्यकता हो सकती है कि यह सत्यापन पास कर लेता है। यदि मॉडल सफलतापूर्वक सत्यापित हो जाता है, तो इसे पैकेज में जोड़ा जा सकता है और इसका उपयोग करके सहेजा जा सकता है SaveModelToPackageAsync तरीका। यह दो-चरणीय सत्यापन और बचत प्रक्रिया यह सुनिश्चित करती है कि मॉडल 3डी प्रिंटिंग संदर्भ में सही और प्रयोग करने योग्य दोनों है।

अक्सर पूछे जाने वाले प्रश्नों

  1. क्या है SaveModelToPackageAsync विधि का प्रयोग किसके लिए किया जाता है?
  2. SaveModelToPackageAsync 3D मॉडल को 3MF पैकेज में सहेजने के लिए विधि का उपयोग किया जाता है, जिसका उपयोग 3D प्रिंटिंग के लिए किया जा सकता है।
  3. मुझे क्यों मिलता है? COMException कॉल करते समय SaveModelToPackageAsync?
  4. COMException आम तौर पर तब होता है जब 3डी मॉडल के जाल में समस्याएं होती हैं, जैसे गैर-मैनिफोल्ड त्रिकोण या उलटे मानक।
  5. का उद्देश्य क्या है VerifyAsync तरीका?
  6. VerifyAsync विधि गैर-मैनिफोल्ड ज्यामिति या उलटे मानदंडों जैसी त्रुटियों के लिए 3डी मॉडल के जाल की जांच करती है जो सफल पैकेजिंग को रोक सकती है।
  7. यदि जाल अमान्य है तो क्या होगा?
  8. यदि जाल अमान्य है, तो मॉडल को पैकेज में नहीं जोड़ा जा सकता है, और COMException फेंक दिया जाता है.
  9. मैं यह कैसे सुनिश्चित करूँ कि मेरा जाल वैध है?
  10. आप इसका उपयोग कर सकते हैं VerifyAsync सामान्य जाल समस्याओं, जैसे गैर-मैनिफोल्ड ज्यामिति या उलटे मानदंडों की जांच करने और मॉडल को सहेजने से पहले उन्हें ठीक करने की विधि।
  11. क्या मैं 3MF के स्थान पर अन्य 3D फ़ाइल स्वरूपों का उपयोग कर सकता हूँ?
  12. हां, आप 3डी प्रिंटिंग के लिए अन्य फ़ाइल स्वरूपों का उपयोग कर सकते हैं, लेकिन 3MF प्रारूप को प्राथमिकता दी जाती है क्योंकि यह समृद्ध मेटाडेटा का समर्थन करता है और 3डी प्रिंटिंग वर्कफ़्लो के लिए अनुकूलित है।
  13. की क्या भूमिका है Printing3DModel स्क्रिप्ट में?
  14. Printing3DModel 3D ऑब्जेक्ट का प्रतिनिधित्व करता है, जिसमें इसके मेटाडेटा, ज्यामिति (मेष), और घटक शामिल हैं, जो सभी 3MF पैकेज में सहेजे गए हैं।
  15. क्या मैं 3D मॉडल के लिए विभिन्न इकाइयों का उपयोग कर सकता हूँ?
  16. हां, लेकिन सही स्केल सुनिश्चित करने के लिए 3डी प्रिंटिंग के लिए मॉडल तैयार करते समय इकाई के रूप में मिलीमीटर का उपयोग करने की अनुशंसा की जाती है।

अंतिम विचार:

संक्षेप में, इससे बचने के लिए COMअपवाद उपयोग करते समय SaveModelToPackageAsync, जाल को मान्य करना आवश्यक है। डिफ़ॉल्ट मेश सेटिंग्स पर भरोसा करना पर्याप्त नहीं है; मॉडल को सहेजने का प्रयास करने से पहले गैर-मैनिफोल्ड त्रिकोणों और उलटे मानदंडों की पूरी तरह से जांच की जानी चाहिए।

जैसे उपकरणों का उपयोग करके VerifyAsync, डेवलपर्स यह सुनिश्चित कर सकते हैं कि उनके 3डी मॉडल सफल पैकेजिंग के लिए आवश्यक विशिष्टताओं को पूरा करते हैं। प्रक्रिया की शुरुआत में ही समस्याओं का समाधान करने से रनटाइम त्रुटियों से बचने में मदद मिलती है और 3डी प्रिंटिंग के लिए मॉडल तैयार करते समय अधिक कुशल वर्कफ़्लो होता है। 🖨️

स्रोत और सन्दर्भ
  1. C# का उपयोग करके मेश सत्यापन और 3D मॉडल पैकेजिंग को कैसे संभालना है इसका एक सिंहावलोकन प्रदान करता है। अधिक जानकारी के लिए, आधिकारिक Microsoft दस्तावेज़ देखें Printing3DPackage दस्तावेज़ीकरण .
  2. के साथ काम करने की गहन व्याख्या प्रिंटिंग3डीमॉडल और 3डी प्रिंटिंग के लिए विंडोज एपीआई में मेश सत्यापन विधियां। आगे जानें Printing3DModel दस्तावेज़ीकरण .
  3. समस्या निवारण के लिए COMअपवाद त्रुटियाँ और जाल सत्यापन को समझना, देखें COMअपवाद दस्तावेज़ीकरण समाधान और सामान्य समाधान के लिए.