Bitbybit Docs
    Preparing search index...

    Class OCCTBooleans

    دمج أشكال OpenCascade بعضها مع بعض: يدمجها الاتحاد في شكل واحد، ويقطع الطرح شكلا من آخر، ويحتفظ التقاطع بما تشترك فيه فقط. تعمل هذه على الهندسة الدقيقة وتعطي نتائج دقيقة. أما دوال تقاطع الشبكات فتثلث الأشكال وتقاطع المثلثات، وهو أسرع وأكثر متانة على الهندسة الصعبة لكنه يعطي خطوطا متعددة الأضلاع بدلا من منحنيات. تعيد كل دالة شكلا جديدا؛ وما لم يُضبط keepEdges، تدمج الأوجه التي تنتهي واقعة على سطح واحد وتزال خطوط الالتحام بينها.

    Index

    Constructors

    booleans

    • يدمج عدة أشكال في شكل واحد، كما تصبح كتلتا طين متداخلتان كتلة واحدة.

      تُدمج الأشكال واحدا تلو الآخر بترتيب القائمة. مع keepEdges هو false، الافتراضي، تُدمج الأوجه التي تنتهي على سطح واحد وتُزال الدروز؛ و true يبقي كل حافة من حواف المدخلات.

      Parameters

      • inputs: UnionDto<TopoDSShapePointer>

        الأشكال المراد دمجها وما إذا كان يحتفظ بحواف الالتحام

      Returns Promise<TopoDSShapePointer>

      الشكل المدمج

      const fused = await bitbybit.occt.booleans.union({ shapes: [box, cylinder], keepEdges: false });
      
    • يطرح أشكالا من شكل رئيسي، كما يزيل المثقاب المادة: ما يتبقى هو الشكل الرئيسي ناقص كل شكل في القائمة.

      تُطرح الأشكال واحدا تلو الآخر. مع keepEdges هو false، الافتراضي، تُدمج الأوجه المتبقية على سطح واحد؛ وعندما يتبقى مجسم صلب واحد بالضبط يُعاد وحده لا داخل مركب.

      Parameters

      • inputs: DifferenceDto<TopoDSShapePointer>

        الشكل الرئيسي والأشكال المراد طرحها وما إذا كان يحتفظ بحواف الالتحام

      Returns Promise<TopoDSShapePointer>

      ما تبقى من الشكل الرئيسي

      const holed = await bitbybit.occt.booleans.difference({ shape: box, shapes: [cylinder], keepEdges: false });
      
    • يحتفظ فقط بالحجم الذي يشترك فيه الشكل الأول مع كل من الأشكال الأخرى.

      يُقاطع الشكل الأول مع كل شكل آخر واحدا تلو الآخر وتعود القطع في مركب واحد: مع ثلاثة أشكال تحصل على تداخل الأول مع الثاني ومع الثالث، لا تداخل الثلاثة جميعا. أقل من شكلين يرمي خطأ.

      Parameters

      • inputs: IntersectionDto<TopoDSShapePointer>

        الأشكال، وأولها هو الذي يتقاطع مع البقية، وما إذا كان يحتفظ بحواف الالتحام

      Returns Promise<TopoDSShapePointer>

      مركب من الأجزاء المشتركة

      const common = await bitbybit.occt.booleans.intersection({ shapes: [box, sphere], keepEdges: false });
      

    mesh based

    • يجد أين يتقاطع سطحا شكلين بتثليث الاثنين ومقاطعة المثلثات، ويعيد خطوط التقاطع كأسلاك.

      لكل شكل دقة تشبيكه الخاصة: القيمة الأصغر تتبع الأسطح المنحنية عن قرب أكثر وتستغرق وقتا أطول. الأسلاك خطوط متعددة الأضلاع، فهي تتتبع التقاطع تقريبيا؛ والمنحنيات الدقيقة تأتي من intersection مع الأوجه.

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      خطوط التقاطع كأسلاك متعددة الأضلاع

      const seams = await bitbybit.occt.booleans.meshMeshIntersectionWires({ shape1: sphere, shape2: box, precision1: 0.01, precision2: 0.01 });
      
    • يجد أين يتقاطع سطحا شكلين بتثليث الاثنين ومقاطعة المثلثات، ويعيد خطوط التقاطع كقوائم نقاط.

      لكل شكل دقة تشبيكه الخاصة: القيمة الأصغر تتبع الأسطح المنحنية عن قرب أكثر وتستغرق وقتا أطول. كل قائمة نقاط هي خط تقاطع واحد، بالترتيب على طوله.

      Parameters

      Returns Promise<Point3[][]>

      قائمة نقاط واحدة لكل خط تقاطع

      const lines = await bitbybit.occt.booleans.meshMeshIntersectionPoints({ shape1: sphere, shape2: box, precision1: 0.01, precision2: 0.01 });
      
    • يجد أين يتقاطع سطح شكل واحد مع أسطح عدة أشكال أخرى بتثليثها جميعا ومقاطعة المثلثات، ويعيد خطوط التقاطع كأسلاك.

      precision يشبّك الشكل الرئيسي و precisionShapes يعطي دقة واحدة لكل شكل آخر؛ القيم الأصغر تتبع المنحنيات عن قرب أكثر وتستغرق وقتا أطول.

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      خطوط التقاطع كأسلاك متعددة الأضلاع، لجميع الأشكال معا

      const seams = await bitbybit.occt.booleans.meshMeshIntersectionOfShapesWires({ shape: sphere, shapes: [box, cylinder], precision: 0.01, precisionShapes: [0.01, 0.01] });
      
    • يجد أين يتقاطع سطح شكل واحد مع أسطح عدة أشكال أخرى بتثليثها جميعا ومقاطعة المثلثات، ويعيد خطوط التقاطع كقوائم نقاط.

      precision يشبّك الشكل الرئيسي و precisionShapes يعطي دقة واحدة لكل شكل آخر؛ كل قائمة نقاط هي خط تقاطع واحد، بالترتيب على طوله.

      Parameters

      Returns Promise<Point3[][]>

      قائمة نقاط واحدة لكل خط تقاطع، لجميع الأشكال معا

      const lines = await bitbybit.occt.booleans.meshMeshIntersectionOfShapesPoints({ shape: sphere, shapes: [box, cylinder], precision: 0.01, precisionShapes: [0.01, 0.01] });