Bitbybit Docs
    Preparing search index...

    Class OCCTAssemblyManager

    असेंबली दस्तावेज़ बनाना और बदलना: पार्ट्स, असेंबली नोड्स और इंस्टेंस नोड्स को एक-एक ऑब्जेक्ट करके वर्णित करें, उन्हें एक संरचना में संयोजित करें, और उससे दस्तावेज़ बनाएँ; या STEP फ़ाइल को दस्तावेज़ में लोड करें। फिर लेबलों का रंग और नाम बदलें, पार्ट्स को अपडेट करें या हटाएँ, और STEP या glTF में निर्यात करें। दस्तावेज़ एक इन-मेमोरी हैंडल है जो हटाए जाने तक जीवित रहता है, इसलिए एक बार बनाएँ और जितनी बार चाहें क्वेरी या निर्यात करें।

    Index

    Constructors

    Methods

    • दूसरे दस्तावेज़ से लिए गए पार्ट का वर्णन करता है, आमतौर पर STEP से लोड किए गए, ताकि उप-असेंबलियों, नामों और रंगों सहित उसका पूरा लेबल ट्री नई असेंबली में कॉपी हो।

      sourceDocumentIndex buildAssemblyDocument को दी गई sourceDocuments सूची में इशारा करता है, और sourceLabel पूरे दस्तावेज़ के बजाय एक उप-ट्री चुनता है। इंस्टेंस नोड उसे किसी भी पार्ट की तरह partId से रखते हैं।

      Parameters

      • inputs: CreateImportedPartDto

        पार्ट की id, स्रोत दस्तावेज़ का इंडेक्स, एक वैकल्पिक स्रोत लेबल, नाम और रंग

      Returns Promise<AssemblyLoadedPartDef>

      आयातित पार्ट परिभाषा, combineStructure के लिए तैयार

      const chairDoc = await bitbybit.occt.assembly.manager.loadStepToDoc({ stepData });
      const chair = await bitbybit.occt.assembly.manager.createImportedPart({ id: "chair", sourceDocumentIndex: 0, name: "Chair" });
      const c1 = await bitbybit.occt.assembly.manager.createInstanceNode({ id: "c1", partId: "chair", name: "Chair 1", translation: [0, 0, 0] });
      const c2 = await bitbybit.occt.assembly.manager.createInstanceNode({ id: "c2", partId: "chair", name: "Chair 2", translation: [500, 0, 0] });
      const structure = await bitbybit.occt.assembly.manager.combineStructure({ parts: [], nodes: [c1, c2], loadedParts: [chair], clearDocument: false });
      const doc = await bitbybit.occt.assembly.manager.buildAssemblyDocument({ structure, sourceDocuments: [chairDoc] });

    assembly

    • असेंबली संरचना के लिए पार्ट का वर्णन करता है: उसे संदर्भित करने के लिए एक id, उसका शेप, नाम और वैकल्पिक रंग।

      अभी कुछ नहीं बनता; पार्ट तभी वास्तविक बनता है जब उसे रखने वाली संरचना buildAssemblyDocument से गुज़रती है। इंस्टेंस नोड पार्ट को उसकी id से रखते हैं, जितनी बार चाहिए।

      Parameters

      Returns Promise<AssemblyPartDef<TopoDSShapePointer>>

      पार्ट परिभाषा, combineStructure के लिए तैयार

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 10, height: 10, center: [0, 0, 0] });
      const part = await bitbybit.occt.assembly.manager.createPart({ id: "box", shape: box, name: "Box", colorRgba: { r: 1, g: 0, b: 0, a: 1 } });
    • असेंबली नोड का वर्णन करता है, एक कंटेनर जो पदानुक्रम में इंस्टेंस और दूसरी असेंबलियों को समूहित करता है।

      parentId उस असेंबली का नाम देता है जिसमें वह बैठता है; रूट के लिए उसे छोड़ दें। वैकल्पिक मैट्रिक्स पूरे समूह को रखती है।

      Parameters

      • inputs: CreateAssemblyNodeDto

        नोड की id, उसका नाम, एक वैकल्पिक पैरेंट id, एक वैकल्पिक रंग और एक वैकल्पिक प्लेसमेंट मैट्रिक्स

      Returns Promise<AssemblyNodeDef>

      नोड परिभाषा, combineStructure के लिए तैयार

      const root = await bitbybit.occt.assembly.manager.createAssemblyNode({ id: "root", name: "Root Assembly" });
      const sub = await bitbybit.occt.assembly.manager.createAssemblyNode({ id: "sub", name: "Sub Assembly", parentId: "root" });
    • इंस्टेंस नोड का वर्णन करता है, पार्ट का एक प्लेसमेंट: partId से कौन-सा पार्ट, वह कहाँ जाता है और किस असेंबली के तहत।

      translation उसे हिलाता है, rotation उसे X, Y और Z के चारों ओर डिग्री में यूलर कोणों से घुमाता है, scale उसे समान रूप से आकार देता है; एक matrix तीनों की जगह ले सकती है। एक ही पार्ट कई इंस्टेंस से रखा जा सकता है।

      Parameters

      • inputs: CreateInstanceNodeDto

        नोड की id, पार्ट की id, नाम, एक वैकल्पिक पैरेंट id और प्लेसमेंट

      Returns Promise<AssemblyNodeDef>

      नोड परिभाषा, combineStructure के लिए तैयार

      const first = await bitbybit.occt.assembly.manager.createInstanceNode({ id: "box1", partId: "box", name: "Box 1" });
      const second = await bitbybit.occt.assembly.manager.createInstanceNode({ id: "box2", partId: "box", name: "Box 2", translation: [20, 0, 0], rotation: [0, 0, 45] });
    • दस्तावेज़ में पहले से मौजूद पार्ट में बदलाव का वर्णन करता है: नया शेप, नया नाम या नया रंग, या उनका कोई भी मिश्रण, पार्ट के लेबल से संबोधित।

      अपडेट को combineStructure में partUpdates के तहत इकट्ठा करें और संरचना को मौजूदा दस्तावेज़ के साथ buildAssemblyDocument को दें।

      Parameters

      Returns Promise<AssemblyPartUpdateDef<TopoDSShapePointer>>

      अपडेट परिभाषा, combineStructure के लिए तैयार

      const parts = await bitbybit.occt.assembly.query.getDocumentParts({ document: doc });
      const bigger = await bitbybit.occt.shapes.solid.createBox({ width: 20, length: 20, height: 20, center: [0, 0, 0] });
      const update = await bitbybit.occt.assembly.manager.createPartUpdate({ label: parts[0].label, shape: bigger, name: "Bigger Box" });
      const structure = await bitbybit.occt.assembly.manager.combineStructure({ parts: [], nodes: [], partUpdates: [update], clearDocument: false });
      await bitbybit.occt.assembly.manager.buildAssemblyDocument({ structure, existingDocument: doc });
    • पार्ट, नोड और, अपडेट के लिए, हटाव, पार्ट अपडेट और इंपोर्ट किए पार्ट को एक संरचना परिभाषा में इकट्ठा करता है, buildAssemblyDocument से पहले का अंतिम चरण।

      clearDocument false वह रखता है जो मौजूदा दस्तावेज़ में पहले से है जब संरचना उस पर लागू की जाती है।

      Parameters

      • inputs: CombineAssemblyStructureDto<TopoDSShapePointer>

        पार्ट्स, नोड्स, और वैकल्पिक हटाव, पार्ट अपडेट, आयातित पार्ट्स और clear फ़्लैग

      Returns Promise<AssemblyStructureDef<TopoDSShapePointer>>

      संरचना, बनाने के लिए तैयार

      const structure = await bitbybit.occt.assembly.manager.combineStructure({ parts: [part], nodes: [root, first, second], clearDocument: false });
      const doc = await bitbybit.occt.assembly.manager.buildAssemblyDocument({ structure });
    • संरचना से असेंबली दस्तावेज़ बनाता है, या संरचना को मौजूदा दस्तावेज़ पर लागू करता है।

      existingDocument के साथ पहले removals के लेबल हटाए जाते हैं, partUpdates लागू किए जाते हैं, फिर नए पार्ट और नोड जोड़े जाते हैं; जिस संरचना में दोनों में से कुछ नहीं वह दस्तावेज़ साफ़ करती है जब तक clearDocument false न हो। sourceDocuments वे दस्तावेज़ देता है जिनसे इंपोर्ट किए पार्ट कॉपी होते हैं। दस्तावेज़ हटाए जाने तक मेमोरी में रहता है।

      Parameters

      Returns Promise<TDocStdDocumentPointer>

      दस्तावेज़ हैंडल, नया या अपडेट किया गया

      Error if assembly building fails

      const structure = await bitbybit.occt.assembly.manager.combineStructure({ parts: [part], nodes: [root, first], clearDocument: false });
      const doc = await bitbybit.occt.assembly.manager.buildAssemblyDocument({ structure });
      const glb = await bitbybit.occt.assembly.manager.exportDocumentToGltf({ document: doc, meshDeflection: 0.1, meshAngle: 0.5, internalVerticesMode: false, controlSurfaceDeflection: false, mergeFaces: false, forceUVExport: false, fileName: "assembly.glb", tryDownload: false });
    • STEP फ़ाइल को नए असेंबली दस्तावेज़ में लोड करता है, उसके पार्ट, उप-असेंबलियों, नामों, रंगों और प्लेसमेंट के साथ।

      stepData फ़ाइल टेक्स्ट या बाइनरी के रूप में है; gzip-संपीड़ित STEP-Z भी स्वीकार है। जो फ़ाइल लोड नहीं की जा सकती वह त्रुटि फेंकती है। जिस इंस्टेंस को फ़ाइल बिना नाम छोड़ती है, जैसा SolidWorks करता है, उसे उस पार्ट का नाम मिलता है जिसे वह रखता है, और वही पार्ट उसके साथ दोहराए जाने पर उसमें क्रमांक जुड़ता है।

      Parameters

      Returns Promise<TDocStdDocumentPointer>

      दस्तावेज़ हैंडल

      Error if STEP loading fails

      const doc = await bitbybit.occt.assembly.manager.loadStepToDoc({ stepData: stepText });
      const parts = await bitbybit.occt.assembly.query.getDocumentParts({ document: doc });

    export

    • असेंबली दस्तावेज़ को उसके पदानुक्रम, नामों और रंगों के साथ STEP फ़ाइल के रूप में लिखता है, और फ़ाइल के बाइट लौटाता है।

      author और organization फ़ाइल हेडर में जाते हैं; compress इसके बजाय gzip-संपीड़ित STEP-Z लिखता है। विफलता त्रुटि फेंकती है।

      Parameters

      • inputs: ExportDocumentToStepDto<TDocStdDocumentPointer>

        दस्तावेज़, फ़ाइल का नाम, हेडर विवरण, संपीड़न फ़्लैग और डाउनलोड विकल्प

      Returns Promise<Uint8Array<ArrayBufferLike>>

      STEP फ़ाइल, बाइट्स के रूप में

      const step = await bitbybit.occt.assembly.manager.exportDocumentToStep({ document: doc, fileName: "assembly.step", author: "Bitbybit user", organization: "Bitbybit", compress: false, tryDownload: false });
      
    • असेंबली दस्तावेज़ का त्रिभुजन करता है और उसे बाइनरी glTF (GLB) के रूप में लिखता है, पदानुक्रम, नामों और रंगों को glTF नोड और मैटेरियल के रूप में रखते हुए।

      meshDeflection और meshAngle तय करते हैं कि वक्र सतहों का कितना बारीक त्रिभुजन हो; mergeFaces पार्ट के फेसेस को एक मेश में जोड़ता है। विफलता त्रुटि फेंकती है।

      Parameters

      • inputs: ExportDocumentToGltfDto<TDocStdDocumentPointer>

        दस्तावेज़, मेशिंग सेटिंग्स, निर्यात फ़्लैग, फ़ाइल का नाम और डाउनलोड विकल्प

      Returns Promise<Uint8Array<ArrayBufferLike>>

      GLB फ़ाइल, बाइट्स के रूप में

      const glb = await bitbybit.occt.assembly.manager.exportDocumentToGltf({ document: doc, meshDeflection: 0.1, meshAngle: 0.5, internalVerticesMode: false, controlSurfaceDeflection: false, mergeFaces: false, forceUVExport: false, fileName: "assembly.glb", tryDownload: false });
      
    • असेंबली दस्तावेज़ को exportDocumentToGltf की तरह बाइनरी glTF (GLB) के रूप में लिखता है और ज्यामिति को Draco से संपीड़ित करता है, जो Draco-सक्षम लोडर की कीमत पर फ़ाइल को बहुत छोटा बनाता है।

      Draco सेटिंग संपीड़न स्तर और यह तय करती हैं कि पोज़िशन, नॉर्मल, टेक्सचर निर्देशांक और रंग कितने बिट रखते हैं।

      Parameters

      Returns Promise<Uint8Array<ArrayBufferLike>>

      GLB फ़ाइल, बाइट्स के रूप में

      const options = new Bit.Inputs.OCCT.ExportDocumentToGltfWithDracoDto<Bit.Inputs.OCCT.TDocStdDocumentPointer>();
      options.document = doc;
      options.meshDeflection = 0.1;
      options.dracoCompressionLevel = 7;
      const glb = await bitbybit.occt.assembly.manager.exportDocumentToGltfWithDraco(options);

    lifecycle

    • असेंबली दस्तावेज़ हटाता है और उसके द्वारा रखी मेमोरी मुक्त करता है।

      buildAssemblyDocument से बनाया या loadStepToDoc से लोड किया दस्तावेज़ इसे कॉल किए जाने तक मेमोरी में रहता है, इसलिए उसके शेप्स और निर्यात पढ़ लेने के बाद उसे हटा दें।

      Parameters

      Returns Promise<void>

      कुछ नहीं; उसके बाद दस्तावेज़ हैंडल मान्य नहीं रहता

      const doc = await bitbybit.occt.assembly.manager.buildAssemblyDocument({ structure });
      const glb = await bitbybit.occt.assembly.manager.exportDocumentToGltf({ document: doc, meshDeflection: 0.1, meshAngle: 0.5, internalVerticesMode: false, controlSurfaceDeflection: false, mergeFaces: false, forceUVExport: false, fileName: "assembly.glb", tryDownload: false });
      await bitbybit.occt.assembly.manager.deleteDocument({ document: doc });

    modify

    • दस्तावेज़ के लेबल, पार्ट, इंस्टेंस या असेंबली, को 0 से 1 तक लाल, हरे, नीले और अल्फ़ा से रंगता है।

      दस्तावेज़ को STEP या glTF में निर्यात करने पर रंग रखा जाता है।

      Parameters

      Returns Promise<boolean>

      true जब रंग सेट हो गया हो

      const done = await bitbybit.occt.assembly.manager.setDocLabelColor({ document: doc, label: "0:1:1:1", r: 1, g: 0, b: 0, a: 1 });
      
    • दस्तावेज़ के लेबल, पार्ट, इंस्टेंस या असेंबली, का नाम बदलता है।

      Parameters

      Returns Promise<boolean>

      true जब नाम सेट हो गया हो

      const done = await bitbybit.occt.assembly.manager.setDocLabelName({ document: doc, label: "0:1:1:1", name: "Left bracket" });