Bitbybit Docs
    Preparing search index...

    Class CrossSectionOperations

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

    Index

    Constructors

    basic

    • يلف مقطعا عرضيا في غلافه المحدب، أصغر خط خارجي بلا انبعاجات يحويه، مثل شريط مطاطي مشدود حوله.

      Parameters

      Returns Promise<CrossSectionPointer>

      الغلاف المحدب

      const wrapped = await bitbybit.manifold.crossSection.operations.hull({ crossSection: outline });
      
    • يكسح مقطعا عرضيا على طول Z إلى مجسم صلب بالارتفاع المعطى.

      twistDegrees يدير القمة بالنسبة إلى القاعدة، و scaleTopX و scaleTopY يقلصانها أو يكبرانها، و nDivisions يضيف مقاطع بينهما حتى تبقى الالتواءات والتدرجات ناعمة؛ 0 لكلا تحجيمي القمة يصنع مخروطا. center يمركز المجسم الصلب على مستوى XY بدلا من إيقافه عليه.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المبثوق

      const twisted = await bitbybit.manifold.crossSection.operations.extrude({ crossSection: square, height: 20, nDivisions: 20, twistDegrees: 90, scaleTopX: 0.5, scaleTopY: 0.5, center: false });
      
    • يدوّر مقطعا عرضيا حول محور Y إلى مجسم صلب، مثل مخرطة؛ لا يُستخدم سوى جزء الخط الخارجي الواقع على جانب X الموجب.

      revolveDegrees الأقل من 360 يعطي دورة جزئية و circularSegments يحدد مدى استدارة النتيجة. تقيم النواة النتيجة على طول Z؛ matchProfile، وهو true افتراضيا، يعيدها لتطابق المقطع.

      Parameters

      Returns Promise<ManifoldPointer>

      المجسم الصلب المدوّر حول المحور

      const vase = await bitbybit.manifold.crossSection.operations.revolve({ crossSection: profile, revolveDegrees: 360, circularSegments: 64, matchProfile: true });
      
    • يحرك الخط الخارجي لمقطع عرضي إلى الخارج بمقدار delta، أو إلى الداخل لقيمة delta سالبة، بحيث ينمو الحد الخارجي ويتقلص الثقب.

      joinType يحدد كيفية معالجة الزوايا: مستديرة، أو مقصوصة مربعة، أو مشطوبة، أو مشطوفة؛ miterLimit يحد مدى امتداد الزاوية المشطوبة و circularSegments مدى استدارة الزاوية المستديرة. simplify بعده ينظف القطع الدقيقة.

      Parameters

      Returns Promise<CrossSectionPointer>

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

      const bigger = await bitbybit.manifold.crossSection.operations.offset({ crossSection: outline, delta: 1, joinType: Bit.Inputs.Manifold.manifoldJoinTypeEnum.round, miterLimit: 2, circularSegments: 32 });
      
    • يزيل نقاط مقطع عرضي الواقعة ضمن epsilon من الخط الواصل بين جارتيها، حاذفا شبه المكررات والنقاط المتسامتة.

      قيمة epsilon الأكبر تزيل أكثر؛ شغّله بعد offset لتنظيف القطع الدقيقة التي تخلفها الإزاحة.

      Parameters

      Returns Promise<CrossSectionPointer>

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

      const cleaner = await bitbybit.manifold.crossSection.operations.simplify({ crossSection: offsetOutline, epsilon: 1e-4 });
      

    composition

    • يجمع عدة مقاطع عرضية أو مضلعات في مقطع عرضي واحد دون دمجها، عكس decompose.

      Parameters

      Returns Promise<CrossSectionPointer>

      مقطع عرضي واحد يحويها جميعا

      const packed = await bitbybit.manifold.crossSection.operations.compose({ polygons: [square, disc] });
      
    • يقسم مقطعا عرضيا إلى خطوطه الخارجية المنفصلة غير المتصلة، كل منها بثقوبه الخاصة، عكس compose.

      Parameters

      Returns Promise<CrossSectionPointer[]>

      المخططات الخارجية المنفصلة

      const pieces = await bitbybit.manifold.crossSection.operations.decompose({ crossSection: packed });