Bitbybit Docs
    Preparing search index...

    Class ManifoldCrossSection

    المخططات الخارجية المسطحة في نواة Manifold، الأشكال ثنائية الأبعاد التي يحولها operations.extrude و operations.revolve إلى مجسمات صلبة ويقتطعها slice و project منها. المقطع العرضي مضلع مغلق أو أكثر في المستوى XY، بما في ذلك الثقوب؛ يبنيها shapes، ويدمجها booleans، ويزيحها operations ويغلفها ويبثقها، وينقلها transforms ويقيسها evaluate. تحول الدوال هنا بين المقاطع العرضية وقوائم النقاط البسيطة، وتحرر الذاكرة التي يحجزها المقطع العرضي.

    Index

    Constructors

    Properties

    create

    • يبني مقطعا عرضيا من مضلع واحد معطى كنقاط؛ لا يُستخدم سوى X و Y لكل نقطة.

      fillRule يقرر أي مناطق المضلع المتقاطع ذاتيا تُعد داخلية؛ removeDuplicates يحذف النقاط المتتالية المتكررة ضمن tolerance أولا.

      Parameters

      Returns Promise<CrossSectionPointer>

      المقطع العرضي

      const outline = await bitbybit.manifold.crossSection.crossSectionFromPoints({
      points: [[0, 0, 0], [10, 0, 0], [10, 10, 0], [0, 10, 0]],
      fillRule: Bit.Inputs.Manifold.fillRuleEnum.positive,
      removeDuplicates: false,
      tolerance: 1e-7,
      });
    • يبني مقطعا عرضيا من عدة مضلعات معطاة كنقاط، مثلا خط خارجي وثقوبه؛ لا يُستخدم سوى X و Y لكل نقطة.

      fillRule يقرر أي المناطق تُعد داخلية حيث تتداخل المضلعات؛ removeDuplicates يحذف النقاط المتتالية المتكررة ضمن tolerance أولا.

      Parameters

      Returns Promise<CrossSectionPointer>

      المقطع العرضي

      const plate = await bitbybit.manifold.crossSection.crossSectionFromPolygons({
      polygonPoints: [outerPoints, holePoints],
      fillRule: Bit.Inputs.Manifold.fillRuleEnum.evenOdd,
      removeDuplicates: false,
      tolerance: 1e-7,
      });

    decompose

    • يقرأ مقطعا عرضيا مجددا كمضلعاته، كل منها قائمة نقاط ثنائية الأبعاد.

      Parameters

      Returns Promise<Vector2[][]>

      قائمة واحدة من النقاط ثنائية الأبعاد لكل مضلع

      const polygons = await bitbybit.manifold.crossSection.crossSectionToPolygons({ crossSection: outline });
      
    • يقرأ مقطعا عرضيا مجددا كمضلعاته بنقاط ثلاثية الأبعاد، مع Z مساوية لـ 0، جاهزة للرسم كخطوط متعددة الأضلاع.

      Parameters

      Returns Promise<Point3[][]>

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

      const polylines = await bitbybit.manifold.crossSection.crossSectionToPoints({ crossSection: outline });
      
    • يقرأ عدة مقاطع عرضية مجددا كمضلعاتها، كما تفعل crossSectionToPolygons لواحد.

      Parameters

      Returns Promise<Vector2[][][]>

      قائمة مضلعات واحدة لكل مقطع عرضي، بالترتيب نفسه

      const polygons = await bitbybit.manifold.crossSection.crossSectionsToPolygons({ crossSections: [outline, hole] });
      
    • يقرأ عدة مقاطع عرضية مجددا كمضلعات بنقاط ثلاثية الأبعاد، كما تفعل crossSectionToPoints لواحد.

      Parameters

      Returns Promise<number[][][][]>

      قائمة واحدة من مضلعات النقاط لكل مقطع عرضي، بالترتيب نفسه

      const polylines = await bitbybit.manifold.crossSection.crossSectionsToPoints({ crossSections: [outline, hole] });